Μετάβαση στο κεντρικό περιεχόμενο
Απαιτήσεις ολοκλήρωσης

Θεωρητικό πλαίσιο

Ένα από τα βασικά χαρακτηριστικά των υπολογιστικών συστημάτων είναι ότι μπορούν να κάνουν μια εργασία πολλές φορές, επαναληπτικά- και μάλιστα με το έτερο χαρακτηριστικό τους, τη μεγάλη ταχύτητα.

Ακολουθούν οι κατηγορίες της Επαναληπτικής δομής με παραδείγματα από την πραγματική ζωή και το ψηφιακό περιβάλλον.

ΚΑΤΗΓΟΡΙΕΣ ΕΠΑΝΑΛΗΠΤΙΚΗΣ ΔΟΜΗΣ

Η επανάληψη μπορεί να γίνεται:

  • ορισμένες φορές
    Θα διαβάσω αυτό το κείμενο τρεις (3) φορές.
    Το ρομπότ στρίβει δεξιά 90 μοίρες 4 φορές.
  • για πάντα
    Ο ήλιος ανατέλλει πάντα από την ανατολή.
    Το ρομπότ κινείται για πάντα προς τα μπροστά.
  • όσο διαρκεί μια συνθήκη
    Όσο είναι ημέρα, σε όποιον συναντώ θα λέω "ΚΑΛΗΜΕΡΑ".
    Όσο το ρομπότ βρίσκεται σε μαύρη γραμμή θα κινείται επάνω της.
  • μέχρι ότου εκπληρωθεί μια συνθήκη (γίνει αληθής, ισχύσει)
    Μέχρι να γίνει νύχτα, σε όποιον συναντώ θα λέω "ΚΑΛΗΜΕΡΑ".
    Μέχρι το ρομπότ συναντήσει ένα εμπόδιο θα κινείται προς τα μπροστά.


Παραδείγματα επανάληψης

Στο μενού Control περιλαμβάνονται οι εντολές που αφορούν στην επαναληπτική δομή.


1η εντολή: επανάληψη για πάντα

2η εντολή: επανάληψη ορισμένες φορές

3η εντολή: επανάληψη μέχρι να πατηθεί ένα κουμπί του Edison (το τρίγωνο ή το στρογγυλό κουμπί)

4η εντολή: επανάληψη μέχρι να ανιχνευθεί εμπόδιο μπροστά από το Edison

5η εντολή: τέλος του προγράμματος (δεν αποτελεί εντολή επανάληψης αλλά περιλαμβάνεται στις εντολές Control).

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


  • ΠΑΡΑΔΕΙΓΜΑ 1


Με το πάτημα στο τρίγωνο κουμπί, για το ρομπότ Edison για πάντα σβήνουν τα LEDs, περιμένουμε 1 δευτερόλεπτο (επεξήγηση στην ΠΑΡΑΤΗΡΗΣΗ 3), ανάβει το αριστερό LED, σβήνουν τα LEDs, περιμένουμε 1 δευτερόλεπτο, ακούγεται ένα Beep, ανάβει το δεξί LED.

ΠΑΡΑΤΗΡΗΣΗ 1: Στην επαναληπτική δομή: για πάντα δεν υπάρχει τρόπος να προστεθεί άλλη εντολή στο τέλος ακριβώς γιατί το: για πάντα δεν τελειώνει ποτέ.

ΠΑΡΑΤΗΡΗΣΗ 2: Επειδή ίσως γίνει λίγο... εκνευριστικό να ακούμε για πάντα το Beep, για να σταματήσει να εκτελείται το πρόγραμμα πατάμε το τετράγωνο κουμπί που βρίσκεται στην επάνω επιφάνεια του ρομπότ (ανάμεσα στο τρίγωνο και στο στρογγυλό κουμπί).

ΠΑΡΑΤΗΡΗΣΗ 3: Θέσαμε την εντολή Wait for 1 second στο συγκεκριμένο παράδειγμα για να παρακολουθήσουμε λίγο πιο εύκολα την εκτέλεση του προγράμματος. Η εντολή αυτή βρίσκεται στο μενού Wait until με το οποίο θα ασχοληθούμε σε επόμενο μάθημα.

  • ΠΑΡΑΔΕΙΓΜΑ 2 


Με το πάτημα στο τρίγωνο κουμπί, το Edison κινείται μπροστά 1 δευτερόλεπτο, στρίβει για 1 δευτερόλεπτο και στη συνέχεια ξανακινείται - στρίβει και ξανακινείται - στρίβει (συνολικά 3 φορές).

ΠΑΡΑΤΗΡΗΣΗ: Σε κάθε επαναληπτική δομή εκτελούνται μία (1) φορά όλες οι εντολές που βρίσκονται μέσα στην επανάληψη και στη συνέχεια εκτελούνται και πάλι σύμφωνα με την επαναληπτική δομή που έχει επιλεγεί.

  • ΠΑΡΑΔΕΙΓΜΑ 3


Με το πάτημα στο τρίγωνο κουμπί, το Edison ανάβει τα LEDs, για 2 φορές ακούγεται το Beep και με μια αναμονή 0.3 δευτερολέπτων, κινείται μπροστά για 1 δευτερόλεπτο, για 3 φορές ακούγονται σε σειρά οι τρεις νότες (δηλαδή ακούγονται και οι τρεις (3) νότες μια φορά και μετά ξανακούγονται κ.ο.κ.).

ΠΑΡΑΤΗΡΗΣΗ: 

Το παρακάτω πρόγραμμα διαφέρει ως προς το προηγούμενο όσον αφορά στο πώς ακούγονται οι νότες. Στο πρόγραμμα αυτό ακούγεται η 1η νότα 3 φορές και μετά ακούγεται η 2η νότα 3 φορές και στο τέλος ακούγεται η 3η νότα 3 φορές.


  •  ΠΑΡΑΔΕΙΓΜΑ 4 

Με το πάτημα στο τρίγωνο κουμπί, το Edison στρίβει αριστερά για 1 δευτερόλεπτο κι ακούγεται ένα Beep μέχρι να πατηθεί το τρίγωνο κουμπί του ρομπότ.

ΠΑΡΑΤΗΡΗΣΗ: Αν δεν το προλαβαίνετε γιατί πηγαίνει γρήγορα, μάλλον θα χρειαστεί να το πάρετε στα χέρια σας για να μπορέσετε να πατήσετε το τρίγωνο κουμπί.

  • ΠΑΡΑΔΕΙΓΜΑ 5


Με το πάτημα στο τρίγωνο κουμπί, το Edison κινείται μπροστά για 1 δευτερόλεπτο, κινείται προς τα πίσω για 1 δευτερόλεπτο κι ακούγεται ένα Beep μέχρι που να συναντήσει ένα εμπόδιο (μπορείτε να θέτετε το χέρι σας μπροστά από το ρομπότ για να λειτουργεί ως εμπόδιο).

ΠΑΡΑΤΗΡΗΣΗ: Ακόμα κι αν θέσετε το χέρι σας τη στιγμή που το ρομπότ κινείται προς τα μπροστά, το ρομπότ δεν θα σταματήσει αμέσως αλλά θα εκτελεστούν οι υπολειπόμενες εντολές, δηλαδή εν προκειμένω, η κίνηση προς τα πίσω και το Beep. Αφού εκτελεστούν όλες οι εντολές εντός της επανάληψης, το ρομπότ θα σταματήσει "βλέποντας" το εμπόδιο.


Τελευταία τροποποίηση: Τετάρτη, 30 Νοεμβρίου 2022, 11:23 PM