Εργαλειοθήκη Εκπαιδευτικού
-
Ο Σκοπός αυτής της Δραστηριότητας
Αυτή η δραστηριότητα θα εισαγάγει τους μαθητές στη χρήση των εντολών while και if then ώστε το ρομπότ να κινηθεί προς τα εμπρός, εκτός εάν πατηθεί η οθόνη.
-
Αυτή η δραστηριότητα θα εισαγάγει τους μαθητές στις υποθετικές εκφράσεις και στις οδηγίες που κάνουν το ρομπότ να κινείται προς τα εμπρός, εκτός εάν πατηθεί η οθόνη.
-
Για περισσότερες πληροφορίες σχετικά με τις εντολές if then και if then else ή άλλες που χρησιμοποιούνται σε αυτήν τη δραστηριότητα, επισκεφθείτε τις πληροφορίες βοήθειας στο VEXcode V5. Για περισσότερες πληροφορίες σχετικά με αυτό το ενσωματωμένο εργαλείο βοήθειας, ανατρέξτε σε αυτά τα άρθρα σχετικά με τη βοήθεια στην C++ .
Εργαλειοθήκη Δασκάλου
Για προτάσεις σχετικά με στρατηγικές διδασκαλίας για αυτήν την ενότητα, ανατρέξτε στη στήλη Παράδοση του Οδηγού Ρυθμού To Do or Not to Do! (Google Doc / .docx / .pdf)
Το Clawbot είναι έτοιμο να πάρει αποφάσεις!
Αυτή η εξερεύνηση θα σας δώσει τα εργαλεία για να ξεκινήσετε να δημιουργείτε μερικά ενδιαφέροντα έργα που χρησιμοποιούν την εντολή if then else .
- Εντολές VEXcode V5 C++ που θα χρησιμοποιηθούν σε αυτήν την εξερεύνηση:
- Σύστημα μετάδοσης κίνησης.κίνηση(προς τα εμπρός);
- Brain.Screen.pressing()
- Σύστημα μετάδοσης κίνησης.stop();
- αν (συνθήκη){}
- περιμένω μέχρι();
- ενώ (συνθήκη){}
- αναμονή(1, δευτερόλεπτα);
Μπορείτε να χρησιμοποιήσετε τις πληροφορίες βοήθειας που βρίσκονται μέσα στο VEXcode V5 για να μάθετε περισσότερα σχετικά με τις οδηγίες C++.
Βεβαιωθείτε ότι έχετε έτοιμα τα απαραίτητα υλικά, το σημειωματάριο μηχανικής σας και το VEXcode V5.
| Ποσότητα | Απαιτούμενα υλικά |
|---|---|
| 1 |
Κιτ εκκίνησης για την τάξη VEX V5 (με ενημερωμένο υλικολογισμικό) |
| 1 |
VEXcode V5 (τελευταία έκδοση, Windows, macOS) |
| 1 |
Σημειωματάριο Μηχανικής |
| 1 |
Πρότυπο Clawbot (Σύστημα μετάδοσης κίνησης 2 κινητήρων, χωρίς γυροσκόπιο) |
Συμβουλές για τους Δασκάλους
Εάν αυτή είναι η πρώτη φορά που ο μαθητής χρησιμοποιεί το VEXcode V5, μπορεί να ανατρέξει στα Tutorials οποιαδήποτε στιγμή κατά τη διάρκεια αυτής της εξερεύνησης. Τα Tutorials βρίσκονται στη γραμμή εργαλείων.

Βήμα 1: Ας ξεκινήσουμε με την κατανόηση των υπό όρους δηλώσεων
Πριν ξεκινήσετε τον προγραμματισμό με υποθετικές εκφράσεις, διαβάστε το άρθρο της Βιβλιοθήκης VEX που εξηγεί τις Δηλώσεις If Then Else . Το άρθρο μπορεί να βρεθεί εδώ.
Για μια λίστα με τους τελεστές που θα χρησιμοποιηθούν στις εντολές If Then Else , διαβάστε το άρθρο της βιβλιοθήκης VEX που εξηγεί τους Booleans. Αυτό το άρθρο μπορεί να βρεθεί εδώ.
Βήμα 2: Ας ξεκινήσουμε τον προγραμματισμό με εντολές υπό όρους.
-
Ανοίξτε το παράδειγμα έργου προτύπου Clawbot (Σύστημα μετάδοσης κίνησης 2 κινητήρων, Χωρίς γυροσκόπιο).

