Professional Documents
Culture Documents
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
ΑΣΚΗΣΕΙΣ
2.2.7.4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
Αλγόριθμος ασκηση1
χ ← 90
Όσο χ ≤ 100 επανάλαβε
Εμφάνισε χ
χ ← χ + 1
Τέλος_επανάληψης
Τέλος ασκηση1
Αλγόριθμος ασκηση2
Διάβασε χ
Όσο χ < 20 επανάλαβε
Εμφάνισε χ
χ ← χ + 1
Τέλος_επανάληψης
Τέλος ασκηση2
Αλγόριθμος ασκηση3
ατομα ← 0
Όσο ατομα < 5 επανάλαβε
Εμφάνισε "Εισάγετε 2 αριθμούς"
Διάβασε α, β
γ ← α + β
Εμφάνισε γ
ατομα ← ατομα + 1
Τέλος_επανάληψης
Τέλος ασκηση3
Αλγόριθμος ασκηση4
Διάβασε x
y ← x + 1
Όσο x > 0 και y < 9 επανάλαβε
y ← y + x
x ← x - 1
Τέλος_επανάληψης
y ← y + 1
Εμφάνισε y
Τέλος ασκηση4
2.2.7.4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
Η εντολή αυτή όπως και η ΟΣΟ έχει μία συνθήκη μόνο που ο έλεγχος της γίνεται αφού
πρώτα εκτελέσει τις εντολές που έχει (άρα οι επαναλήψεις θα είναι από μία και πάνω). Για
να σταματήσει την επανάληψη θα πρέπει η συνθήκη να γίνει Ψευδής.
Παράδειγμα : Να γραφτεί τμήμα προγράμματος που διαβάζει βαθμούς και τους εμφανίζει
μέχρι να του δοθεί ο αριθμός -1. Θεωρήστε ότι θα διαβάσει τουλάχιστον ένα βαθμό.
ΔΙΑΒΑΣΕ βαθμός
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ βαθμός
ΔΙΑΒΑΣΕ βαθμός
ΜΕΧΡΙΣ_ΟΤΟΥ βαθμός = -1
Παράδειγμα : Να γραφεί αλγόριθμος που να διαβάζει έναν αριθμό, θα τον διαιρεί με το δύο
και θα εμφανίζει το αποτέλεσμα. Αυτό θα επαναλαμβάνεται συνεχώς μέχρι να δοθεί ο
αριθμός 0 που δεν θα συμμετέχει στις πράξεις.
Αλγόριθμος Αριθμός
Αρχή επανάληψης
Διάβασε Χ
Αν Χ<>0 τότε
Υ←Χ/2
Εμφάνισε Υ
Τέλος_αν
Μέχρις_ότου Χ=0
Τέλος Αριθμός
2.2.7.4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
Επομένως η χρήση της είναι περιορισμένη και δεν μπορεί να χρησιμοποιηθεί για να
την αντιμετώπιση όλων των προβλημάτων που χρειάζονται την επαναληπτική δομή.
Σ = 10 + 20 + 30+…+ 200
ΘΕΜΑ Α
ΘΕΜΑ Β
Στο μαραθώνιο της Αθήνας τρέχουν 15000 δρομείς από διάφορες χώρες του κόσμου.
Να γραφεί αλγόριθμος ο οποίος: Για κάθε αθλητή θα διαβάζει τη χώρα προέλευσης,
εμφανίζει πόσοι Έλληνες δρομείς αγωνίστηκαν.
ΘΕΜΑ Γ
Σε κάποιο σημείο της Εθνικής οδού είναι εγκατεστημένο ένα ειδικό σύστημα το
οποίο μετράει την ταχύτητα των οχημάτων με μεγάλη ακρίβεια. Το όριο ταχύτητας
στο συγκεκριμένο σημείο είναι 100 Km/h. Να γράψετε αλγόριθμο ο οποίος για 5
οχήματα: α)Να διαβάζει τον αριθμό πινακίδας και την ταχύτητα κάθε οχήματος.
β)Να εμφανίζει το πλήθος των οχημάτων που ξεπέρασαν το όριο ταχύτητας. γ)Να
εμφανίζει την υψηλότερη ταχύτητα που πέρασε κάποιος.
ΘΕΜΑ Δ
ΠΡΟΓΡΑΜΜΑ ΑΣΚ_9
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Σ,Ι
ΑΡΧΗ
Σ<--0
ΓΙΑ Ι ΑΠΟ 10 ΜΕΧΡΙ 200 ΜΕ_ΒΗΜΑ 10
Σ<--Σ+Ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΤΟ ΑΘΡΟΙΣΜΑ ΕΙΝΑΙ:',Σ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
2.2.7.4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
Αλγόριθμος Α60
διάβασε x
y ←x+1
y ← y+x
x ← x-1
Τέλος_επανάληψης
y ← y+1
Εμφάνισε y
Τέλος Α6
2.2.7.4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
2.2.7.4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
Πριν ξεκινήσει να εκτελεί τις εντολές της η ΟΣΟ, ελέγχει αν ικανοποιείται η συνθήκη
της. Αν ικανοποιείται, τότε τις εκτελεί και ελέγχει ξανά τη συνθήκη της.
Αν η συνθήκη της είναι από την αρχή Ψευδής, τότε η ΟΣΟ δεν θα εκτελεστεί
καθόλου!
Αν η συνθήκη της είναι συνεχώς Αληθής, τότε η ΟΣΟ δεν θα σταματήσει ποτέ!
(Ατέρμονας βρόχος). Επομένως, για να σταματήσει κάποτε η ΟΣΟ να εκτελείται, θα
πρέπει μέσα στο σώμα της να υπάρχουν εντολές που επηρεάζουν τη συνθήκη της. Αν
δεν υπάρχουν τέτοιες εντολές, τότε θα εκτελείται επ’ άπειρον.
Παραδείγματα:
• Γενικά, όταν η επανάληψη μπορεί και να μην εκτελεστεί και καμία φορά.
• Όταν η επανάληψη τερματίζεται με μη έγκυρη τιμή (τιμή φρουρός). Για
παράδειγμα, η επανάληψη τερματίζεται όταν δοθεί σαν ηλικία μαθητή το -1.
• Όταν μία μεταβλητή δεν πρέπει να ξεπεράσει ένα όριο. Για παράδειγμα, σε ένα
2.2.7.4 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ
φορτηγό δεν μπορούμε να φορτώσουμε περισσότερο βάρος από αυτό που μπορεί να
μεταφέρει.
Αν πρέπει να διαβάσουμε πολλές τιμές εκτός από τις τιμές που ελέγχουν την
επανάληψη, τότε:
• Διαβάζουμε τις τιμές που ελέγχουν την ΟΣΟ, πριν ξεκινήσει η επανάληψη.
• Μόλις μπαίνουμε στην ΟΣΟ διαβάζουμε τα υπόλοιπα δεδομένα.
• Πριν κλείσει η ΟΣΟ, ξαναδιαβάζουμε τις τιμές που την ελέγχουν