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

Μάθημα 2: Ροή ενός Έργου με Βρόχο For

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

Δύο αποσπάσματα κώδικα για την οδήγηση σε ένα τετράγωνο που εμφανίζονται δίπλα-δίπλα για να δείξουν τη διαφορά μεταξύ της χρήσης του βρόχου for και του βρόχου not. Αυτή στα αριστερά δεν έχει βρόχο for και οι εντολές drive for και turn for επαναλαμβάνονται τέσσερις φορές η καθεμία. Αυτό στα δεξιά έχει έναν βρόχο for και κόκκινα βέλη σε κυκλικό μοτίβο με τις λέξεις 4 φορές μέσα σε αυτά, υποδεικνύοντας ότι ο βρόχος for προκαλεί την επανάληψη των εντολών drive for και turn for τέσσερις φορές.

Ένας βρόχος προς χρησιμοποιείται για την επανάληψη μιας σειράς εντολών έναν καθορισμένο αριθμό φορών. Ο βρόχος για επαναλαμβάνεται (επίσης γνωστός ως επαναλήψεις) κατά την ακολουθία εντολών που περιέχει. Σε έναν βρόχο Python για , η μεταβλητή 'value' χρησιμοποιείται για την παρακολούθηση της τρέχουσας επανάληψης και η λέξη-κλειδί 'in' χρησιμοποιεί τη συνάρτηση rangeγια να καθορίσει τον αριθμό των επαναλήψεων. Ανάλυση της σύνταξης ενός βρόχου for που εμφανίζεται με κείμενο πάνω από κάθε λέξη στην εντολή για τον προσδιορισμό της λειτουργίας της. Η πρώτη λέξη, για, έχει το κείμενο "identifies the loop" από πάνω της. Η δεύτερη λέξη, value, έχει το κείμενο: "Προσδιορίζει τη μεταβλητή (πόσες φορές έχει επαναληφθεί στον βρόχο;)." Η τρίτη λέξη, στο, έχει το κείμενο "Συνδέει τη μεταβλητή με τη λίστα (εύρος). Η τελευταία λέξη είναι εύρος με την παράμετρο 10 σε παρένθεση. Το κείμενο από πάνω αναφέρει: "Προσδιορίζει τη λίστα (Πόσες φορές θα επαναληφθεί στον βρόχο;)."

Η συνάρτηση εύρους προσδιορίζει πόσες φορές πρέπει να επαναληφθεί ο βρόχος. Για να επαναλάβετε τις συμπεριφορές για τον επιθυμητό αριθμό φορών, ορίστε την παράμετρο της συνάρτησης εύρους .

Η συνάρτηση range ουσιαστικά δημιουργεί μια προσωρινή λίστα που καθορίζει τι πρέπει να επαναλάβει ο βρόχος, για να ολοκληρωθεί. Στην περίπτωση επαναλαμβανόμενων συμπεριφορών, όπως η σχεδίαση των τεσσάρων πλευρών ενός τετραγώνου, η συνάρτηση εύρους χρησιμοποιεί μια προσωρινή λίστα (0, 1, 2, 3) για να επιτρέψει στο ρομπότ εικονικής πραγματικότητας να εκτελέσει αυτές τις εντολές τέσσερις φορές. Η κίνηση του ρομπότ εικονικής πραγματικότητας θα αλλάζει ανάλογα με την παράμετρο της συνάρτησης εμβέλειας, όπως φαίνεται εδώ. 

