Διακόπτης#

Εισαγωγή#

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

Για να μάθετε πώς να πληκτρολογείτε εντολές, μεθόδους και τελεστές Python, ανατρέξτε στο VEX IQ (2ης γενιάς) Python API.

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

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

Εναλλαγή μπλοκ — Προσθήκη κώδικα Python σε ένα έργο Blocks.

  • Stack — Παρέχει χώρο για την πληκτρολόγηση εντολών Python που εκτελούνται σε ακολουθία με άλλα μπλοκ στοίβας.

  • C Block — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα ελέγχου Python, όπως if, whileή for εντολές.

  • C Expandable — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα ελέγχου Python με πολλαπλούς κλάδους, όπως if, elifή else.

  • Boolean — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα Python που επιστρέφει True ή False.

  • Reporter — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή.

  • Hat — Παρέχει ένα κενό για τον ορισμό μιας συνάρτησης Python.

Σωρός#

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

Μπλοκ στοίβας#
[] :: custom-switch

Ένα μπλοκ Stack μπορεί να περιέχει μία γραμμή ή πολλές γραμμές κώδικα Python.

Όταν ξεκινήσει, χρησιμοποιεί ένα μπλοκ Stack για να μετακινήσει το ρομπότ προς τα εμπρός.#
όταν ξεκινά
[Move the robot forward.]
[drivetrain.drive_for(FORWARD, 400, MM)] :: custom-switch

Μπλοκ Γ#

Το C Block παρέχει έναν χώρο για την πληκτρολόγηση κώδικα ελέγχου Python, όπως εντολές if, whileή for . Τα μπλοκ που τοποθετούνται μέσα στο C Block εκτελούνται ως μέρος αυτής της δομής ελέγχου Python.

Μπλοκ Γ#
if [] :: custom-switch
τέλος

Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Block περιλαμβάνει:

Όταν ξεκινήσει, χρησιμοποιεί ένα C Block για να γυρίσει ενώ κρατάει πατημένο ένα κουμπί Brain.#
όταν ξεκινά
[Turn while a button is held down.]
if [while brain.buttonCheck.pressing():] :: custom-switch
στροφή [δεξιά v]
τέλος
διακοπή κίνησης

C Επεκτάσιμο#

Το μπλοκ C Expandable παρέχει έναν χώρο για την πληκτρολόγηση κώδικα ελέγχου Python με πολλαπλούς κλάδους, όπως if, elifή else. Πρόσθετοι κλάδοι μπορούν να προστεθούν επιλέγοντας το βέλος συν.

C Επεκτάσιμο μπλοκ#
if [] :: custom-switch-expand
τέλος

Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Expandable μπλοκ περιλαμβάνει:

Όταν ξεκινήσει, χρησιμοποιεί ένα επεκτάσιμο μπλοκ C για να στρίψει δεξιά όταν κρατηθεί πατημένο ένα κουμπί εγκεφάλου και να το αφήσει διαφορετικά.#
όταν ξεκινά
[Turn right if a button is held down, otherwise turn left.]
για πάντα
if [if brain.buttonCheck.pressing():] :: custom-switch-expand
στροφή [δεξιά v]
else [else:] :: custom-switch-expand
στροφή [αριστερά v]
τέλος
τέλος

Λογική τιμή#

Το μπλοκ Boolean παρέχει έναν χώρο για την πληκτρολόγηση κώδικα Python που επιστρέφει True ή FalseΜπορεί να τοποθετηθεί μέσα σε μπλοκ με εξαγωνικές εισόδους.

Λογικό μπλοκ#
<[] :: custom-switch>

Ένα Boolean μπλοκ μπορεί να περιέχει μια συνθήκη Python.

Λογικό μπλοκ με συνθήκη Python#
<[brain.buttonCheck.pressing()] :: custom-switch>

Ένα Boolean μπλοκ μπορεί επίσης να χρησιμοποιήσει λογικούς τελεστές:

Λογικό μπλοκ με λογικό τελεστή Python#
<[controller.buttonRUp.pressing() and controller.buttonLUp.pressing()] :: custom-switch>

Ένα Boolean μπλοκ μπορεί να χρησιμοποιήσει τελεστές σύγκρισης για να συγκρίνει τιμές:

  • Μεγαλύτερο από: >

  • Λιγότερο από: <

  • Ίσο με: ==

  • Άλλοι τελεστές σύγκρισης περιλαμβάνουν <=, !=και >=

Λογικό μπλοκ με τελεστή σύγκρισης Python#
<[brain_inertial.heading()> 100] :: custom-switch>
Όταν ξεκινήσει, χρησιμοποιεί ένα Boolean μπλοκ για να περιστραφεί όταν πατηθεί ένα κουμπί του Εγκεφάλου.#
όταν ξεκινά
[Spin in a circle when a button is pressed.]
για πάντα
αν <[brain.buttonCheck.pressing()] :: custom-switch> τότε
στροφή [δεξιά v] για (360) μοίρες ▶
τέλος
τέλος

Δημοσιογράφος#

Το μπλοκ Reporter παρέχει έναν χώρο για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή. Μπορεί να τοποθετηθεί μέσα σε μπλοκ με κυκλικές εισόδους.

Μπλοκάρισμα δημοσιογράφων#
([] :: custom-switch)

Ένα μπλοκ Reporter μπορεί να περιέχει κώδικα Python που επιστρέφει μια τιμή.

Μπλοκ αναφοράς με κώδικα Python που επιστρέφει μια τιμή#
([drivetrain.heading()] :: custom-switch)

Οι μαθηματικοί τελεστές μπορούν να χρησιμοποιηθούν σε ένα μπλοκ Reporter:

  • Πρόσθεση: +

  • Αφαίρεση: -

  • Διαίρεση: /

  • Πολλαπλασιασμός: *

Μπλοκ αναφοράς με προσθήκη Python#
([brain_inertial.heading() + 45] :: custom-switch)
Όταν ξεκινήσει, εκτυπώνει την τρέχουσα κατεύθυνση αφού το ρομπότ γυρίσει.#
όταν ξεκινά
[Turn and display the current heading.]
στροφή [δεξιά v]
περίμενε (2) δευτερόλεπτα
διακοπή κίνησης
εκτύπωση ([drivetrain.heading()] :: custom-switch) στην οθόνη ▶

Καπέλο#

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

Μπλοκ καπέλων#
[] :: hat custom-switch

Πληκτρολογήστε έναν ορισμό συνάρτησης Python στο μπλοκ Hat. Οι παράμετροι μπαίνουν μέσα στις παρενθέσεις. Εάν η συνάρτηση δεν χρησιμοποιεί παραμέτρους, χρησιμοποιήστε κενές παρενθέσεις.

Μπλοκ Hat με ορισμό συνάρτησης Python#
[def function_name(parameter):] :: hat custom-switch
Όταν ξεκινήσει, χρησιμοποιεί ένα μπλοκ Hat για να ορίσει και να καλέσει μια συνάρτηση.#
[def drive_400():] :: hat custom-switch
[Create a function to drive the robot forward.]
κίνηση [εμπρός v] για (400) [mm v] ▶

όταν ξεκινά
[drive_400()] :: custom-switch