Skip to main content
Completion requirements

Εμφώλευση- Στοίβαξη


Οι προϋποθέσεις και οι όροι που θέτουμε είναι πολύ ισχυρά στοιχεία κώδικα σε οποιαδήποτε γλώσσα προγραμματισμού, συμπεριλαμβανομένου του EdScratch. Η χρήση μπλοκ υπό όρους όπως οι δηλώσεις "if" στο EdScratch σας επιτρέπει να γράφετε πολλούς διαφορετικούς τύπους πολύπλοκων προγραμμάτων για το ρομπότ Edison.

Όλα τα μπλοκ με υπό όρους εντολές, συμπεριλαμβανομένου τόσο του  μπλοκ if όσο  και του  μπλοκ if-else, βρίσκονται στην  κατηγορία Έλεγχος στο EdScratch. Οι βρόχοι βρίσκονται επίσης στην  κατηγορία Έλεγχος.  Αυτό συμβαίνει επειδή τόσο οι υπό όρους εντολές όσο και οι βρόχοι σάς επιτρέπουν να ελέγχετε τη ροή του προγράμματός σας. Το μπλοκ if και το μπλοκ if-else έχουν και κάτι ένα ακόμα κοινό με τους βρόχους: μπορείτε να τα στοιβάξετε ή να τα εμφωλεύσετε σε προγράμματα.

Ας Θυμηθούμε

Στις γλώσσες προγραμματισμού που βασίζονται σε μπλοκ, όπως το EdScratch, η προσθήκη διαδοχικών μπλοκ ονομάζεται μερικές φορές μπλοκ στοίβαξης. Όταν χρησιμοποιείτε πολλούς βρόχους μαζί σε ένα πρόγραμμα τον ένα μετά τον άλλο, μπορείτε να πείτε ότι στοιβάζετε τους βρόχους. Μπορείτε επίσης να στοιβάξετε if και if-else μπλοκ μεταξύ τους και με βρόχους.

Ομοίως, ακριβώς όπως μπορείτε να τοποθετήσετε βρόχους τοποθετώντας ένα μπλοκ βρόχου μέσα σε ένα άλλο μπλοκ βρόχου, μπορείτε να εμφωλεύσετε if και if-else μπλοκ μεταξύ τους και με βρόχους επίσης!

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

Ενώ οι βρόχοι και οι υπό όρους εντολές ελέγχουν τη ροή ενός προγράμματος με επαναλήψεις και διακλαδώσεις, το συνολικό πρόγραμμα εξακολουθεί να ακολουθά ακολουθιακή δομή. Αυτό μπορεί να δημιουργήσει πολλές φορές σύγχυση. Όταν εξετάζετε ένα πρόγραμμα με ένθετους βρόχους και όρους, λάβετε υπόψη ότι αυτή η ακολουθιακή ροή βήμα προς βήμα συμβαίνει πάντα. Το να το θυμάστε αυτό θα σας βοηθήσει να μπορείτε να παρακολουθείστε βήμα-βήμα τι συμβαίνει σε ένα πρόγραμμα.

Παράδειγμα



Ας εξετάσουμε προσεκτικά ένα πρόγραμμα που έχουμε δει.


1.     Εάν εκτελέσετε το πρόγραμμα 1 αλλά ποτέ δεν πατήσετε το κυκλικό κουμπί, τι θα συμβεί; Γιατί?

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



Η Δημιουργία του προγράμματος

1.     Εάν εκτελέσετε το πρόγραμμα 2 αλλά ποτέ δεν πατήσετε το στρόγγυλο κουμπί, τι θα συμβεί; Γιατί?

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



2.     Αν εκτελέσετε το πρόγραμμα 2, τι πρέπει να κάνετε για να κάνετε το ρομπότ να οδηγήσει προς τα πίσωΓιατί?
........Ας το κρατήσουμε για την άσκηση 1 της εβδομάδας.


Last modified: Sunday, 13 March 2022, 8:59 PM