Έργο VEXcode που απεικονίζει τη συνάρτηση εύρους. Διαβάζει την κύρια γραμμή def, ανοίγοντας την παρένθεση, κλείνοντας την παρένθεση, την άνω και κάτω τελεία, στην επόμενη γραμμή που είναι εσοχή, διαβάζει την τελεία στυλό, μετακινώντας την ανοιχτή παρένθεση, κάτω, κλείνοντας την παρένθεση, στην επόμενη γραμμή για την τιμή στο εύρος, ανοίγοντας την παρένθεση 0, κλείνοντας την παρένθεση, την άνω και κάτω τελεία, στην επόμενη γραμμή που είναι εσοχή, διαβάζει την τελεία συστήματος μετάδοσης κίνησης, την υπογράμμιση για το άνοιγμα της παρένθεσης, εμπρός, 600, MM, κλείνοντας την παρένθεση, στην επόμενη γραμμή, το σημείο μετάδοσης κίνησης, γυρίζοντας την υπογράμμιση για το άνοιγμα της παρένθεσης δεξιά, 90, μοίρα, κλείνοντας την παρένθεση, στην επόμενη γραμμή, περιμένοντας, ανοίγοντας την παρένθεση, πέντε κόμμα. Παιδική χαρά σε καμβά τέχνης με το ρομπότ στο κέντρο. Οι εντολές συστήματος μετάδοσης κίνησης εκτελέστηκαν 0 φορές.
Το ίδιο έργο όπως παραπάνω, αλλά με 1 στην παράμετρο της συνάρτησης εύρους. Παιδική χαρά σε καμβά τέχνης με ολοκληρωμένο έργο σχεδίασης της μίας πλευράς ενός τετραγώνου. Οι εντολές συστήματος μετάδοσης κίνησης εκτελέστηκαν 1 φορά.
Το ίδιο έργο όπως παραπάνω, αλλά με 2 στην παράμετρο της συνάρτησης εύρους. Παιδική χαρά σε καμβά τέχνης που δείχνει ότι το ρομπότ έχει σχεδιάσει τις δύο πρώτες πλευρές του τετραγώνου. Οι εντολές του συστήματος μετάδοσης κίνησης εκτελέστηκαν 2 φορές.
Το ίδιο έργο όπως παραπάνω, αλλά με 3 στην παράμετρο της συνάρτησης εύρους. Παιδική χαρά σε καμβά τέχνης που δείχνει ότι το ρομπότ έχει σχεδιάσει τρεις πλευρές του τετραγώνου. Οι εντολές του συστήματος μετάδοσης κίνησης εκτελέστηκαν 3 φορές.
Το ίδιο έργο όπως παραπάνω, αλλά με 4 στην παράμετρο της συνάρτησης εύρους. Παιδική χαρά σε καμβά τέχνης που δείχνει ότι το ρομπότ έχει σχεδιάσει και τις τέσσερις πλευρές του τετραγώνου. Οι εντολές του συστήματος μετάδοσης κίνησης εκτελέστηκαν 4 φορές, ολοκληρώνοντας και τις 4 πλευρές του τετραγώνου.

 

Το ίδιο έργο όπως παραπάνω, αλλά με 5 στην παράμετρο της συνάρτησης εύρους.

Παιδική χαρά σε καμβά τέχνης που δείχνει ότι το ρομπότ έχει σχεδιάσει και τις τέσσερις πλευρές του τετραγώνου και στη συνέχεια έχει σχεδιάσει ξανά την πρώτη πλευρά. Εντολές συστήματος μετάδοσης κίνησης που εκτελούνται 5 φορές, ολοκληρώνοντας το τετράγωνο και στη συνέχεια σχεδιάζοντας ξανά την πρώτη πλευρά.

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

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

Για την ενημέρωσή σας

Στο VEXcode VR, μια εντολήwaitπροστίθεται πάντα με τον βρόχοfor. Ο σκοπός της εντολήςwaitείναι να διασφαλίσει ότι το VEXcode VR μπορεί να εκτελέσει σωστά το έργο όπως προβλέπεται, λόγω της διαδικτυακής φύσης της πλατφόρμας VEXcode VR. Η εντολήwaitδεν πρέπει ποτέ να διαγράφεται όταν χρησιμοποιείται ένας βρόχοςfor, διαφορετικά το έργο σας ενδέχεται να μην εκτελεστεί όπως προβλέπεται.

Βρόχος For με εντολή αναμονής.

