Ελεγχος#
Εισαγωγή#
Τα μπλοκ ελέγχου στο VEXcode 123 διαχειρίζονται τη ροή ενός έργου χειριζόμενα βρόχους, συνθήκες και καθυστερήσεις στην εκτέλεση μπλοκ.
Ένας βρόχος είναι όταν ένας υπολογιστής επαναλαμβάνει το ίδιο βήμα ή ομάδα βημάτων ξανά και ξανά μέχρι να του ζητηθεί να σταματήσει. Μια συνθήκη είναι ένας κανόνας που ελέγχει ο υπολογιστής για να αποφασίσει τι θα κάνει στη συνέχεια. Για παράδειγμα, προχωρήστε προς τα εμπρός εάν ο αισθητήρας ματιών ανιχνεύσει ένα αντικείμενο.
Παρακάτω είναι μια λίστα με τα διαθέσιμα μπλοκ:
wait – Διακόπτει την εκτέλεση μπλοκ για μια συγκεκριμένη διάρκεια.
wait until – Διακόπτει την εκτέλεση των μπλοκ μέχρι να ικανοποιηθεί μια καθορισμένη συνθήκη.
repeat – Επαναλαμβάνει ένα σύνολο μπλοκ έναν συγκεκριμένο αριθμό φορών.
forever – Επαναλαμβάνει ένα σύνολο μπλοκ επ’ αόριστον.
επανάληψη μέχρι – Επαναλαμβάνει ένα σύνολο μπλοκ μέχρι να ικανοποιηθεί μια συνθήκη.
while – Επαναλαμβάνει ένα σύνολο μπλοκ όσο μια συνθήκη παραμένει αληθής.
if – Εκτελεί ένα σύνολο μπλοκ εάν μια συνθήκη είναι αληθής.
if / else – Εκτελεί ένα σύνολο μπλοκ εάν μια συνθήκη είναι αληθής, διαφορετικά εκτελεί ένα άλλο.
if / else if / else – Εκτελεί διαφορετικά σύνολα μπλοκ ανάλογα με πολλαπλές συνθήκες.
break – Τερματίζει αμέσως έναν βρόχο repeat, forever, repeat until ή while.
διακοπή έργου – Τερματίζει το έργο.
Περιμένετε#
Το μπλοκ στοίβας wait διακόπτει την εκτέλεση μπλοκ για ένα συγκεκριμένο χρονικό διάστημα πριν μετακινηθεί στο επόμενο μπλοκ.
περίμενε (1) δευτερόλεπτα
Παράμετροι |
Περιγραφή |
|---|---|
φορά |
Ο χρόνος αναμονής, ως θετικός ακέραιος αριθμός ή δεκαδικός αριθμός σε δευτερόλεπτα. |
Παράδειγμα
όταν ξεκινά :: hat events
[Drive forward then stop.]
κίνηση [εμπρός v]
περίμενε (2) δευτερόλεπτα
διακοπή κίνησης
περίμενε μέχρι#
Το μπλοκ στοίβας αναμονή μέχρι διακόπτει την εκτέλεση των μπλοκ μέχρι να ικανοποιηθεί μια συγκεκριμένη συνθήκη πριν από τη μετάβαση στο επόμενο μπλοκ.
περίμενε μέχρι <>
Παράμετροι |
Περιγραφή |
|---|---|
κατάσταση |
Η συνθήκη που πρέπει να πληρούται πριν προχωρήσουμε στο επόμενο μπλοκ. |
Παράδειγμα
όταν ξεκινά :: hat events
[Drive forward when the sound button is pressed.]
περίμενε μέχρι <[soundIcon v] πατημένο;>
κίνηση [εμπρός v] για [200] [mm v]
επαναλαμβάνω#
Το μπλοκ repeat C εκτελεί τα μπλοκ που βρίσκονται μέσα σε αυτό έναν καθορισμένο αριθμό φορών.
επανέλαβε [10]
τέλος
Παράμετροι |
Περιγραφή |
|---|---|
φορές |
Ένας ακέραιος αριθμός που ορίζει πόσες φορές εκτελείται το μπλοκ επανάληψη. |
Παράδειγμα
όταν ξεκινά :: hat events
[Drive in a square pattern.]
επανέλαβε [4]
κίνηση [εμπρός v] για [200] [mm v]
στροφή [δεξιά v] για [90] μοίρες
πάντα#
Το forever μπλοκ C συνεχίζει να εκτελεί τα μπλοκ μέσα σε αυτό ξανά και ξανά χωρίς διακοπή.
για πάντα
τέλος
Παράμετροι |
Περιγραφή |
|---|---|
Αυτό το μπλοκ δεν έχει παραμέτρους. |
Παράδειγμα
όταν ξεκινά :: hat events
[Blink LED light in a pattern.]
για πάντα
λάμψη [πράσινο v]
περίμενε [0.5] δευτερόλεπτα
λάμψη [απενεργοποιημένο v]
περίμενε [0.5] δευτερόλεπτα
επαναλάβετε μέχρι#
Το μπλοκ επανάληψη μέχρι C εκτελεί τα μπλοκ που βρίσκονται μέσα σε αυτό επανειλημμένα, όσο δεν πληρούται η καθορισμένη συνθήκη.
επανέλαβε μέχρι <>
τέλος
Παράμετροι |
Περιγραφή |
|---|---|
κατάσταση |
Μια έκφραση ή μεταβλητή που ελέγχεται πριν από κάθε βρόχο. Εάν είναι Ψευδής, τα μπλοκ συνεχίζουν να επαναλαμβάνονται. Εάν είναι Αληθής, ο βρόχος θα σταματήσει. |
Παράδειγμα
όταν ξεκινά :: hat events
[Blink LED light until the sound button is pressed.]
επανέλαβε μέχρι <[soundIcon v] πατημένο;>
λάμψη [πράσινο v]
περίμενε [0.5] δευτερόλεπτα
λάμψη [απενεργοποιημένο v]
περίμενε [0.5] δευτερόλεπτα
ενώ#
Το μπλοκ while C εκτελεί τα μπλοκ στο εσωτερικό επανειλημμένα όσο πληρούται η καθορισμένη συνθήκη.
ενώ <>
τέλος
Παράμετροι |
Περιγραφή |
|---|---|
κατάσταση |
Μια έκφραση ή μεταβλητή που ελέγχεται πριν από κάθε βρόχο. Εάν είναι True, τα μπλοκ συνεχίζουν να επαναλαμβάνονται. Εάν είναι False, ο βρόχος θα σταματήσει. |
Παράδειγμα
όταν ξεκινά :: hat events
[Turn the robot around.]
ενώ <(κατεύθυνση κίνησης σε μοίρες) [math_less_than v] [180]>
στροφή [δεξιά v]
τέλος
διακοπή κίνησης
αν#
Το μπλοκ if C εκτελεί τα μπλοκ στο εσωτερικό εάν η συνθήκη είναι True.
αν <> τότε
τέλος
Παράμετροι |
Περιγραφή |
|---|---|
κατάσταση |
Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Εάν είναι True, τα μπλοκ μέσα στο μπλοκ if θα εκτελεστούν. Εάν είναι False, τα μπλοκ παραλείπονται. |
Παράδειγμα
όταν ξεκινά :: hat events
[Drive forward whenever the sound button is pressed.]
για πάντα
αν <[soundIcon v] πατημένο;> τότε
κίνηση [εμπρός v] για [200] [mm v]
αν / αλλιώς#
Το μπλοκ C if / else καθορίζει ποιο σύνολο μπλοκ θα εκτελεστεί με βάση το αν η συνθήκη είναι True ή False.
αν <> τότε
αλλιώς
τέλος
Παράμετροι |
Περιγραφή |
|---|---|
κατάσταση |
Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Εάν είναι True, τα μπλοκ μέσα στο μπλοκ if θα εκτελεστούν. Εάν είναι False, θα εκτελεστούν τα μπλοκ μέσα στο μπλοκ else. |
Παράδειγμα
όταν ξεκινά :: hat events
[Drive forward until a crash.]
για πάντα
αν <ανιχνεύτηκε σύγκρουση;> τότε
διακοπή κίνησης
αλλιώς
κίνηση [εμπρός v] για [200] [mm v]
αν / αλλιώς αν / αλλιώς#
Το if / else if / else επεκτάσιμο μπλοκ C επιλέγει ποιο σύνολο μπλοκ θα εκτελεστεί με βάση τις συνθήκες:
Η συνθήκη if εκτελεί το μπλοκ κώδικά της εάν η συνθήκη αξιολογηθεί ως True.
Η συνάρτηση else if ελέγχει πρόσθετες συνθήκες μόνο εάν όλες οι προηγούμενες συνθήκες αξιολογηθούν ως False. Μπορούν να χρησιμοποιηθούν πολλαπλές προτάσεις else if.
else εκτελεί το μπλοκ κώδικά του μόνο εάν καμία από τις προηγούμενες συνθήκες δεν αξιολογηθεί ως True.
αν <> τότε
αλλιώς αν <> τότε
αλλιώς
τέλος
Παράμετροι |
Περιγραφή |
|---|---|
κατάσταση |
Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Η πρώτη συνθήκη που είναι True εκτελεί αυτό το σύνολο μπλοκ. Εάν όλες οι συνθήκες αξιολογηθούν ως False, τα μπλοκ μέσα στο μπλοκ else θα εκτελεστούν. |
Παράδειγμα
όταν ξεκινά :: hat events
[Turn right for the right button, left for the left button.]
για πάντα
αν <[ifbuttonright v] πατημένο;> τότε
στροφή [δεξιά v]
αλλιώς αν <[ifbuttonleft v] πατημένο;> τότε
στροφή [αριστερά v]
αλλιώς
διακοπή κίνησης
διακοπή#
Το μπλοκ στοίβας break τερματίζει αμέσως έναν βρόχο. Αυτό το μπλοκ μπορεί να χρησιμοποιηθεί μέσα σε μπλοκ repeat, repeat until, while και forever. Το Break είναι χρήσιμο όταν ένας βρόχος πρέπει να σταματήσει πρόωρα με βάση κάτι που συμβαίνει κατά τη διάρκεια του έργου, όπως το πάτημα ενός κουμπιού ή ένας αισθητήρας που ανιχνεύει ένα αντικείμενο.
διακοπή
Παράμετροι |
Περιγραφή |
|---|---|
Αυτό το μπλοκ δεν έχει παραμέτρους. |
Παράδειγμα
όταν ξεκινά :: hat events
[Flash the LED until the sound button is pressed.]
για πάντα
λάμψη [πράσινο v]
περίμενε [0.5] δευτερόλεπτα
λάμψη [μπλε v]
περίμενε [0.5] δευτερόλεπτα
αν <[soundIcon v] πατημένο;> τότε
διακοπή
διακοπή έργου#
Το μπλοκ στοίβας διακοπή έργου τερματίζει ένα έργο που εκτελείται.
διακοπή έργου
Παράμετροι |
Περιγραφή |
|---|---|
Αυτό το μπλοκ δεν έχει παραμέτρους. |
Παράδειγμα
όταν ξεκινά :: hat events
[Stop the project after a crash.]
για πάντα
κίνηση [εμπρός v]
αν <ανιχνεύτηκε σύγκρουση;> τότε
διακοπή έργου