- Κατασκευάστε το παρακάτω έργο.
// Έναρξη κώδικα έργου
int main() {
// Αρχικοποίηση διαμόρφωσης ρομπότ. ΜΗΝ ΤΟ ΑΦΑΙΡΕΙΤΕ!
vexcodeInit();
ενώ (αληθές) {
Drivetrain.drive(forward);
if (Brain.Screen.pressing()) {
Drivetrain.stop();
waitUntil(!Brain.Screen.pressing());
}
}
} Κάντε τα εξής στο σημειωματάριο μηχανικής σας:
- Εξηγήστε τι κάνει το Clawbot στο πλαίσιο του έργου. Θα χρειαστεί να εξηγήσετε περισσότερα από το γεγονός ότι δημιουργεί ένα κουμπί διακοπής. Εξηγήστε ποιες οδηγίες κάνουν το Clawbot να κάνει τι.
- Γράψτε μια περίληψη σε μία πρόταση που να αποτυπώνει τι κάνει το έργο.
- Δοκιμάστε να δείτε αν η πρόβλεψή σας για το τι έχει να κάνει το Clawbot στο πλαίσιο του έργου είναι σωστή.
- Αποθηκεύστε και κατεβάστε το έργο ως CreatingAStopButton στην υποδοχή 1 στο Clawbot και, στη συνέχεια, εκτελέστε το.
- Για βοήθεια σχετικά με τη λήψη ενός έργου, ανατρέξτε στο σεμινάριο στο VEXcode V5 που εξηγεί να κάνετε λήψη και εκτέλεση ενός έργου (C++).
- Ελέγξτε τις εξηγήσεις σας για το έργο και προσθέστε σημειώσεις για να τις διορθώσετε, όπως απαιτείται.
Εργαλειοθήκη Δασκάλου
-
Απαντήσεις
Σε αυτό το έργο, το ρομπότ κινείται συνεχώς προς τα εμπρός, αλλά σταματάει αν πατηθεί η οθόνη. Αυτό επιτυγχάνεται χρησιμοποιώντας μια εντολή forever για συνεχή οδήγηση και έλεγχο. Εάν πατηθεί η οθόνη (TRUE), τότε το Clawbot σταματά να οδηγεί.
Δεν αναμένεται από τους μαθητές να κατανοήσουν γιατί χρησιμοποιείται η εντολή waitUntil (). Εξηγήστε ότι η εντολή waitUntil () είναι απαραίτητη λόγω της ταχύτητας ροής του προγράμματος του ρομπότ. Αν δεν ήταν εκεί, οι κινητήρες του Clawbot θα συμπεριφέρονταν σαν ο χρήστης να πατούσε την οθόνη ξανά και ξανά καθώς εκτελούσε κύκλο στο έργο. Αντίθετα, η εντολή waitUntil() σταματά τη ροή του προγράμματος και δεν κάνει το έργο να ξεκινήσει ξανά τον βρόχο forever μέχρι ο χρήστης να σταματήσει να πατάει την οθόνη.
Η γραμμή ψευδοκώδικα θα μπορούσε να είναι τόσο απλή όσο: Οδηγήστε προς τα εμπρός μέχρι να πατήσετε την οθόνη.
Τα σημειωματάρια μηχανικής των μαθητών μπορούν να διατηρούνται και να βαθμολογούνται ατομικά (Google Doc / .docx / .pdf) ή ως ομάδα (Google Doc / .docx / .pdf). Οι προηγούμενοι σύνδεσμοι παρέχουν διαφορετική ρουμπρίκα για κάθε προσέγγιση. Κάθε φορά που μια ρουμπρίκα περιλαμβάνεται στον εκπαιδευτικό σχεδιασμό, είναι καλή πρακτική να εξηγείται η ρουμπρίκα ή τουλάχιστον να δίνονται αντίγραφα στους μαθητές πριν από την έναρξη της δραστηριότητας.
Βήμα 3: Κατανόηση της εντολής wait until() .
Παρατηρήστε ότι αν πατηθεί η οθόνη του Brain, η ροή του έργου κινείται γρήγορα και το έργο θα μετακινηθεί στην επόμενη εντολή, η οποία είναι η εντολή Drivetrain.stop() .
Έτσι, το έργο χρειάζεται μια εντολή waitUntil() που λέει στο ρομπότ να παραμείνει σταματημένο μέχρι να απελευθερωθεί η οθόνη του εγκεφάλου. Διαφορετικά, η εντολή forever θα προκαλούσε την επανεκκίνηση του έργου.
περιμένω μέχρι(!Brain.Screen.pressing());Η εντολή waitUntil() είναι απαραίτητη λόγω της ταχύτητας ροής του έργου. Αν δεν ήταν εκεί, το έργο θα προχωρούσε στην επόμενη εντολή πριν καν το ρομπότ προλάβει να απαντήσει.
Βήμα 4: Αλλαγή του έργου.
Το επόμενο βήμα μας είναι να αλλάξουμε την εντολή if then σε μια εντολή if then else.
- Ξεκινήστε αποθηκεύοντας CreatingAStopButton ως το νέο έργο, StopOrDrive.
- Αν χρειάζεστε βοήθεια για την αποθήκευση ενός έργου, κάντε κλικ στο εδώ για C++.
- Στη συνέχεια, δημιουργήστε το έργο StopOrDrive που φαίνεται παρακάτω.
// Έναρξη κώδικα έργου
int main() {
// Αρχικοποίηση διαμόρφωσης ρομπότ. ΜΗΝ ΤΟ ΑΦΑΙΡΕΙΤΕ!
vexcodeInit();
ενώ (αληθές) {
Drivetrain.drive(forward);
εάν (Brain.Screen.pressing()) {
Drivetrain.stop();
waitUntil(!Brain.Screen.pressing());
}
αλλιώς {
Drivetrain.drive(forward);
}
}
} - Κατεβάστε το StopOrDrive στην υποδοχή 2 στο Clawbot σας.
- Για βοήθεια σχετικά με τη λήψη ενός έργου, ανατρέξτε στο σεμινάριο στο VEXcode V5 που εξηγεί να κάνετε λήψη και εκτέλεση ενός έργου (C++).
- Δοκιμάστε CreatingAStopButton (Υποδοχή 1) και στη συνέχεια δοκιμάστε StopOrDrive (Υποδοχή 2) και συγκρίνετέ τα για να δείτε αν υπάρχει κάποια διαφορά στη συμπεριφορά του ρομπότ. Σημειώστε τυχόν διαφορές στο σημειωματάριο μηχανικής σας
Εργαλειοθήκη Δασκάλου
-
Απάντηση
Όσον αφορά τη συμπεριφορά του ρομπότ, θα πρέπει να υπάρχει διαφορά μεταξύ έργων CreatingAStopButton και StopOrDrive όχι .
Εάν οι μαθητές χρειάζονται περαιτέρω βοήθεια για την κατανόηση των δηλώσεων If-Else, κάντε κλικ στο εδώ.
Και στα δύο έργα, το Clawbot συμπεριφέρεται με τον ίδιο τρόπο. Η μόνη διαφορά είναι η χρήση της εντολής if then else στο έργο StopOrDrive .
Χρησιμοποιώντας την εντολή if then else θα μπορείτε να προσθέσετε επιπλέον κουμπιά στην οθόνη σε επερχόμενες δραστηριότητες.
Επεκτείνετε τη Μάθησή σας
Καθώς προχωρά αυτό το Εργαστήριο STEM, οι μαθητές θα αναπτύσσουν έργα που επιτρέπουν στην οθόνη του Clawbot να λειτουργεί ως διεπαφή χρήστη. Προετοιμάζοντας αυτό, προκαλέστε τους μαθητές να καταλάβουν πώς να σχεδιάσουν ένα χρωματιστό ορθογώνιο στην οθόνη που λειτουργεί σαν κουμπί. Επειδή το πάτημα οπουδήποτε στην οθόνη είναι η τρέχουσα συνθήκη, το κουμπί θα πρέπει να καταλαμβάνει ολόκληρη την οθόνη. Οι μαθητές θα πρέπει να έχουν το έργο να μεταδίδει ένα συμβάν για να σχεδιάσουν το κουμπί όταν ξεκινήσει.
Κατευθύνετε τους μαθητές να μάθουν πρώτα πώς η οθόνη του εγκεφάλου είναι οργανωμένη σε ένα σύστημα συντεταγμένων. Θα πρέπει να το κατανοήσουν αυτό προκειμένου να ορίσουν παραμέτρους στις οδηγίες που θα χρησιμοποιήσουν. Οι συντεταγμένες που χρησιμοποιούνται αντιστοιχούν στον αριθμό των pixel και όχι στον αριθμό της στήλης ή της γραμμής. Εδώ είναι η διάταξη της οθόνης:

