Ελεγχος#

Εισαγωγή#

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

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

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

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

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

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

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

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

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

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

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

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

  • break — Τερματίζει αμέσως έναν βρόχο repeat, forever, repeat until ή while.

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

Περιμένετε#

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

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

Παράμετροι

Περιγραφή

φορά

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

Παράδειγμα

Όταν ξεκινήσει, κινείται προς τα εμπρός για ένα δευτερόλεπτο και στη συνέχεια σταματά κάθε κίνηση.#
όταν ξεκινά
[Move forward for one second, then stop.]
κίνηση [εμπρός v]
περίμενε (1) δευτερόλεπτα
διακοπή όλων των κινήσεων

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

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

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

Παράμετροι

Περιγραφή

κατάσταση

Η συνθήκη που πρέπει να πληρούται πριν προχωρήσουμε στο επόμενο μπλοκ.

Παράδειγμα

Όταν ξεκινήσει, κινείται προς τα εμπρός μέχρι να πατηθεί η οθόνη και στη συνέχεια σταματά κάθε κίνηση.#
όταν ξεκινά
[Move forward until screen pressed, then stop.]
κίνηση [εμπρός v]
περίμενε μέχρι <πατήθηκε η οθόνη;>
διακοπή όλων των κινήσεων

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

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

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

Παράμετροι

Περιγραφή

φορές

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

Παράδειγμα

όταν ξεκινά
[Move in a square path.]
επανέλαβε [4]
κίνηση [εμπρός v] για [50] [mm v] ▶
στροφή [δεξιά v] για [90] μοίρες ▶
τέλος

πάντα#

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

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

Παράμετροι

Περιγραφή

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

Παράδειγμα

Όταν ξεκινήσει, κινείται συνεχώς σε μια τετράγωνη διαδρομή κινούμενος προς τα εμπρός κατά 50 mm και στρίβοντας δεξιά κατά 90 μοίρες σε έναν άπειρο βρόχο.#
όταν ξεκινά
[Move in a square path forever.]
για πάντα
κίνηση [εμπρός v] για [50] [mm v] ▶
στροφή [δεξιά v] για [90] μοίρες ▶
τέλος

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

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

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

Παράμετροι

Περιγραφή

κατάσταση

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

Παράδειγμα

Κατά την εκκίνηση, διατηρεί όλες τις λυχνίες LED κόκκινες μέχρι να πατηθεί η οθόνη και στη συνέχεια τις απενεργοποιεί.#
όταν ξεκινά
[Repeat until the screen is pressed before turning off the LEDs.]
επανέλαβε μέχρι <πατήθηκε η οθόνη;>
ρύθμισε χρώμα LED [lightall v] σε [κόκκινο v]
τέλος
ρύθμισε χρώμα LED [lightall v] σε [απενεργοποιημένο v]

ενώ#

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

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

Παράμετροι

Περιγραφή

κατάσταση

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

Παράδειγμα

Όταν ξεκινήσει, κινείται προς τα εμπρός κατά 200 mm διατηρώντας όλες τις λυχνίες LED πράσινες. Οι λυχνίες LED σβήνουν αφού σταματήσει η κίνηση.#
όταν ξεκινά
[Keep the LEDs green while the robot is moving.]
κίνηση [εμπρός v] για [200] [mm v] ◀ και μη περιμένεις
ενώ <κίνηση ενεργή;>
ρύθμισε χρώμα LED [lightall v] σε [πράσινο v]
τέλος
ρύθμισε χρώμα LED [lightall v] σε [απενεργοποιημένο v]

αν#

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

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

Παράμετροι

Περιγραφή

κατάσταση

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

Παράδειγμα

Όταν ξεκινά, ελέγχει συνεχώς αν πατιέται η οθόνη. Εάν πατηθεί, το ρομπότ κλωτσάει ένα αντικείμενο με μέτρια δύναμη.#
όταν ξεκινά
[Kick when the screen is pressed.]
για πάντα
αν <πατήθηκε η οθόνη;> τότε
κλωτσιά αντικειμένου [μεσαίο v]
τέλος
τέλος

αν / αλλιώς#

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

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

Παράμετροι

Περιγραφή

κατάσταση

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

Παράδειγμα

Όταν ξεκινά, ελέγχει συνεχώς αν έχει πατηθεί η οθόνη. Εάν πατηθεί, εμφανίζει ένα ενθουσιασμένο emoji που κοιτάζει μπροστά. Διαφορετικά, εμφανίζει ένα βαριεστημένο emoji που κοιτάζει μπροστά.#
όταν ξεκινά
[Show one emoji when the screen is touched and a different one when it's not.]
για πάντα
αν <πατήθηκε η οθόνη;> τότε
εμφάνισε [emoji_excited v] που κοιτά [εμπρός v]
αλλιώς
εμφάνισε [emoji_bored v] που κοιτά [εμπρός v]
τέλος
τέλος

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

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

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

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

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

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

Παράμετροι

Περιγραφή

κατάσταση

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

Παράδειγμα

Όταν αλλάζει η θέση του άξονα 1 του χειριστηρίου, κινείται προς τα εμπρός εάν σπρωχτεί προς τα εμπρός, κινείται προς τα πίσω εάν τραβηχτεί προς τα πίσω και σταματά όταν είναι σε νεκρά.#
όταν ο άξονας χειριστηρίου [1 v] αλλάζει
[Move the robot forward or reverse based on the position of the joystick.]
αν <(θέση άξονα χειριστηρίου [1 v]) [math_greater_than v] [0]> τότε
κίνηση [εμπρός v]
αλλιώς αν <(θέση άξονα χειριστηρίου [1 v]) [math_less_than v] [0]> τότε
κίνηση [αντίστροφα v]
αλλιώς
διακοπή όλων των κινήσεων
τέλος

διακοπή#

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

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

Παράμετροι

Περιγραφή

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

Παράδειγμα

Όταν ξεκινήσει, οι λυχνίες LED αναβοσβήνουν με κόκκινο και πράσινο χρώμα κάθε 0,5 δευτερόλεπτα μέχρι να πατηθεί η οθόνη και στη συνέχεια σταματά.#
όταν ξεκινά
[Flash LEDs until the screen is pressed.]
για πάντα
ρύθμισε χρώμα LED [lightall v] σε [κόκκινο v]
περίμενε [0.5] δευτερόλεπτα
ρύθμισε χρώμα LED [lightall v] σε [πράσινο v]
περίμενε [0.5] δευτερόλεπτα
αν <πατήθηκε η οθόνη;> τότε
διακοπή
τέλος
τέλος

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

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

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

Παράμετροι

Περιγραφή

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

Παράδειγμα

Κατά την εκκίνηση, οι λυχνίες LED αναβοσβήνουν με κόκκινο και πράσινο χρώμα κάθε 0,5 δευτερόλεπτα μέχρι να πατηθεί η οθόνη και, στη συνέχεια, διακόπτεται το έργο.#
όταν ξεκινά
[Stop the project once the screen is pressed.]
για πάντα
ρύθμισε χρώμα LED [lightall v] σε [κόκκινο v]
περίμενε [0.5] δευτερόλεπτα
ρύθμισε χρώμα LED [lightall v] σε [πράσινο v]
περίμενε [0.5] δευτερόλεπτα
αν <πατήθηκε η οθόνη;> τότε
διακοπή έργου
τέλος
τέλος