Ο καθορισμένος αριθμός φορών που έχει οριστεί να εκτελεστεί ο βρόχος για , επιτρέπει στο έργο να ρέει έξω από τον βρόχογιαόταν έχει ολοκληρώσει τις απαραίτητες επαναλήψεις. Η παράμετρος της συνάρτησης rangeστον βρόχο for πρέπει να επιτευχθεί πριν το έργο προχωρήσει στην επόμενη εντολή εκτός του βρόχου. Στο παρακάτω δείγμα κώδικα, μόλις οι εντολές Drivetrain στον βρόχογιαεκτελεστούν τέσσερις φορές, το έργο θα βγει από τον βρόχογια, θα ορίσει το χρώμα της πένας σε κόκκινο και θα κινηθεί αντίστροφα. Το έργο VEXcode από παραπάνω, με την τιμή 4 στην παράμετρο εύρους να εμφανίζεται με κόκκινα βέλη γύρω από τον βρόχο for και τη σημειογραφία 4x που δείχνει ότι το έργο θα επαναληφθεί στον βρόχο τέσσερις φορές. Προστίθενται 2 επιπλέον γραμμές κώδικα στο κάτω μέρος. Τα βέλη δείχνουν ότι αυτές οι 2 γραμμές θα εκτελεστούν μόλις ολοκληρωθούν οι τέσσερις επαναλήψεις. Αυτές οι γραμμές διαβάζονται, η κουκκίδα στυλό ορίζει χρώμα ανοιχτής παρένθεσης κόκκινη κλείνει παρένθεση και η κουκκίδα συστήματος μετάδοσης κίνησης υπογράμμιση για άνοιγμα παρένθεσης αντίστροφο κόμμα 600 κόμμα mm κλείνει παρένθεση. Στα δεξιά υπάρχει μια εικόνα του έργου μετά την εκτέλεσή του στην παιδική χαρά, η οποία δείχνει ένα μαύρο τετράγωνο με μια κόκκινη γραμμή που βγαίνει από αυτό, σχεδιασμένο από το ρομπότ εικονικής πραγματικότητας.

Μίνι Πρόκληση

Σε αυτό το έργο, το Ρομπότ Εικονικής Πραγματικότητας (VR) θα πρέπει να σχεδιάσει ένα μπλε τετράγωνο στον καμβά Art Canvas Playground, αλλά υπάρχουν σφάλματα στο έργο. Επεξεργαστείτε το έργο για να λύσετε τη μίνι πρόκληση!

Παιδική χαρά σε καμβά τέχνης με ένα μπλε τετράγωνο σχεδιασμένο από το ρομπότ εικονικής πραγματικότητας.

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

Αρχείο βίντεο
  • Παρακολουθήστε το βίντεο με τη λύση και εξετάστε πώς πρέπει να κινηθεί το ρομπότ εικονικής πραγματικότητας (VR) για να ολοκληρώσει τη μίνι πρόκληση.
  • Τροποποιήστε το έργο Unit3Lesson2 ώστε να ταιριάζει με αυτήν την εικόνα ή αντιγράψτε τον παρακάτω κώδικα.
     
def main():
	pen.move(ΚΑΤΩ)
	pen.set_pen_color(ΚΟΚΚΙΝΟ)
	drivetrain.drive_for(ΜΠΡΟΣΤΑ, 600, MM)
	
	για τιμή στο εύρος(3):
		drivetrain.drive_for(ΜΠΡΟΣΤΑ, 600, MM)
		drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
		αναμονή (5, MSEC)
  • Ξεκινήστε το έργο και εντοπίστε πού το ρομπότ εικονικής πραγματικότητας δεν ολοκληρώνει τις αναμενόμενες συμπεριφορές.
  • Τροποποιήστε το έργο και εκτελέστε το ξανά. Δείτε αν το ρομπότ εικονικής πραγματικότητας ολοκληρώνει τις αναμενόμενες συμπεριφορές.
  • Εάν το ρομπότ εικονικής πραγματικότητας δεν σχεδιάσει ένα μπλε τετράγωνο, επαναλάβετε το προηγούμενο βήμα και προσπαθήστε ξανά. Συνεχίστε να τροποποιείτε και να εκτελείτε το έργο σας μέχρι το ρομπότ εικονικής πραγματικότητας να σχεδιάσει ένα μπλε τετράγωνο.
  • Μόλις το Ρομπότ Εικονικής Πραγματικότητας σχεδιάσει με επιτυχία ένα μπλε τετράγωνο στον Καμβά Τέχνης Παιδική Χαρά, αποθηκεύστε το έργο.

Συγχαρητήρια! Έλυσες τη μίνι πρόκληση!

Ερωτήσεις

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

Έγγραφο Google / .docx / .pdf