Οι μαθητές θα πρέπει να σχεδιάσουν, να δοκιμάσουν και να βελτιώσουν αυτές τις αλλαγές στο έργο, καταγράφοντάς το παράλληλα στα σημειωματάρια μηχανικής τους. Για την ατομική ρουμπρίκα σημειωματάριου μηχανικής, κάντε κλικ σε έναν από τους ακόλουθους συνδέσμους (Google Doc / .docx / .pdf) ή κάντε κλικ σε έναν από τους ακόλουθους συνδέσμους για ομαδικά σημειωματάρια (Google Doc / .docx / .pdf).
Ακολουθεί ένα παράδειγμα λύσης:
// Έναρξη κώδικα έργου
event draw = event();
void drawButton() {
Brain.Screen.setFillColor(red);
Brain.Screen.drawRectangle(0, 0, 480, 240);
wait(1, seconds);
}
int main() {
// Αρχικοποίηση διαμόρφωσης ρομπότ. ΜΗΝ ΤΟ ΑΦΑΙΡΕΙΤΕ!
vexcodeInit();
draw(drawButton);
ενώ (αληθινό) {
draw.broadcast();
Drivetrain.drive(forward);
if (Brain.Screen.pressing()) {
waitUntil(!Brain.Screen.pressing());
}
else {
Drivetrain.drive(forward);
}
}
} Όπως μπορείτε να δείτε, το κουμπί έχει σχεδιαστεί για να καταλαμβάνει ολόκληρη την οθόνη ξεκινώντας από την αρχή (0, 0) και γεμίζοντας και τα 480 οριζόντια (άξονας x) εικονοστοιχεία και τα 240 κάθετα (άξονας y) εικονοστοιχεία.