Βρόχοι Προγραμματισμού - Python
Εργαλειοθήκη Εκπαιδευτικού
-
Περίγραμμα Δραστηριότητας
-
Αυτή η εξερεύνηση θα εισαγάγει τους μαθητές στον προγραμματισμό επαναλαμβανόμενων συμπεριφορών χρησιμοποιώντας επαναλαμβανόμενους ή αέναους βρόχους.
-
Η εκμάθηση προγραμματισμού χρησιμοποιώντας επαναλαμβανόμενους και αέναους βρόχους επιτρέπει στους μαθητές να εξοικονομούν χρόνο κατά την κατασκευή ενός έργου που χρησιμοποιεί τις ίδιες επαναλαμβανόμενες ενέργειες. Για περισσότερες πληροφορίες σχετικά με τις οδηγίες που χρησιμοποιούνται σε ένα έργο κειμένου, επισκεφθείτε τις πληροφορίεςβοήθεια.
Το Clawbot V5 είναι έτοιμο για δράση!
Αυτή η εξερεύνηση θα σας δώσει τα εργαλεία για να ξεκινήσετε να δημιουργείτε μερικά ενδιαφέροντα έργα που χρησιμοποιούν βρόχους.
- Οδηγίες Python VEXcode V5 που θα χρησιμοποιηθούν σε αυτήν την εξερεύνηση:
- drivetrain.drive_for(ΜΠΡΟΣΤΑ, 300, MM)
- μετάδοσης κίνησης.στροφή_για(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
- claw_motor.spin_for(ΑΝΤΙΣΤΡΟΦΗ, 70, ΜΟΙΡΕΣ)
- arm_motor.spin_for(ΜΠΡΟΣΤΑ, 360, ΜΟΙΡΕΣ)
- bumper_b.pressing()
- ενώ Αληθές:
- για repeat_count στην περιοχή(4):
- αναμονή (5, ΔΕΥΤΕΡΟΛΕΠΤΑ)
Μπορείτε να χρησιμοποιήσετε τις πληροφορίες βοήθειας στο VEXcode V5 για να μάθετε σχετικά με μεμονωμένες εντολέςPython.

Συμβουλές για τους Δασκάλους
Αν αυτή είναι η πρώτη που ο μαθητής χρησιμοποιεί τον κώδικα VEX V5, μπορεί να διαβάσει μια ποικιλία άρθρων στη βιβλιοθήκη.

Συμβουλές για Δασκάλους
-
Χρήση της Αυτόματης Συμπλήρωσης
Η αυτόματη συμπλήρωση είναι μια λειτουργία στο VEXcode V5 που προβλέπει την υπόλοιπη εντολή που πληκτρολογείτε. Καθώς οι μαθητές εργάζονται στο VEXcode V5, ενθαρρύνετέ τους να χρησιμοποιήσουν τη λειτουργία Αυτόματης συμπλήρωσης για να τους βοηθήσει με τη σύνταξη της Python. Ενδέχεται να παρατηρήσετε μια συνάρτηση αυτόματης συμπλήρωσης καθώς αρχίζετε να πληκτρολογείτε την εντολή. Χρησιμοποιήστε τα πλήκτρα "Πάνω" και "Κάτω" για να επιλέξετε το όνομα που θέλετε και, στη συνέχεια, πατήστε "Tab" ή (Enter/Return) στο πληκτρολόγιό σας για να κάνετε την επιλογή. Για περισσότερες πληροφορίες σχετικά με τη χρήση της Αυτόματης Συμπλήρωσης Python.

Βεβαιωθείτε ότι έχετε κατεβάσει και είναι έτοιμο το απαραίτητο υλικό, το σημειωματάριο μηχανικής σας και το VEXcode V5.
| Ποσότητα | Απαιτούμενα υλικά |
|---|---|
| 1 |
Κιτ εκκίνησης για την τάξη VEX V5 (με ενημερωμένο υλικολογισμικό) |
| 1 |
VEXcode V5 (τελευταία έκδοση, Windows, macOS) |
| 1 |
Σημειωματάριο Μηχανικής |
| 1 |
Παράδειγμα έργου για το πρότυπο Clawbot (σύστημα μετάδοσης κίνησης 2 κινητήρων, χωρίς γυροσκόπιο) |
Βήμα 1: Ας ξεκινήσουμε τον προγραμματισμό με βρόχους
- Πριν ξεκινήσετε το έργο σας, επιλέξτε το σωστό πρότυπο έργου. Το παράδειγμα έργου Clawbot Template (Drivetrain 2-motor, No Gyro) περιέχει τη διαμόρφωση του κινητήρα του Clawbot. Εάν το πρότυπο δεν χρησιμοποιηθεί, το ρομπότ σας δεν θα εκτελέσει σωστά το έργο.
-
ΕπιλέξτεΑρχείοκαιΆνοιγμα παραδειγμάτων.

-
Κάντε κύλιση στα διάφορα έργαΠαράδειγμα. Αυτά τα έργα επιδεικνύουν μια ποικιλία ενεργειών που μπορεί να εκτελέσει το Clawbot σας. Επιλέξτε και ανοίξτε το παράδειγμα έργουClawbot Template (Drivetrain 2-motor, No Gyro).

-
Ονομάστε το έργο RepeatingActions.
-
Πληκτρολογήστε τον ακόλουθο κώδικα:
# Εισαγωγές βιβλιοθήκης από την εισαγωγή vex * # Κωδικός έναρξης έργου # Οδηγεί προς τα εμπρός κατά 300 mm, στρέφεται κατά 90 μοίρες για 4 επαναλήψεις για repeat_count στο εύρος(4): drivetrain.drive_for(FORWARD, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) wait(5, SECONDS)
Ελέγξτε το έργο και, στη συνέχεια, κάντε τα εξής στο σημειωματάριο μηχανικής σας.
-
Προβλέψτε τι θα κάνει το Clawbot στο πλαίσιο του έργου. Εξηγήστε περισσότερα από το γεγονός ότι το έργο επαναλαμβάνεται.
Τι επαναλαμβάνει; Τι κάνει το Clawbot;
- Γράψτε την πρόβλεψή σας, αλλά μην χωρίσετε το σύντομο έργο σε περισσότερα από δύο μέρη.
Εργαλειοθήκη Δασκάλου
-
Απαντήσεις
-
Αυτό το έργο θα έχει ως εξής: το ρομπότ να κινηθεί προς τα εμπρός για 300 χιλιοστά, να στρίψει δεξιά κατά 90 μοίρες και στη συνέχεια να περιμένει 5 δευτερόλεπτα 4 φορές για να ολοκληρώσει ένα τετράγωνο. Αντί να χρησιμοποιηθούν οι ίδιες 3 εντολές 4 φορές, η εντολή επανάληψης μειώνει τον αριθμό αυτό σε μόλις 1 φορά. Η εντολή επανάληψης επαναλαμβάνει τις ενέργειες της κίνησης προς τα εμπρός και στη συνέχεια της στροφής.
-
Η πρόβλεψη θα μπορούσε απλώς να είναι «Το Clawbot κινείται σε τετράγωνο». Αυτός θα ήταν ένας συνοπτικός τρόπος για να αποτυπωθούν οι επαναλαμβανόμενες κινήσεις του Clawbot χωρίς να υπάρχει κανένα πλαίσιο.
Τα τετράδια μηχανικής των μαθητών μπορούν να διατηρούνται και να βαθμολογούνταιατομικάή ως ομάδα. Οι προηγούμενοι σύνδεσμοι παρέχουν διαφορετική ρουμπρίκα για κάθε προσέγγιση. Κάθε φορά που μια ρουμπρίκα περιλαμβάνεται στον εκπαιδευτικό σχεδιασμό, είναι καλή πρακτική να εξηγείται η ρουμπρίκα ή τουλάχιστον να δίνονται αντίγραφα στους μαθητές πριν από την έναρξη της δραστηριότητας.
-
Αποθηκεύστε, κατεβάστε και εκτελέστετο έργο Επαναλαμβανόμενες Ενέργειες.
- Ελέγξτε τις εξηγήσεις του έργου στο σημειωματάριο μηχανικής σας και προσθέστε σημειώσεις για να τις διορθώσετε όπως απαιτείται.
Βήμα 2: Εκτελέστε το έργο και παρατηρήστε το ρομπότ

Δείτε ξανά το έργο Επαναλαμβανόμενες Ενέργειες (το δεύτερο έργο). Αυτό το έργο θα επαναλάβει τη συμπεριφορά προς τα εμπρός και στη συνέχεια στροφής τέσσερις φορές. Μια δομή βρόχου "επανάληψης" (χρησιμοποιώντας έναν βρόχογια) χρησιμοποιείται όταν θέλετε να χρησιμοποιήσετε ένα σύνολο συμπεριφορών έναν ορισμένο αριθμό φορών.
Εάν η δομή επανάληψης αντικατασταθεί με μια δομή βρόχου while , το ρομπότ θα επαναλάβει τις συμπεριφορές προς τα εμπρός και στη συνέχεια θα μετατρέψει τις συμπεριφορές "while" εάν η συνθήκη είναι αληθής. Μπορείτε επίσης να ορίσετε τη συνθήκη σε "true" για να συνεχιστεί ο βρόχοςενώ
Στο πρώτο έργο, η είσοδος ενός αισθητήρα χρησιμοποιείται για να προσδιοριστεί πότε θα ξεκινήσει η περιστροφή. Το έργο στα δεξιά χρησιμοποιεί μια σταθερή απόσταση συστήματος μετάδοσης κίνησης για να καθορίσει πότε πρέπει να ξεκινήσει η στροφή.
Προκειμένου να ελέγχεται συνεχώς η είσοδος ενός αισθητήρα, χρησιμοποιείται μια εντολή if else μαζί με έναν βρόχο while. Στο έργο στα αριστερά, το ρομπότ θα στρίψει δεξιά όταν πατηθεί ο αισθητήρας "bumper_b", διαφορετικά το ρομπότ θα κινείται προς τα εμπρός για πάντα εάν δεν πατηθεί ο αισθητήρας "bumper_b". Για να ελέγχεται συνεχώς η τιμή του αισθητήρα bumper_b, η εντολή if βρίσκεται μέσα σε έναν βρόχο while
Το πρώτο έργο είναι μια πρακτική περίπτωση χρήσης μιας δομής που επαναλαμβάνεται επ' αόριστον – χρησιμοποιώντας βρόχουςwhileκαι εντολέςifμαζί. Φανταστείτε ένα αυτόνομο σάρωθρο που συνεχίζει να κινείται προς τα εμπρός μέχρι να χτυπήσει σε έναν τοίχο ή ένα αντικείμενο και στη συνέχεια στρίβει πριν συνεχίσει να κινείται.
Επεκτείνετε τη Μάθησή σας
Για να διερευνήσετε περαιτέρω πώς μπορείτε να χρησιμοποιήσετε βρόχους με υποθετικές εκφράσεις, ζητήστε από τους μαθητές να δημιουργήσουν ένα έργο Floor Sweeper στο VEXcode V5.
- Ξεκινήστε ζητώντας από τους μαθητέςνα τοποθετήσουν και να καλωδιώσουν τους διακόπτες του προφυλακτήρα.
-
Ζητήστε από τους μαθητές να ανοίξουν το παράδειγμα έργουClawbot Template (Drivetrain 2-motor, No Gyro).

- από τους μαθητές να διαμορφώσουν τον διακόπτη προφυλακτήρα 3 καλωδίων στον κώδικα VEX V5, να επιλέξουν τη συσκευή 3 καλωδίων που χρησιμοποιείτε για το BUMPERκαι να επιλέξουν τη θύρα για B.


-
Ζητήστε από τους μαθητές να ονομάσουν το έργο «Σκούπα Δαπέδου».
-
Ζητήστε από τους μαθητές να κατασκευάσουν το ακόλουθο έργο.
# Η βιβλιοθήκη εισάγει από vex import * import random # Κώδικας έναρξης έργου while True: while (not bumper_b.pressing()): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() #Η μέθοδος random.randomint() επιστρέφει έναν τυχαίο ακέραιο αριθμό μεταξύ του καθορισμένου εύρους #Μεταβιβάζει τις ελάχιστες και μέγιστες τιμές του εύρους στις παραμέτρους drivetrain.turn_for(RIGHT, (90+random.randint(0, 90)),DEGREES) wait(5, MSEC)
Αν οι μαθητές χρειάζονται βοήθεια με οποιαδήποτε από τις οδηγίες, παραπέμψτε τους στις πληροφορίεςΒοήθεια
Ζητήστε από τους μαθητέςνα κατεβάσουν και να εκτελέσουν το έργογια να παρατηρήσουν πώς κινείται το ρομπότ. Στη συνέχεια, ξεκινήστε μια συζήτηση στην τάξη και ζητήστε από τους μαθητές να εξηγήσουν γιατί χρησιμοποιήθηκε η δομή «για πάντα» αντί για μια δομή «επανάληψης».
Οι μαθητές θα πρέπει να σημειώσουν ότι χρησιμοποιείται μια δομή «για πάντα» επειδή αυτό το έργο ελέγχει συνεχώς αν πατιέται ο διακόπτης προφυλακτήρα.
Βήμα 3: Η Πρόκληση των Τετράγωνων Βρόχων!

- Βάλτε το Clawbot σας να οδηγήσει σε ένα τετράγωνο.
- Πριν από κάθε στροφή, το νύχι πρέπει να ανοίγει και να κλείνει και ο βραχίονας πρέπει να ανεβαίνει και να κατεβαίνει.
- Το Clawbot δεν μπορεί να οδηγήσει κατά μήκος μιας πλευράς του τετραγώνου περισσότερες από μία φορές.
- Μπορείτε να χρησιμοποιήσετε το έργο RepeatingActions από παραπάνω ως σημείο εκκίνησης, αλλά αποθηκεύστε το ωςSquaredLoopsπριν κάνετε οποιεσδήποτε αλλαγές.
Στο σημειωματάριο μηχανικής σας, σχεδιάστε τα εξής:
- Σχεδιάστε τη λύση σας και προβλέψτε τι θα κάνει το Clawbot για κάθε εντολή στο έργο σας.
- Κατεβάστε και εκτελέστετο έργο σας για να το δοκιμάσετε πριν το υποβάλετε.
- Κάντε αλλαγές στο έργο όπως απαιτείται και κρατήστε σημειώσεις σχετικά με τις αλλαγές κατά τη διάρκεια των δοκιμών.
Εργαλειοθήκη Δασκάλου
-
Λύση
Η ακόλουθη είναι μια πιθανή λύση για την Πρόκληση των Τετραγώνων των Βρόχων:
# Εισαγωγές βιβλιοθήκης
από vex import *
# Κωδικός έναρξης έργου
για repeat_count στο εύρος(4):
drivetrain.drive_for(FORWARD, 300, MM)
claw_motor.spin_for(REVERSE, 70, DEGREES)
arm_motor.spin_for(FORWARD, 360, DEGREES)
claw_motor.spin_for(FORWARD, 70, DEGREES)
arm_motor.spin_for(REVERSE, 360, DEGREES)
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)Μπορείτε να παρέχετε στους μαθητές μια ρουμπρίκα προγραμματισμούγια τη βαθμολόγηση των έργων τους.
Τα σημειωματάρια μηχανικής των μαθητών μπορούν να διατηρούνται καιή ως ομάδα.