Έλεγχοι#

Εισαγωγή#

Τα μπλοκ ελέγχου στο VEXcode AIR διαχειρίζονται τη ροή ενός έργου χειριζόμενα βρόχους, συνθήκες και καθυστερήσεις στην εκτέλεση μπλοκ.

Ένας βρόχος είναι όταν ένας υπολογιστής επαναλαμβάνει το ίδιο βήμα ή ομάδα βημάτων ξανά και ξανά μέχρι να του ζητηθεί να σταματήσει. Μια συνθήκη είναι ένας κανόνας που ελέγχει ο υπολογιστής για να αποφασίσει τι θα κάνει στη συνέχεια. Για παράδειγμα, το drone μπορεί να πετάξει προς τα εμπρός όταν πατηθεί ένα κουμπί του χειριστηρίου.

Παρακάτω είναι μια λίστα με τα διαθέσιμα μπλοκ:

  • wait — Διακόπτει την εκτέλεση μπλοκ για μια συγκεκριμένη διάρκεια.

  • περιμένετε μέχρι — Διακόπτει προσωρινά την εκτέλεση των μπλοκ μέχρι να ικανοποιηθεί μια καθορισμένη συνθήκη.

  • επανάληψη — Επαναλαμβάνει ένα σύνολο μπλοκ έναν συγκεκριμένο αριθμό φορών.

  • forever — Επαναλαμβάνει ένα σύνολο μπλοκ επ’ αόριστον.

  • επανάληψη μέχρι — Επαναλαμβάνει ένα σύνολο μπλοκ μέχρι να ικανοποιηθεί μια συνθήκη.

  • while — Επαναλαμβάνει ένα σύνολο μπλοκ όσο μια συνθήκη παραμένει αληθής.

  • if — Εκτελεί ένα σύνολο μπλοκ εάν μια συνθήκη είναι αληθής.

  • if / else — Εκτελεί ένα σύνολο μπλοκ εάν μια συνθήκη είναι αληθής, διαφορετικά εκτελεί ένα άλλο.

  • if / else if / else — Εκτελεί διαφορετικά σύνολα μπλοκ ανάλογα με πολλαπλές συνθήκες.

  • break — Άμεση έξοδος από έναν βρόχο.

  • διακοπή έργου — Τερματίζει το έργο.

Περιμένετε#

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

μπλοκ στοίβας αναμονής#
περίμενε (1) δευτερόλεπτα

Παράμετροι

Περιγραφή

φορά

Ο χρόνος αναμονής, ως θετικός ακέραιος αριθμός ή δεκαδικός αριθμός σε δευτερόλεπτα.

Παράδειγμα

όταν ξεκινά
[Fly for 1 second.]
απογείωση σε (500) [mm v] ▶
περίμενε [1] δευτερόλεπτα
προσγείωση ▶

περίμενε μέχρι#

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

περιμένετε μέχρι το μπλοκ στοίβας#
περίμενε μέχρι <>

Παράμετροι

Περιγραφή

κατάσταση

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

  • Λάθος - Η αναμονή συνεχίζεται
  • Σωστό - Η αναμονή σταματά και μετάβαση στο επόμενο μπλοκ

Παράδειγμα

όταν ξεκινά
[Hover at 200 mm.]
απογείωση σε [500] [mm v] ▶
ανύψωση [κάτω v]
περίμενε μέχρι <(distance [downward v] range in [mm v]) [math_less_than v] [200]>
αιώρηση
περίμενε (3) δευτερόλεπτα
προσγείωση ▶

επαναλαμβάνω#

Το μπλοκ repeat C εκτελεί τα μπλοκ που βρίσκονται μέσα σε αυτό έναν καθορισμένο αριθμό φορών.

επανάληψη μπλοκ c#
επανέλαβε [10]
τέλος

Παράμετροι

Περιγραφή

φορές

Ένας ακέραιος αριθμός που ορίζει πόσες φορές εκτελείται το μπλοκ επανάληψη.

Παράδειγμα

όταν ξεκινά
[Move back and forth four times then land.]
απογείωση σε [500] [mm v] ▶
επανέλαβε (4)
κίνηση [εμπρός v] για (500) [mm v] ▶
περίμενε (1) δευτερόλεπτα
κίνηση [backward v] για (500) [mm v] ▶
περίμενε (1) δευτερόλεπτα
τέλος
προσγείωση ▶

πάντα#

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

μπλοκ c για πάντα#
για πάντα
τέλος

Παράμετροι

Περιγραφή

Αυτό το μπλοκ δεν έχει παραμέτρους.

Παράδειγμα

όταν ξεκινά
[Move with controller.]
απογείωση σε [500] [mm v] ▶
για πάντα
κίνηση με χειριστήριο
τέλος

επαναλάβετε μέχρι#

Το μπλοκ επανάληψη μέχρι C εκτελεί τα μπλοκ που βρίσκονται μέσα σε αυτό επανειλημμένα, όσο δεν πληρούται η καθορισμένη συνθήκη.

επαναλάβετε μέχρι να μπλοκάρετε#
επανέλαβε μέχρι <>
τέλος

Παράμετροι

Περιγραφή

κατάσταση

Μια έκφραση ή μεταβλητή που ελέγχεται πριν από κάθε βρόχο. Εάν είναι Ψευδής, τα μπλοκ συνεχίζουν να επαναλαμβάνονται. Εάν είναι Αληθής, ο βρόχος θα σταματήσει.

Παράδειγμα

όταν ξεκινά
[Move with controller until button 7 is pressed.]
απογείωση σε [500] [mm v] ▶
επανέλαβε μέχρι <κουμπί χειριστηρίου [7 v] πατημένο;>
κίνηση με χειριστήριο
τέλος
προσγείωση ▶

