Μετάβαση στο κύριο περιεχόμενο

Βρόχοι Προγραμματισμού - 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. 

Εικόνα που δείχνει τον Χώρο Εργασίας VEXcode V5 με ανοιχτές τις σημειώσεις βοήθειας για την εντολή Drive

Εικονίδιο Συμβουλών Δασκάλου Συμβουλές για τους Δασκάλους

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

Εικόνα της ενότητας VEXcode V5 της Βιβλιοθήκης VEX

Βεβαιωθείτε ότι έχετε κατεβάσει και είναι έτοιμο το απαραίτητο υλικό, το σημειωματάριο μηχανικής σας και το VEXcode V5.

Απαιτούμενα υλικά:
Ποσότητα Απαιτούμενα υλικά
1

Κιτ εκκίνησης για την τάξη VEX V5 (με ενημερωμένο υλικολογισμικό)

1

VEXcode V5 (τελευταία έκδοση, Windows, macOS)

1

Σημειωματάριο Μηχανικής

1

Παράδειγμα έργου για το πρότυπο Clawbot (σύστημα μετάδοσης κίνησης 2 κινητήρων, χωρίς γυροσκόπιο)

Βήμα 1: Ας ξεκινήσουμε τον προγραμματισμό με βρόχους

  • Πριν ξεκινήσετε το έργο σας, επιλέξτε το σωστό πρότυπο έργου. Το παράδειγμα έργου Clawbot Template (Drivetrain 2-motor, No Gyro) περιέχει τη διαμόρφωση του κινητήρα του Clawbot. Εάν το πρότυπο δεν χρησιμοποιηθεί, το ρομπότ σας δεν θα εκτελέσει σωστά το έργο.
  • ΕπιλέξτεΑρχείοκαιΆνοιγμα παραδειγμάτων.

    Εικόνα που δείχνει το μενού Αρχείο ανοιχτό στο VEXcode V5 που δείχνει την επιλογή Άνοιγμα Παραδειγμάτων

     

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

    Εικόνα που δείχνει τα παραδείγματα έργων με ένα κόκκινο πλαίσιο γύρω από το πρότυπο έργου Speedbot (σύστημα μετάδοσης κίνησης 2 κινητήρων, χωρίς γυροσκόπιο)

     

  • Ονομάστε το έργο RepeatingActions.

    Εικόνα που δείχνει το όνομα του έργου Repeating Actions στο VEXcode V5

  • Πληκτρολογήστε τον ακόλουθο κώδικα:

    # Εισαγωγές βιβλιοθήκης
    από την εισαγωγή vex *
    
    # Κωδικός έναρξης έργου
    # Οδηγεί προς τα εμπρός κατά 300 mm, στρέφεται κατά 90 μοίρες για 4 επαναλήψεις
    
    για repeat_count στο εύρος(4):
        drivetrain.drive_for(FORWARD, 300, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        wait(5, SECONDS)

Ελέγξτε το έργο και, στη συνέχεια, κάντε τα εξής στο σημειωματάριο μηχανικής σας.

  1. Προβλέψτε τι θα κάνει το Clawbot στο πλαίσιο του έργου. Εξηγήστε περισσότερα από το γεγονός ότι το έργο επαναλαμβάνεται.

    Τι επαναλαμβάνει; Τι κάνει το Clawbot;

  2. Γράψτε την πρόβλεψή σας, αλλά μην χωρίσετε το σύντομο έργο σε περισσότερα από δύο μέρη.

Εικονίδιο Εργαλειοθήκης Εκπαιδευτικού Εργαλειοθήκη Δασκάλου - Απαντήσεις

  1. Αυτό το έργο θα έχει ως εξής: το ρομπότ να κινηθεί προς τα εμπρός για 300 χιλιοστά, να στρίψει δεξιά κατά 90 μοίρες και στη συνέχεια να περιμένει 5 δευτερόλεπτα 4 φορές για να ολοκληρώσει ένα τετράγωνο. Αντί να χρησιμοποιηθούν οι ίδιες 3 εντολές 4 φορές, η εντολή επανάληψης μειώνει τον αριθμό αυτό σε μόλις 1 φορά. Η εντολή επανάληψης επαναλαμβάνει τις ενέργειες της κίνησης προς τα εμπρός και στη συνέχεια της στροφής.

  2. Η πρόβλεψη θα μπορούσε απλώς να είναι «Το Clawbot κινείται σε τετράγωνο». Αυτός θα ήταν ένας συνοπτικός τρόπος για να αποτυπωθούν οι επαναλαμβανόμενες κινήσεις του Clawbot χωρίς να υπάρχει κανένα πλαίσιο.

Τα τετράδια μηχανικής των μαθητών μπορούν να διατηρούνται και να βαθμολογούνταιατομικάή ως ομάδα. Οι προηγούμενοι σύνδεσμοι παρέχουν διαφορετική ρουμπρίκα για κάθε προσέγγιση. Κάθε φορά που μια ρουμπρίκα περιλαμβάνεται στον εκπαιδευτικό σχεδιασμό, είναι καλή πρακτική να εξηγείται η ρουμπρίκα ή τουλάχιστον να δίνονται αντίγραφα στους μαθητές πριν από την έναρξη της δραστηριότητας.

  • Αποθηκεύστε, κατεβάστε και εκτελέστετο έργο Επαναλαμβανόμενες Ενέργειες.

    Στιγμιότυπο οθόνης που δείχνει τον τίτλο του έργου Repeating Actions στο VEXcode V5

  • Ελέγξτε τις εξηγήσεις του έργου στο σημειωματάριο μηχανικής σας και προσθέστε σημειώσεις για να τις διορθώσετε όπως απαιτείται.

Βήμα 2: Εκτελέστε το έργο και παρατηρήστε το ρομπότ

Μια σύγκριση δύο αποσπασμάτων κώδικα Python για ρομπότ VEX. Το πάνω τμήμα χρησιμοποιεί είσοδο αισθητήρα για να καθορίσει πότε να στρίψει, με έναν βρόχο while που ελέγχει αν είναι πατημένος ο διακόπτης του προφυλακτήρα. Αν πατηθεί, το ρομπότ στρίβει δεξιά 90 μοίρες, διαφορετικά, κινείται προς τα εμπρός. Το κάτω απόσπασμα χρησιμοποιεί μια σταθερή απόσταση για να καθορίσει πότε να στρίψει, με έναν βρόχο for που οδηγεί το ρομπότ προς τα εμπρός κατά 300 mm, στρίβει δεξιά κατά 90 μοίρες και περιμένει για 5 δευτερόλεπτα, επαναλαμβάνοντας αυτήν την ακολουθία τέσσερις φορές.

Δείτε ξανά το έργο Επαναλαμβανόμενες Ενέργειες (το δεύτερο έργο). Αυτό το έργο θα επαναλάβει τη συμπεριφορά προς τα εμπρός και στη συνέχεια στροφής τέσσερις φορές. Μια δομή βρόχου "επανάληψης" (χρησιμοποιώντας έναν βρόχογια) χρησιμοποιείται όταν θέλετε να χρησιμοποιήσετε ένα σύνολο συμπεριφορών έναν ορισμένο αριθμό φορών.

Εάν η δομή επανάληψης αντικατασταθεί με μια δομή βρόχου 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.Εικόνα της διαμόρφωσης της συσκευής στο VEXcode V5 με επισημασμένη την επιλογή BumperΕικόνα της διαμόρφωσης συσκευής για τον διακόπτη προφυλακτήρα με επισημασμένη τη θύρα Β
     
  • Ζητήστε από τους μαθητές να ονομάσουν το έργο «Σκούπα Δαπέδου».

  • Ζητήστε από τους μαθητές να κατασκευάσουν το ακόλουθο έργο.

    # Η βιβλιοθήκη εισάγει
    από 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πριν κάνετε οποιεσδήποτε αλλαγές.

Εικόνα που δείχνει το όνομα του έργου Squared Loops στη γραμμή εργαλείων στο VEXcode V5

Στο σημειωματάριο μηχανικής σας, σχεδιάστε τα εξής:

  • Σχεδιάστε τη λύση σας και προβλέψτε τι θα κάνει το 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)

Μπορείτε να παρέχετε στους μαθητές μια ρουμπρίκα προγραμματισμούγια τη βαθμολόγηση των έργων τους.
Τα σημειωματάρια μηχανικής των μαθητών μπορούν να διατηρούνται και
ή ως ομάδα.