Τετράδιο μαθητή
ΘΕ05: Επανάληψη
Όνομα(τα):___________________________________________________
Όνομα Η/Υ:___________________________________________________
Τμήμα:_______________________Ημερομηνία:___________________
Περι-γράφοντας.
.. βρόχους
Περι-γράφοντας.
.. βρόχους
υνοψίζοντας
, τα .
.. ευρήματα από την
πρώτη δραστηριότητα
αυτής της ενότητας,
μπορούμε να πούμε ότι έχουμε αναπτύξει ένα
μηχανισμό
που μας επιτρέπει να
περιλαμβάνουμε στον αλγόριθμο κάποιο βήμα το οποίο
θα επαναλαμβάνεται
για τη λύση του
προβλήματος
.
Συγκεκριμένα είδαμε
πώς
ορίζουμε στο διάγραμμα ροής:
Σ
το
βρόχο
της δομής (το τμήμα που επαναλαμβάνεται) καθώς και
τη
συνθήκη συνέχειας
(το
λογικό ερώτημα
που 'ρυθμίζει' την επανάληψη του
βρόχου
)
α συνεχίσουμε με το παράδειγμα της πρώτης δραστηριότητας και θα γνωρίσουμε πώς
ορίζεται η
δομή επανάληψης
σε ψευδογλώσσα, στο προγραμματιστικό περιβάλλον του
διερμηνευτή.
Θ
Το πρόβλημα:
Στην αρχή της σχολική χρονιάς, επισκέπτεται το σχολείο ο προπονητής της τοπικής ομάδας
μπάσκετ, προκειμένου να αναγνωρίσει … ταλέντα. Χωρίς να έχει, σε πρώτη φάση, τη
δυνατότητα να δοκιμάσει τους μαθητές στο γήπεδο, αποφασίζει να κάνει μία πρώτη διαλογή με
βάση το ύψος τους. Ο προπονητής ενδιαφέρεται να μετρήσει πόσοι μαθητές πληρούν το .
..
κριτήριο ύψους που έχει θέσει, οπότε έχει βάλει τους μαθητές κατά σειρά ύψους και τους
εξετάζει από τον ψηλότερο προς τον κοντύτερο. Τον ενδιαφέρουν μαθητές με ύψος πάνω από
1.70.
Θα πρέπει να κατασκευάσετε τον αλγόριθμο που θα εξετάζει τα ύψη των μαθητών με τη
σειρά που περιμένουν και θα μετράει τους .
..
ψηλούς
μαθητές!
1. Γνωρίστε τη
δομή επανάληψης
σε ψευδογλώσσα
κολουθήστε το σύνδεσμο
Μέτρηση Ψηλών (Πρόγραμμα) (δεξί κλικ -> Αποθήκευση προορισμού ως..)
Στο
χώρο κωδικοποίησης
θα εμφανιστεί το
πρόγραμμα
που αντιστοιχεί στο
διάγραμμα
ροής
της προηγούμενης δραστηριότητας. Μπορείτε να εξετάσετε το αντίστοιχο διάγραμμα
ροής, ακολουθώντας το σύνδεσμο
Μέτρηση Ψηλών (Διάγραμμα)
και να συγκρίνετε τις δύο
μορφές αναπαράστασης αλγορίθμου (
ψευδογλώσσα
vs
διάγραμμα ροής
).
Παρατηρήστε
την
εμφανή αντιστοιχία
των
σχημάτων
του
διαγράμματος
με τις
δεσμευμένες λέξεις
του
κώδικα
(οι
οποίες
χρωματίζονται
αυτόματα από το διερμηνευτή με
μπλε
).
Α
πορείτε να κάνετε την αντιστοίχιση συμπληρώνοντας τις λέξεις που λείπουν στο
παρακάτω κείμενο;
Μ
Ο
ρόμβος
του Διαγράμματος Ροής, είναι η λέξη
____
του κώδικα
Το
κλωνάρι
της ενέργειας στο ΔΡ,είναι η λέξη
_________
του κώδικα
Το
σημείο
επανασύνδεσης
στο κορμό,
είναι η λέξη
______________
του κώδικα
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 1 -
Αλγοριθμική & Προγραμματισμός
Περι-γράφοντας.
.. βρόχους
Τετράδιο μαθητή
2. Εκτελέστε το πρόγραμμα
κτελέστε
το πρόγραμμα
βηματικά
παρακολουθώντας την εξέλιξη της μνήμης στην
περιοχή
μεταβλητών
. Δοκιμάστε τις παρακάτω τιμές και παρακολουθείστε την
κυκλική εκτέλεση
των βημάτων του βρόχου:
Ε
1.83, 1.78, 1.77, 1.75, 1.71, 1.68, 1.65, 1.60
υμπληρώστε τα στοιχεία που λείπουν στο παρακάτω πλαίσιο, ώστε να σχηματίσετε
σωστές προτάσεις:
Σ
Η δομή _ _ _ _ ' _ _ _ _ _ θα εκτελείται ' _ _ το ύψος θα είναι
_ _ _ _ _ ' _ _ _ _ από το 1.70. Ο _ _ ' _ _ _ θα εκτελεστεί
_ ' _ _ _ φορές. Η τιμή που θα τον τερματίσει είναι η ' _ _ _,
αφού είναι ο _ _ ' _ _ _ αριθμός, στη σειρά, που
(είναι/δεν είναι)
_ _ _ _ _ ' _ _ _ _ _ από το 1.70.
3. Στάση .
..
για
ΑΝΑΚΕΦΑΛΑΙΩΣΗ
Σε προηγούμενη ενότητα είχαμε δει ότι η
δομή της απλής επιλογής μας
επιτρέπει να
περιγράφουμε ενέργειες που
δε γίνονται πάντοτε αλλά μόνο ΑΝ
ισχύει κάποια συνθήκη. Η
δομή επανάληψης
επεκτείνει αυτή τη λογική και μας επιτρέπει να περιγράφουμε ενέργειες οι
οποίες
δε γίνονται πάντα αλλά μπορούν να επαναλαμβάνονται ΟΣΟ
ισχύει κάποια συνθήκη.
Οι
ομοιότητες
της
δομής
επανάληψης
με τη
δομή
απλής επιλογής
είναι ουσιαστικές, αφού και
οι δύο ξεκινάνε με έλεγχο της συνθήκης:
αν ισχύει, η ροή εκτέλεσης εκτρέπεται και ακολουθεί το κλωνάρι
αν δεν ισχύει η ροή ακολουθεί τον κορμό του διαγράμματος, παραλείποντας την
ενέργεια (ή τις ενέργειες) του κλώνου
η μόνη (και βασική)
διαφορά
τους είναι ότι,
ενώ στην
επιλογή
η ροή ξανα-βρίσκει τον κορμό στη συνέχεια
στην
επανάληψη
η ροή
επιστρέφει
στη συνθήκη ώστε να ξανα-ελέγξει αν πρέπει να
κάνει γίνει επανάληψη (να
συνεχίσει
)
Γι' αυτό το λόγο, η συνθήκη στη
δομή επανάληψης
ονομάζεται
συνθήκη συνέχειας
.
και .
..
ΜΕΘΟΔΕΥΣΗ
Αρκετά προβλήματα μπορούν να λυθούν εκτελώντας κάποια ενέργεια επαναληπτικά.
Ουσιαστικό βήμα για τη σωστή δόμηση της λύσης είναι να εντοπίσουμε σε
τι
αντιστοιχεί κάθε
επανάληψη. Αυτό είναι η
κεντρικός άξονας
της λύσης μας.
Στο παράδειγμά μας, κάθε
επανάληψη αντιστοιχεί σε ένα μαθητή !
Στη συνέχεια, δομούμε τη λύση μας ακολουθώντας 4 βήματα. Τα βήματα αυτά
περιγράφονται
στη συνέχεια και
παρουσιάζονται
(χρωματικά) στο σχήμα που ακολουθεί:
1.
συνθήκη συνέχειας
: προσδιορίζουμε το
λογικό ερώτημα
(τη συνθήκη) που θα πρέπει να
ελέγχεται στην αρχή κάθε επανάληψης ώστε να εξασφαλίζεται ότι (η επανάληψη)
χρειάζεται.
Στο
παράδειγμά
μας ήταν ο έλεγχος του ύψους: Ύψος > 1.70
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 2 -
Αλγοριθμική & Προγραμματισμός
Τετράδιο μαθητή
ΘΕ05: Επανάληψη
2.
προετοιμασία 1ης επανάληψης
: φροντίζουμε για τη σωστή
εικόνα της μνήμης
όταν θα
γίνει ο
πρώτος
έλεγχος της
συνθήκης συνέχειας
. Οι μεταβλητές που συμμετέχουν στη
συνθήκη θα πρέπει να έχουν τις σωστές τιμές ώστε ο έλεγχος που θα γίνει να αφορά
στην
πρώτη
(πιθανή) επανάληψη. Οι εντολές που απαιτούνται περιλαμβάνονται στον
κορμό,
πριν
τον έλεγχο της συνθήκης συνέχειας
Στο
παράδειγμά
μας η μόνη μεταβλητή που έπρεπε να 'φροντίσουμε' ήταν η μεταβλητή
Ύψος, κάτι που έγινε με την εντολή: ΔΙΑΒΑΣΕ Ύψος (στον κορμό, πριν τον έλεγχο
συνθήκης)
3.
επαναλαμβανόμενη ενέργεια
: περιλαμβάνουμε στο βρόχο την ενέργεια (ή τις ενέργειες)
που πρέπει να εκτελεστούν
για κάθε επανάληψη
.
Στο
παράδειγμά
μας χρειαζόταν απλά να 'μετρήσουμε' το μαθητή, κάτι που γίνεται με
την εντολή : πλήθος <-- πλήθος + 1
Σημείωση:
Συχνά, οι μηχανισμοί που χρησιμοποιούνται, προϋποθέτουν την εκτέλεση
κάποιων εντολών (αρχικοποίησης) πριν από την .
.. εκκίνηση του βρόχου. Στο
παράδειγμά μας χρειαζόταν η αρχικοποίηση του μετρητή με την εντολή πλήθος <-- 0
4.
προετοιμασία.
.. επόμενης επανάληψης
: φροντίζουμε για τη σωστή
εικόνα της μνήμης
όταν θα γίνει ο
επόμενος
έλεγχος της
συνθήκης συνέχειας
. Οι μεταβλητές που
συμμετέχουν στη συνθήκη θα πρέπει να έχουν τις σωστές τιμές ώστε ο έλεγχος που
θα γίνει να αφορά στην
επόμενη
(πιθανή) επανάληψη. Οι εντολές που απαιτούνται
περιλαμβάνονται στο βρόχο,
πριν
την επιστροφή στη
συνθήκη συνέχειας
.
Στο
παράδειγμά
μας η μόνη μεταβλητή που έπρεπε να 'φροντίσουμε' ήταν η μεταβλητή
Ύψος, κάτι που έγινε με την εντολή: ΔΙΑΒΑΣΕ Ύψος (στο βρόχο, πριν την επιστροφή
στον έλεγχο συνθήκης)
Σημείωση:
Συχνά, οι ενέργειες που περιλαμβάνονται στο 3ο βήμα, έχουν ήδη φροντίσει
για τη σωστή προετοιμασία της μνήμης (όπως θα δείτε σε άλλες ασκήσεις). Επομένως,
χρειάζεται να γίνεται ένας έλεγχος και, πιθανά, συμπλήρωση με όποιες ενέργειες
(ίσως) απομένει να περιληφθούν.
4. Δοκιμάστε ξανά σε παρόμοιο πρόβλημα
Μελετήστε το παρακάτω πρόβλημα:
Ένας μαθητής έπεισε τον πατέρα του να εργαστεί στις διακοπές του για να ενισχύσει τα .
..
οικονομικά του. Με τον .
.. εργοδότη του συμφώνησαν ότι θα πληρώνεται στο τέλος κάθε
εβδομάδας όπως καθώς και για το αρχικό, εβδομαδιαίο, ποσό που θα του δίνει. Επίσης
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 3 -
Αλγοριθμική & Προγραμματισμός
Περι-γράφοντας.
.. βρόχους
Τετράδιο μαθητή
συμφώνησαν ότι θα του αυξάνει κάθε εβδομάδα την αμοιβή κατά 2€. Σχεδιάστε αλγόριθμο που
θα ζητάει το ποσό που συμφωνήθηκε και θα υπολογίζει μετά από πόσες εβδομάδες θα
ξεπεράσει τα 50€.
Προσπαθήστε να λύσετε το πρόβλημα τόσο με
διάγραμμα ροής
όσο και με
πρόγραμμα
.
Ακολουθήστε τα βήματα που διαπιστώσαμε ότι χρειάζονται:
Κάθε επανάληψη αφορά μία
εβδομάδα.
Επόμενη
επανάληψη
... σημαίνει επόμενη
εβδομάδα
.
Επομένως
κεντρικός άξονας
της άσκησης, είναι η
εβδομάδα
.
1.
συνθήκη συνέχειας
: ποιο είναι το
λογικό ερώτημα
(η συνθήκη) που θα πρέπει να
ελέγχεται στην αρχή κάθε επανάληψης (κάθε εβδομάδας) ώστε να εξασφαλίζεται ότι (η
επανάληψη) χρειάζεται (μας ενδιαφέρει η .
.. επόμενη εβδομάδα);
Η
συνθήκη συνέχειας
είναι :
2.
προετοιμασία 1ης επανάληψης
: ποια είναι η εντολή που θα εξασφαλίσει τη σωστή
εικόνα της μνήμης
όταν θα γίνει ο
πρώτος
έλεγχος της
συνθήκης συνέχειας
(πριν από
την .
.. πρώτη εβδομάδα)
;
Η πρώτη επανάληψη χρειάζεται για .
.. προετοιμασία την εξής εντολή:
3.
επαναλαμβανόμενη ενέργεια
: ποια είναι η εντολή που πρέπει να περιλάβουμε στο
βρόχο ώστε να εκτελείται για κάθε εβδομάδα (για κάθε επανάληψη) προκειμένου να
υπολογίσουμε ό,τι ζητάει η εκφώνηση;
Διαβάστε προσεκτικά την εκφώνηση και παρατηρήστε την ομοιότητα αυτής της
άσκησης με την προηγούμενη!
Ο μηχανισμός που πρέπει να υλοποιήσουμε είναι ο μηχανισμός του
_ _ _ _ _ _ '. Για την υλοποίησή του, χρειάζονται:
1.
μέσα
στην
επανάληψη
η εντολή:
και
2.
πριν από
την
επανάληψη
η εντολή:
(ως αρχικοποίηση)
4.
προετοιμασία.
.. επόμενης επανάληψης
: ποια εντολή χρειάζεται να περιλάβουμε ώστε
να εξασφαλίσουμε τη σωστή
εικόνα της μνήμης
όταν θα γίνει ο
επόμενος
έλεγχος της
συνθήκης συνέχειας
(πριν την
επόμενη
εβδομάδα)
;
Προκειμένου η συνθήκη συνέχειας να εξετάσει στοιχεία που αφορούν
στην επόμενη εβδομάδα, θα πρέπει πριν την
επιστροφή
του βρόχου
να περιλάβουμε την εντολή:
5. Κάντε ένα .
.. λάθος !!
λλάξτε τη
συνθήκη συνέχειας
σε:
ποσό > 0
και εκτελέστε ξανά το πρόγραμμα. Μετά από
πόσες επαναλήψεις θα τερματίσει ο αλγόριθμος;
Α
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 4 -
Αλγοριθμική & Προγραμματισμός
Τετράδιο μαθητή
ΘΕ05: Επανάληψη
Με τη νέα συνθήκη ο βρόχος
(τερματίζει / δεν τερματίζει).
Η δομή αυτή ονομάζεται
ατέρμων βρόχος
και αποτελεί
σοβαρό
αλγοριθμικό λάθος
!
Δεν πρέπει ποτέ να συμβαίνει σε ένα αλγόριθμο
!
6. Επανάληψη με .
.. λέξεις
Δοκιμάστε τις γνώσεις (και τη φαντασία) σας:
συμπληρώνοντας τις λέξεις στο παρακάτω σταυρόλεξο
ή
ακολουθώντας το σύνδεσμο
Σταυρόλεξο
Οριζόντια
3. η δεσμευμενη λέξη της ψευδογλώσσας που αντιστοιχεί στο ρόμβο
7. η δεσμευμένη λέξη της ψευδογλώσσας που .
.. ξεκινάει το κλωνάρι
8. η απάντηση στην .
.. ερώτηση όταν δεν ισχύει η συνθήκη
10. πριν από το ρόμβο οι εντολές της
14. τέτοια δομή ο βρόχος
15. τέτοιος ο βρόχος που δεν τερματίζει
17. του μετρητή αυτή, πριν από το βρόχο γίνεται
19. τέτοια η συνθήκη στη δομή επανάληψης
Κατακόρυφα
1. όσο συμβαίνει αυτό με τη συνθήκη, συνεχίζονται οι επαναλήψεις
2. και έτσι το τμήμα που επαναλαμβάνεται
4. και τόσες .
.. φορές μπορεί να εκτελεστεί ο βρόχος
5. η απάντηση στην .
.. ερώτηση όταν ισχύει η συνθήκη
6. όταν συμβαίνει αυτό με τη συνθήκη.
.. τερματίζει ο βρόχος (δύο λέξεις ΧΩΡΙΣ κενό)
9. επέκταση αυτής της δομής η επανάληψη (δύο λέξεις ΧΩΡΙΣκενό)
11. αυτό του κάνει του μετρητή η εντολή του βρόχου, τον .
..
12. τόσα τα βήματα για τη δόμηση της επανάληψης
13. ο μηχανισμός του μας επιτρέπει να .
.. μετράμε επαναλήψεις
16. στα .
.. νέα ελληνικά ο βρόχος
18. αυτό το βήμα για να βρούμε τη συνθήκη
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 5 -
Αλγοριθμική & Προγραμματισμός
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
EclipseCrossword.com