ενώ#

Το μπλοκ while C εκτελεί τα μπλοκ στο εσωτερικό επανειλημμένα όσο πληρούται η καθορισμένη συνθήκη.

ενώ το μπλοκ c#
ενώ <>
τέλος

Παράμετροι

Περιγραφή

κατάσταση

Μια έκφραση ή μεταβλητή που ελέγχεται πριν από κάθε βρόχο. Εάν είναι True, τα μπλοκ συνεχίζουν να επαναλαμβάνονται. Εάν είναι False, ο βρόχος θα σταματήσει.

Παράδειγμα

όταν ξεκινά
[Hover at 200 mm.]
απογείωση σε [500] [mm v] ▶
ενώ <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
ανύψωση [κάτω v]
τέλος
αιώρηση
περίμενε (3) δευτερόλεπτα
προσγείωση ▶

αν#

Το μπλοκ if C εκτελεί τα μπλοκ στο εσωτερικό εάν η συνθήκη είναι True.

αν μπλοκ#
αν <> τότε
τέλος

Παράμετροι

Περιγραφή

κατάσταση

Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Εάν είναι True, τα μπλοκ μέσα στο μπλοκ if θα εκτελεστούν. Εάν είναι False, τα μπλοκ παραλείπονται.

Παράδειγμα

όταν ξεκινά
[Take a picture when button 5 is pressed.]
απογείωση σε [500] [mm v] ▶
για πάντα
κίνηση με χειριστήριο
αν <κουμπί χειριστηρίου [5 v] πατημένο;> τότε
λήψη εικόνας στην κάμερα [εμπρός v]
τέλος
τέλος

αν / αλλιώς#

Το μπλοκ C if / else καθορίζει ποιο σύνολο μπλοκ θα εκτελεστεί με βάση το αν η συνθήκη είναι True ή False.

αν τότε αλλιώς μπλοκάρει#
αν <> τότε
αλλιώς
τέλος

Παράμετροι

Περιγραφή

κατάσταση

Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Εάν είναι True, τα μπλοκ μέσα στο μπλοκ if θα εκτελεστούν. Εάν είναι False, θα εκτελεστούν τα μπλοκ μέσα στο μπλοκ else.

Παράδειγμα

όταν ξεκινά
[Climb when the left joystick is moved up.]
απογείωση σε [500] [mm v] ▶
για πάντα
αν <(θέση άξονα χειριστηρίου [1 v]) [math_greater_than v] [0]> τότε
ανύψωση [πάνω v]
αλλιώς
αιώρηση
τέλος

αν / αλλιώς αν / αλλιώς#

Το if / else if / else επεκτάσιμο μπλοκ C επιλέγει ποιο σύνολο μπλοκ θα εκτελεστεί με βάση τις συνθήκες:

  • Η συνθήκη if εκτελεί το μπλοκ κώδικά της εάν η συνθήκη αξιολογηθεί ως True.

  • Η συνάρτηση else if ελέγχει πρόσθετες συνθήκες μόνο εάν όλες οι προηγούμενες συνθήκες αξιολογηθούν ως False. Μπορούν να χρησιμοποιηθούν πολλαπλές προτάσεις else if.

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

αν αλλιώς αν αλλιώς μπλοκ#
αν <> τότε
αλλιώς αν <> τότε
αλλιώς
τέλος

Παράμετροι

Περιγραφή

κατάσταση

Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Η πρώτη συνθήκη που είναι True εκτελεί αυτό το σύνολο μπλοκ. Εάν όλες οι συνθήκες αξιολογηθούν ως False, τα μπλοκ μέσα στο μπλοκ else θα εκτελεστούν.

Παράδειγμα

όταν ξεκινά
[Move the drone up or down based on the position of the joystick.]
απογείωση σε [500] [mm v] ▶
για πάντα
αν <(θέση άξονα χειριστηρίου [1 v]) [math_greater_than v] [0]> τότε
κίνηση [εμπρός v]
αλλιώς αν <(θέση άξονα χειριστηρίου [1 v]) [math_less_than v] [0]> τότε
κίνηση [αντίστροφα v]
αλλιώς
αιώρηση
τέλος
τέλος

διακοπή#

Το μπλοκ στοίβας break τερματίζει αμέσως έναν βρόχο. Αυτό το μπλοκ μπορεί να χρησιμοποιηθεί μέσα σε μπλοκ repeat, repeat until, while και forever. Το Break είναι χρήσιμο όταν ένας βρόχος πρέπει να σταματήσει πρόωρα με βάση κάτι που συμβαίνει κατά τη διάρκεια του έργου, όπως το πάτημα ενός κουμπιού ή ένας αισθητήρας που ανιχνεύει ένα αντικείμενο.

μπλοκ στοίβας σπασίματος#
διακοπή

Παράμετροι

Περιγραφή

Αυτό το μπλοκ δεν έχει παραμέτρους.

Παράδειγμα

όταν ξεκινά
[Land when button 5 is pressed.]
απογείωση σε [500] [mm v] ▶
για πάντα
κίνηση με χειριστήριο
αν <κουμπί χειριστηρίου [5 v] πατημένο;> τότε
διακοπή
τέλος
τέλος
προσγείωση ▶

διακοπή έργου#

Το μπλοκ στοίβας διακοπή έργου τερματίζει ένα έργο που εκτελείται.

διακοπή μπλοκαρίσματος έργου#
διακοπή έργου :: control cap

Παράμετροι

Περιγραφή

Αυτό το μπλοκ δεν έχει παραμέτρους.

Παράδειγμα

όταν ξεκινά
[Stop motors after landing.]
απογείωση σε [500] [mm v] ▶
περίμενε [1] δευτερόλεπτα
προσγείωση ▶
διακοπή έργου