SlideShare una empresa de Scribd logo
1 de 14
Εισαγωγή στις Αρχές Της
Επιστήμης των ΗΥ
Κεφάλαιο 2_2_7_4: Δομή Επανάληψης
Ιωάννου Γιαννάκης
23/12/2015
Δομή Επανάληψης
Λίγοι αλγόριθμοι χρησιμοποιούν μόνο τις δομές
ακολουθίας και επιλογής. Στα ρεαλιστικά
προβλήματα χρειάζεται συνήθως μια σειρά εντολών να
επαναληφθεί πολλές φορές.
Άλλωστε σε τέτοια προβλήματα «αξίζει τον κόπο» να
εκπονηθεί κάποιος αλγόριθμος και στη συνέχεια να
υλοποιηθεί ένα αντίστοιχο πρόγραμμα υπολογιστή.
Οι επαναληπτικές διαδικασίες μπορεί να έχουν διάφορες
μορφές και να εμπεριέχουν συνθήκες επιλογών, όπως
αυτές που περιγράφηκαν στις προηγούμενες
παραγράφους.
Δομή Επανάληψης
Παράδειγμα 2.14. Να εκπονηθεί αλγόριθμος ο οποίος με δεδομένο ένα
θετικό ακέραιο αριθμό θα εμφανίζει τους ακέραιους αριθμούς από το 1
μέχρι και τον δεδομένο αριθμό Ν.
Οι ζητούμενοι αριθμοί μπορούν να παραχθούν με ένα συστηματικό τρόπο,
αφού ο καθένας δημιουργείται από τον προηγούμενό του
προσθέτοντας το 1. Με την αξιοποίηση αυτού του γεγονότος, ο
αλγόριθμος δημιουργεί κάθε νέο αριθμό σε μια μεταβλητή, έστω i. Αυτό
μπορεί να γίνει με τη χρήση της εντολής εκχώρησης: i ← i + 1.
Οπότε προκύπτει το ακόλουθο:
i ← 1
Εμφάνισε i ! Εμφανίζεται το 1
i ← i + 1
Εμφάνισε i ! Εμφανίζεται το 2
i ← i + 1
Εμφάνισε i ! Εμφανίζεται το 3
…..
Δομή Επανάληψης
Όσο … Επανάλαβε
Εντολή Όσο ... Επανάλαβε
Σύνταξη
Όσο Συνθήκη επανάλαβε
Εντολές
Τέλος_επανάληψης
 Η συνθήκη τερματισμού ελέγχεται στην
αρχή του βρόχου
 Οι εντολές επαναλαμβάνονται όσο η
συνθήκη είναι Αληθής
 Οι εμπεριεχόμενες εντολές μπορεί να
μην εκτελεστούν ποτέ
 Ο βρόχος τερματίζεται όταν η συνθήκη
γίνει ψευδής.
Δομή Επανάληψης
Όσο … Επανάλαβε
Το ζεύγος των εντολών i ← i + 1 και Εμφάνισε i επαναλαμβάνεται αυτούσιο. Αν
μπορούσαν οι εντολές αυτές να γραφούν μία φορά και να εκτελεστούν Ν φορές,
τότε το πρόβλημα θα λυνόταν. Αυτό επιτυγχάνεται με τις εντολές επανάληψης. Το
πόσες φορές μπορούν να εκτελεστούν οι εντολές επανάληψης καθορίζεται με
διαφορετικούς τρόπους.
Στο παράδειγμα οι εντολές εκτελούνται όσο διάστημα η μεταβλητή i είναι μικρότερη ή
ίση της μεταβλητής Ν.
Κατόπιν αυτών ο αλγόριθμος γίνεται:
Αλγόριθμος Σειρά_αριθμών
Δεδομένα // Ν //
i ← 1
Όσο i ≤ Ν επανάλαβε
Εμφάνισε i
i ← i + 1
Τέλος_επανάληψης
Τέλος Σειρά_αριθμών
Συχνά η μεταβλητή i αποκαλείται μετρητής, επειδή αυξάνεται κατά 1. Σε άλλες
περιπτώσεις όμως το βήμα αύξησης μπορεί να είναι οποιοδήποτε.
Δομή Επανάληψης
Όσο … Επανάλαβε
Παράδειγμα 2.15. Να γραφεί αλγόριθμος ο οποίος διαβάζει το όνομα ενός μαθητή,
τους βαθμούς του σε τρία μαθήματα και υπολογίζει και τυπώνει το μέσο όρο του.
Ο αλγόριθμος να σταματάει, όταν για όνομα μαθητή δοθεί το κενό εμφανίζοντας
το πλήθος των μαθητών για τους οποίους υπολογίστηκε ο μέσος όρος.
Αλγόριθμος Μέσος_όρος
Πλήθος_μαθητών ← 0
Διάβασε όνομα
Όσο όνομα ≠ '' '' επανάλαβε
Διάβασε βαθμός1, βαθμός2, βαθμός3
Εμφάνισε (βαθμός1 + βαθμός2 + βαθμός3) / 3
Πλήθος_μαθητών ← Πλήθος_μαθητών + 1
Διάβασε όνομα
Τέλος_επανάληψης
Εμφάνισε Πλήθος_μαθητών
Τέλος Μέσος_όρος
Δομή Επανάληψης
Όσο … Επανάλαβε
Παράδειγμα 2.16. Σε ένα σουπερμάρκετ κάθε πελάτης δικαιούται μια δωροεπιταγή 6 €
αν συμπληρώσει 200 πόντους. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει
τους πόντους που κερδίζει ένας συγκεκριμένος πελάτης σε κάθε επίσκεψη στο
σουπερμάρκετ και θα εμφανίζει μετά από πόσες επισκέψεις παίρνει τη δωροεπιταγή
και ποιος είναι ο μέσος όρος πόντων σε κάθε επίσκεψη.
Αλγόριθμος Παράδειγμα2_16
Σ ← 0
Πόντοι ← 0
Όσο Σ < 200 επανάλαβε
Διάβασε Πόντοι
Σ ← Σ + Πόντοι
Πόντοι ← Πόντοι + 1
Τέλος_επανάληψης
ΜΟ ← Σ / Πόντοι
Εμφάνισε Πόντοι , ΜΟ
Τέλος Παράδειγμα2_16
Δομή Επανάληψης
Επανάλαβε ... Μέχρις_ότου
Εντολή Επανάλαβε ... Μέχρις_ότου
Σύνταξη
Επανάλαβε
Εντολές
Μέχρις_ότου Συνθήκη
 Η συνθήκη τερματισμού ελέγχεται
στο τέλος του βρόχου
 Οι εντολές επαναλαμβάνονται όσο η
συνθήκη είναι Ψευδής
 Οι εμπεριεχόμενες εντολές θα
εκτελεστούν τουλάχιστον μία
φορά
 Ο βρόχος τερματίζεται όταν η
συνθήκη γίνει Αληθής.
Δομή Επανάληψης
Επανάλαβε ... Μέχρις_ότου
Παράδειγμα 2.17. Κατάλογος επιλογών
Πολύ συχνά στις εφαρμογές προβάλλεται στην οθόνη ένας κατάλογος από δυνατές
επιλογές (menu) και στη συνέχεια ζητείται από το χρήστη να διαλέξει μία μόνο
από αυτές. Στην πιο απλή περίπτωση, οι δυνατές επιλογές είναι αριθμημένες,
οπότε απλά ζητείται η εισαγωγή ενός ακέραιου αριθμού.
…
Επανάλαβε
Εμφάνισε ''1. Ενημέρωση''
Εμφάνισε ''2. Εκτύπωση''
Εμφάνισε ''3. Έξοδος''
Εμφάνισε ''Επιλογή:''
Διάβασε Επιλογή
Μέχρις_ότου Επιλογή = 1 ή Επιλογή = 2 ή Επιλογή = 3
Στο παραπάνω τμήμα αλγορίθμου, ο βρόχος επαναλαμβάνεται μέχρι να δοθεί 1, 2 ή
3. Με τον τρόπο αυτό προστατεύεται το πρόγραμμα εφαρμογής από τυχόν
λανθασμένη εισαγωγή τιμών από τον χρήστη. Ας σημειωθεί με την ευκαιρία, ότι τα
προγράμματα εισαγωγής δεδομένων είναι συνήθως τα πιο δύσκολα και
μακροσκελή λόγω της ανάγκης να είναι φιλικά προς το χρήστη.
Υποτίθεται ότι ανάλογα με την επιλογή, ο πιο πάνω αλγόριθμος διακλαδίζεται σε άλλα
σημεία, όπου υπάρχουν οι εντολές υλοποίησης κάθε λειτουργίας.
Δομή Επανάληψης
Για ... από ... μέχρι
Εντολή Για ... από ... μέχρι
Σύνταξη
Για μεταβλητή από τ1 μέχρι τ2 [με_βήμα β]
Εντολές
Τέλος_επανάληψης
 Εκτελούνται οι εντολές με αρχική τιμή της μεταβλητής τ1 μέχρι και την τελική
τιμή της μεταβλητής τ2.
 Στη δομή αυτή τ1, τ2 είναι αριθμητικές σταθερές, μεταβλητές ή εκφράσεις.
 Πρέπει τ1<=τ2, αν β > 0 και τ1 >= τ2, αν β < 0.
 Το βήμα β, αν είναι 1, παραλείπεται.
 Οι τιμές των τ1, τ2 και β μπορεί να είναι ακέραιες ή πραγματικές.
 Αν τ1 > τ2 και β = 0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές της Για,
 Ενώ, αν τ1 <= τ2 και β = 0 η εντολή επανάληψης θα εκτελείται άπειρες φορές
(ατέρμονας βρόχος).
 Η χρήση της εντολής Για…από…μέχρι γενικά προτιμάται όταν είναι γνωστός ο
αριθμός των φορών που θα γίνει μια επανάληψη, με άλλα λόγια όταν είναι
γνωστά τα τ1, τ2 και β.
Δομή Επανάληψης
Για ... από ... μέχρι
Παράδειγμα 2.18. Να εκπονηθεί αλγόριθμος ο οποίος θα διαβάζει 100 αριθμούς και
θα υπολογίζει και θα εμφανίζει το άθροισμά τους.
Αλγόριθμος Άθροισμα_Αριθμών
Σ ← 0 !Μηδενισμός Αθροιστή
Για i από 1 μέχρι 100
Διάβασε α
Σ ← Σ + α
Τέλος_επανάληψης
Εμφάνισε ''Άθροισμα:'', Σ
Τέλος Άθροισμα_Αριθμών
Σε αυτό το παράδειγμα η εντολή Για…από…μέχρι περιλαμβάνει όλα τα απαραίτητα
δεδομένα για την επανάληψη, δηλαδή αρχική τιμή της μεταβλητής i, τελική τιμή και
το βήμα μεταβολής που είναι 1 και παραλείπεται. Ο βρόχος εκτελείται για όλες τις
τιμές της μεταβλητής i.
Η εντολή εκχώρησης Σ ← Σ + α δεν είναι εξίσωση και καλύτερα να διαβάζεται ως «η
νέα τιμή της μεταβλητής Σ είναι η παλιά συν α».
Συχνά η μεταβλητή Σ αποκαλείται αθροιστής, γιατί της εκχωρείται το τρέχον και
τελικό άθροισμα των αριθμών και δεν πρέπει να λησμονείται ότι απαιτείται ο
μηδενισμός του πριν από την έναρξη της επαναληπτικής διαδικασίας.
Δομή Επανάληψης
Εμφωλευμένες εντολές επανάληψης
Εμφωλευμένες εντολές επανάληψης
Σε όλες τις προηγούμενες περιπτώσεις όπου αναφέρεται εντολή ή
εντολές, τίποτα δεν απαγορεύει αυτές οι εντολές να είναι επίσης
εντολές επανάληψης.
Αναφερόμαστε τότε σε εμφωλευμένες εντολές επανάληψης.
Γενικά οι εμφωλευμένες εντολές επιτρέπουν το συνδυασμό
συνιστωσών ενός αλγορίθμου με οποιαδήποτε σειρά. Για
παράδειγμα:
Επανάληψη μέσα σε επιλογή, επανάληψη μέσα σε επανάληψη κ.α.
Δομή Επανάληψης
Εμφωλευμένες εντολές επανάληψης
Παράδειγμα 1ο
Να αναπτύξετε αλγόριθμο ο οποίος θα εμφανίζει τους αριθμούς από
1 έως και 100, θα ελέγχει αν είναι άρτιος ή περιττός και
ακολούθως θα εμφανίζει το ανάλογο μήνυμα.
Αλγόριθμος Επιλογή_σε_επανάληψη
Για ι από 1 μέχρι 10
Αν ι mod 2 = 0 τότε
Εμφάνισε 'Ο αριθμός ', ι, ' είναι άρτιος'
αλλιώς
Εμφάνισε 'Ο αριθμός ', ι, ' είναι περιττός'
Τέλος_αν
Τέλος_επανάληψης
Τέλος Επιλογή_σε_επανάληψη
Δομή Επανάληψης
Εμφωλευμένες εντολές επανάληψης
Παράδειγμα 2ο
Να αναπτύξετε αλγόριθμο ο οποίος θα εμφανίζει ανάλογα με την επιλογή σας 5, 10 ή
15 αστεράκια (*).
Αλγόριθμος Επανάληψη_σε_επιλογή
Εμφάνισε 'Δώσε 5, 10 ή 15'
Διάβασε Επιλογή
Αν Επιλογή = 5 τότε
Για ι από 1 μέχρι Επιλογή
Εμφάνισε '*'
Τέλος_επανάληψης
αλλιώς_αν Επιλογή = 10 τότε
Για ι από 1 μέχρι Επιλογή
Εμφάνισε '*'
Τέλος_επανάληψης
αλλιώς_αν Επιλογή = 15 τότε
Για ι από 1 μέχρι Επιλογή
Εμφάνισε '*'
Τέλος_επανάληψης
αλλιώς
Εμφάνισε 'Λάθος Επιλογή'
Τέλος_αν
Τέλος Επανάληψη_σε_επιλογή

Más contenido relacionado

La actualidad más candente

Ασκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίαςΑσκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίαςEleni Kokkinou
 
2.2.7.2 δομή ακολουθίας
2.2.7.2 δομή ακολουθίας2.2.7.2 δομή ακολουθίας
2.2.7.2 δομή ακολουθίαςMariaProGr
 
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥAnastasia Stathopoulou
 
αναπαράσταση αλγορίθμων και δεδομένων
αναπαράσταση αλγορίθμων και δεδομένωναναπαράσταση αλγορίθμων και δεδομένων
αναπαράσταση αλγορίθμων και δεδομένωνMariaProGr
 
2.2.7 2.2.7.1 εντολές και δομές αλγορίθμου
2.2.7 2.2.7.1 εντολές και δομές αλγορίθμου2.2.7 2.2.7.1 εντολές και δομές αλγορίθμου
2.2.7 2.2.7.1 εντολές και δομές αλγορίθμουMariaProGr
 
Δομή Επανάληψης
Δομή ΕπανάληψηςΔομή Επανάληψης
Δομή Επανάληψηςgkesel
 
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και ΕπανάληψηςΚεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και ΕπανάληψηςΙωάννου Γιαννάκης
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνNikos Michailidis
 
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές ΠαρατηρήσειςΜέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσειςfrijalas
 
Ανάπτυξη εφαρμογών κεφ. 2 βασικές έννοιες αλγορίθμων
 Ανάπτυξη εφαρμογών κεφ. 2  βασικές έννοιες αλγορίθμων Ανάπτυξη εφαρμογών κεφ. 2  βασικές έννοιες αλγορίθμων
Ανάπτυξη εφαρμογών κεφ. 2 βασικές έννοιες αλγορίθμωνevoyiatz
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5Ιωάννου Γιαννάκης
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3Ιωάννου Γιαννάκης
 
2.2.7.3 δομή επιλογήςα
2.2.7.3 δομή επιλογήςα2.2.7.3 δομή επιλογήςα
2.2.7.3 δομή επιλογήςαMariaProGr
 
ΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο ΕργασίαςΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο ΕργασίαςNikos Michailidis
 

La actualidad más candente (20)

Ασκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίαςΑσκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίας
 
2.2.7.2 δομή ακολουθίας
2.2.7.2 δομή ακολουθίας2.2.7.2 δομή ακολουθίας
2.2.7.2 δομή ακολουθίας
 
ΑΕΠΠ - Λογικές Εκφράσεις
ΑΕΠΠ - Λογικές ΕκφράσειςΑΕΠΠ - Λογικές Εκφράσεις
ΑΕΠΠ - Λογικές Εκφράσεις
 
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
 
αναπαράσταση αλγορίθμων και δεδομένων
αναπαράσταση αλγορίθμων και δεδομένωναναπαράσταση αλγορίθμων και δεδομένων
αναπαράσταση αλγορίθμων και δεδομένων
 
2.2.7 2.2.7.1 εντολές και δομές αλγορίθμου
2.2.7 2.2.7.1 εντολές και δομές αλγορίθμου2.2.7 2.2.7.1 εντολές και δομές αλγορίθμου
2.2.7 2.2.7.1 εντολές και δομές αλγορίθμου
 
Δομή Επανάληψης
Δομή ΕπανάληψηςΔομή Επανάληψης
Δομή Επανάληψης
 
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και ΕπανάληψηςΚεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
 
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές ΠαρατηρήσειςΜέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
 
Ανάπτυξη εφαρμογών κεφ. 2 βασικές έννοιες αλγορίθμων
 Ανάπτυξη εφαρμογών κεφ. 2  βασικές έννοιες αλγορίθμων Ανάπτυξη εφαρμογών κεφ. 2  βασικές έννοιες αλγορίθμων
Ανάπτυξη εφαρμογών κεφ. 2 βασικές έννοιες αλγορίθμων
 
ΑΕΠΠ - Μάθημα 11
ΑΕΠΠ - Μάθημα 11ΑΕΠΠ - Μάθημα 11
ΑΕΠΠ - Μάθημα 11
 
ΑΕΠΠ - μάθημα 29
ΑΕΠΠ - μάθημα 29ΑΕΠΠ - μάθημα 29
ΑΕΠΠ - μάθημα 29
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 5
 
ΑΕΠΠ - Δομή Ακολουθίας
ΑΕΠΠ - Δομή ΑκολουθίαςΑΕΠΠ - Δομή Ακολουθίας
ΑΕΠΠ - Δομή Ακολουθίας
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
 
2.2.7.3 δομή επιλογήςα
2.2.7.3 δομή επιλογήςα2.2.7.3 δομή επιλογήςα
2.2.7.3 δομή επιλογήςα
 
ΑΕΠΠ - Μάθημα 16
ΑΕΠΠ - Μάθημα 16ΑΕΠΠ - Μάθημα 16
ΑΕΠΠ - Μάθημα 16
 
Ενσωμάτωση και CSS
Ενσωμάτωση και CSSΕνσωμάτωση και CSS
Ενσωμάτωση και CSS
 
ΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο ΕργασίαςΑΕΠΠ: 7ο Φύλλο Εργασίας
ΑΕΠΠ: 7ο Φύλλο Εργασίας
 

Similar a Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4

Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψηςΣημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψηςΘανάσης Δρούγας
 
θεωρία για
θεωρία γιαθεωρία για
θεωρία γιαkaterinask79
 
κανόνες ασκήσεις επανάληψης Slideshare
κανόνες   ασκήσεις επανάληψης Slideshareκανόνες   ασκήσεις επανάληψης Slideshare
κανόνες ασκήσεις επανάληψης Slidesharevmantza
 
Bασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνBασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνHuman Oid
 
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdfΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdfpetroskorobos
 
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠΔιαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠEleni Kokkinou
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣDimitris Psounis
 
διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005Bas Genn
 
Δομή Επανάληψης (1ο μάθημα)
Δομή Επανάληψης (1ο μάθημα)Δομή Επανάληψης (1ο μάθημα)
Δομή Επανάληψης (1ο μάθημα)frijalas
 
Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)Dimitrios Kontogiannis
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςtommalexx
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςbill717
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςfousanhs
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςkatoikidia
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςloulls
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςpetarakis
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςvoula_dafni
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμόςparaskeui
 

Similar a Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4 (20)

Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψηςΣημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
 
θεωρία για
θεωρία γιαθεωρία για
θεωρία για
 
κανόνες ασκήσεις επανάληψης Slideshare
κανόνες   ασκήσεις επανάληψης Slideshareκανόνες   ασκήσεις επανάληψης Slideshare
κανόνες ασκήσεις επανάληψης Slideshare
 
Bασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνBασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμων
 
Python Κεφ. 1.4 Δομή Επανάληψης
Python Κεφ. 1.4 Δομή ΕπανάληψηςPython Κεφ. 1.4 Δομή Επανάληψης
Python Κεφ. 1.4 Δομή Επανάληψης
 
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdfΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
 
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠΔιαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
 
διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005διαγωνισμα α τετρ 2004 2005
διαγωνισμα α τετρ 2004 2005
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
ΠΛΗ10 ΜΑΘΗΜΑ 2.4ΠΛΗ10 ΜΑΘΗΜΑ 2.4
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
 
Δομή Επανάληψης (1ο μάθημα)
Δομή Επανάληψης (1ο μάθημα)Δομή Επανάληψης (1ο μάθημα)
Δομή Επανάληψης (1ο μάθημα)
 
Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)Iterative Structure (Δομή Επανάληψης)
Iterative Structure (Δομή Επανάληψης)
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 

Más de Ιωάννου Γιαννάκης

Más de Ιωάννου Γιαννάκης (20)

Karel The Robot
Karel The RobotKarel The Robot
Karel The Robot
 
MakeCode.ppt
MakeCode.pptMakeCode.ppt
MakeCode.ppt
 
App inventor2
App inventor2App inventor2
App inventor2
 
Pencil code
Pencil codePencil code
Pencil code
 
Cloud computing
 Cloud computing Cloud computing
Cloud computing
 
Proxy server
Proxy serverProxy server
Proxy server
 
Alice 3
Alice 3Alice 3
Alice 3
 
Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3
 
11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος
 
Σωληνώσεις cat sort tee
Σωληνώσεις cat sort teeΣωληνώσεις cat sort tee
Σωληνώσεις cat sort tee
 
Παρακολούθηση διεργασιών
Παρακολούθηση διεργασιώνΠαρακολούθηση διεργασιών
Παρακολούθηση διεργασιών
 
Eντολή Chmod
Eντολή ChmodEντολή Chmod
Eντολή Chmod
 
Eντολές More less head tail
Eντολές More less head tailEντολές More less head tail
Eντολές More less head tail
 
Εντολές lp wc grep
Εντολές lp wc grepΕντολές lp wc grep
Εντολές lp wc grep
 
10 εντολές cp mv rm ln
10 εντολές cp mv rm ln10 εντολές cp mv rm ln
10 εντολές cp mv rm ln
 
09 εντολές mkdir rmdir
09 εντολές mkdir rmdir09 εντολές mkdir rmdir
09 εντολές mkdir rmdir
 
08 εντολή cd
08 εντολή cd08 εντολή cd
08 εντολή cd
 
07 εντολές pwd ls
07 εντολές pwd ls07 εντολές pwd ls
07 εντολές pwd ls
 
06 εντολές clear cal date finger
06 εντολές clear cal date finger06 εντολές clear cal date finger
06 εντολές clear cal date finger
 
05 απόλυτη σχετική διαδρομή
05 απόλυτη  σχετική διαδρομή05 απόλυτη  σχετική διαδρομή
05 απόλυτη σχετική διαδρομή
 

Último

ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο Χρύσα Παπακωνσταντίνου
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηTheodora Chandrinou
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψειςDimitra Mylonaki
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΧρύσα Παπακωνσταντίνου
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξηΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptxAthina Tziaki
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .Dimitra Mylonaki
 

Último (9)

ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 

Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_4

  • 1. Εισαγωγή στις Αρχές Της Επιστήμης των ΗΥ Κεφάλαιο 2_2_7_4: Δομή Επανάληψης Ιωάννου Γιαννάκης 23/12/2015
  • 2. Δομή Επανάληψης Λίγοι αλγόριθμοι χρησιμοποιούν μόνο τις δομές ακολουθίας και επιλογής. Στα ρεαλιστικά προβλήματα χρειάζεται συνήθως μια σειρά εντολών να επαναληφθεί πολλές φορές. Άλλωστε σε τέτοια προβλήματα «αξίζει τον κόπο» να εκπονηθεί κάποιος αλγόριθμος και στη συνέχεια να υλοποιηθεί ένα αντίστοιχο πρόγραμμα υπολογιστή. Οι επαναληπτικές διαδικασίες μπορεί να έχουν διάφορες μορφές και να εμπεριέχουν συνθήκες επιλογών, όπως αυτές που περιγράφηκαν στις προηγούμενες παραγράφους.
  • 3. Δομή Επανάληψης Παράδειγμα 2.14. Να εκπονηθεί αλγόριθμος ο οποίος με δεδομένο ένα θετικό ακέραιο αριθμό θα εμφανίζει τους ακέραιους αριθμούς από το 1 μέχρι και τον δεδομένο αριθμό Ν. Οι ζητούμενοι αριθμοί μπορούν να παραχθούν με ένα συστηματικό τρόπο, αφού ο καθένας δημιουργείται από τον προηγούμενό του προσθέτοντας το 1. Με την αξιοποίηση αυτού του γεγονότος, ο αλγόριθμος δημιουργεί κάθε νέο αριθμό σε μια μεταβλητή, έστω i. Αυτό μπορεί να γίνει με τη χρήση της εντολής εκχώρησης: i ← i + 1. Οπότε προκύπτει το ακόλουθο: i ← 1 Εμφάνισε i ! Εμφανίζεται το 1 i ← i + 1 Εμφάνισε i ! Εμφανίζεται το 2 i ← i + 1 Εμφάνισε i ! Εμφανίζεται το 3 …..
  • 4. Δομή Επανάληψης Όσο … Επανάλαβε Εντολή Όσο ... Επανάλαβε Σύνταξη Όσο Συνθήκη επανάλαβε Εντολές Τέλος_επανάληψης  Η συνθήκη τερματισμού ελέγχεται στην αρχή του βρόχου  Οι εντολές επαναλαμβάνονται όσο η συνθήκη είναι Αληθής  Οι εμπεριεχόμενες εντολές μπορεί να μην εκτελεστούν ποτέ  Ο βρόχος τερματίζεται όταν η συνθήκη γίνει ψευδής.
  • 5. Δομή Επανάληψης Όσο … Επανάλαβε Το ζεύγος των εντολών i ← i + 1 και Εμφάνισε i επαναλαμβάνεται αυτούσιο. Αν μπορούσαν οι εντολές αυτές να γραφούν μία φορά και να εκτελεστούν Ν φορές, τότε το πρόβλημα θα λυνόταν. Αυτό επιτυγχάνεται με τις εντολές επανάληψης. Το πόσες φορές μπορούν να εκτελεστούν οι εντολές επανάληψης καθορίζεται με διαφορετικούς τρόπους. Στο παράδειγμα οι εντολές εκτελούνται όσο διάστημα η μεταβλητή i είναι μικρότερη ή ίση της μεταβλητής Ν. Κατόπιν αυτών ο αλγόριθμος γίνεται: Αλγόριθμος Σειρά_αριθμών Δεδομένα // Ν // i ← 1 Όσο i ≤ Ν επανάλαβε Εμφάνισε i i ← i + 1 Τέλος_επανάληψης Τέλος Σειρά_αριθμών Συχνά η μεταβλητή i αποκαλείται μετρητής, επειδή αυξάνεται κατά 1. Σε άλλες περιπτώσεις όμως το βήμα αύξησης μπορεί να είναι οποιοδήποτε.
  • 6. Δομή Επανάληψης Όσο … Επανάλαβε Παράδειγμα 2.15. Να γραφεί αλγόριθμος ο οποίος διαβάζει το όνομα ενός μαθητή, τους βαθμούς του σε τρία μαθήματα και υπολογίζει και τυπώνει το μέσο όρο του. Ο αλγόριθμος να σταματάει, όταν για όνομα μαθητή δοθεί το κενό εμφανίζοντας το πλήθος των μαθητών για τους οποίους υπολογίστηκε ο μέσος όρος. Αλγόριθμος Μέσος_όρος Πλήθος_μαθητών ← 0 Διάβασε όνομα Όσο όνομα ≠ '' '' επανάλαβε Διάβασε βαθμός1, βαθμός2, βαθμός3 Εμφάνισε (βαθμός1 + βαθμός2 + βαθμός3) / 3 Πλήθος_μαθητών ← Πλήθος_μαθητών + 1 Διάβασε όνομα Τέλος_επανάληψης Εμφάνισε Πλήθος_μαθητών Τέλος Μέσος_όρος
  • 7. Δομή Επανάληψης Όσο … Επανάλαβε Παράδειγμα 2.16. Σε ένα σουπερμάρκετ κάθε πελάτης δικαιούται μια δωροεπιταγή 6 € αν συμπληρώσει 200 πόντους. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει τους πόντους που κερδίζει ένας συγκεκριμένος πελάτης σε κάθε επίσκεψη στο σουπερμάρκετ και θα εμφανίζει μετά από πόσες επισκέψεις παίρνει τη δωροεπιταγή και ποιος είναι ο μέσος όρος πόντων σε κάθε επίσκεψη. Αλγόριθμος Παράδειγμα2_16 Σ ← 0 Πόντοι ← 0 Όσο Σ < 200 επανάλαβε Διάβασε Πόντοι Σ ← Σ + Πόντοι Πόντοι ← Πόντοι + 1 Τέλος_επανάληψης ΜΟ ← Σ / Πόντοι Εμφάνισε Πόντοι , ΜΟ Τέλος Παράδειγμα2_16
  • 8. Δομή Επανάληψης Επανάλαβε ... Μέχρις_ότου Εντολή Επανάλαβε ... Μέχρις_ότου Σύνταξη Επανάλαβε Εντολές Μέχρις_ότου Συνθήκη  Η συνθήκη τερματισμού ελέγχεται στο τέλος του βρόχου  Οι εντολές επαναλαμβάνονται όσο η συνθήκη είναι Ψευδής  Οι εμπεριεχόμενες εντολές θα εκτελεστούν τουλάχιστον μία φορά  Ο βρόχος τερματίζεται όταν η συνθήκη γίνει Αληθής.
  • 9. Δομή Επανάληψης Επανάλαβε ... Μέχρις_ότου Παράδειγμα 2.17. Κατάλογος επιλογών Πολύ συχνά στις εφαρμογές προβάλλεται στην οθόνη ένας κατάλογος από δυνατές επιλογές (menu) και στη συνέχεια ζητείται από το χρήστη να διαλέξει μία μόνο από αυτές. Στην πιο απλή περίπτωση, οι δυνατές επιλογές είναι αριθμημένες, οπότε απλά ζητείται η εισαγωγή ενός ακέραιου αριθμού. … Επανάλαβε Εμφάνισε ''1. Ενημέρωση'' Εμφάνισε ''2. Εκτύπωση'' Εμφάνισε ''3. Έξοδος'' Εμφάνισε ''Επιλογή:'' Διάβασε Επιλογή Μέχρις_ότου Επιλογή = 1 ή Επιλογή = 2 ή Επιλογή = 3 Στο παραπάνω τμήμα αλγορίθμου, ο βρόχος επαναλαμβάνεται μέχρι να δοθεί 1, 2 ή 3. Με τον τρόπο αυτό προστατεύεται το πρόγραμμα εφαρμογής από τυχόν λανθασμένη εισαγωγή τιμών από τον χρήστη. Ας σημειωθεί με την ευκαιρία, ότι τα προγράμματα εισαγωγής δεδομένων είναι συνήθως τα πιο δύσκολα και μακροσκελή λόγω της ανάγκης να είναι φιλικά προς το χρήστη. Υποτίθεται ότι ανάλογα με την επιλογή, ο πιο πάνω αλγόριθμος διακλαδίζεται σε άλλα σημεία, όπου υπάρχουν οι εντολές υλοποίησης κάθε λειτουργίας.
  • 10. Δομή Επανάληψης Για ... από ... μέχρι Εντολή Για ... από ... μέχρι Σύνταξη Για μεταβλητή από τ1 μέχρι τ2 [με_βήμα β] Εντολές Τέλος_επανάληψης  Εκτελούνται οι εντολές με αρχική τιμή της μεταβλητής τ1 μέχρι και την τελική τιμή της μεταβλητής τ2.  Στη δομή αυτή τ1, τ2 είναι αριθμητικές σταθερές, μεταβλητές ή εκφράσεις.  Πρέπει τ1<=τ2, αν β > 0 και τ1 >= τ2, αν β < 0.  Το βήμα β, αν είναι 1, παραλείπεται.  Οι τιμές των τ1, τ2 και β μπορεί να είναι ακέραιες ή πραγματικές.  Αν τ1 > τ2 και β = 0 δεν θα εκτελεστούν οι εμπεριεχόμενες εντολές της Για,  Ενώ, αν τ1 <= τ2 και β = 0 η εντολή επανάληψης θα εκτελείται άπειρες φορές (ατέρμονας βρόχος).  Η χρήση της εντολής Για…από…μέχρι γενικά προτιμάται όταν είναι γνωστός ο αριθμός των φορών που θα γίνει μια επανάληψη, με άλλα λόγια όταν είναι γνωστά τα τ1, τ2 και β.
  • 11. Δομή Επανάληψης Για ... από ... μέχρι Παράδειγμα 2.18. Να εκπονηθεί αλγόριθμος ο οποίος θα διαβάζει 100 αριθμούς και θα υπολογίζει και θα εμφανίζει το άθροισμά τους. Αλγόριθμος Άθροισμα_Αριθμών Σ ← 0 !Μηδενισμός Αθροιστή Για i από 1 μέχρι 100 Διάβασε α Σ ← Σ + α Τέλος_επανάληψης Εμφάνισε ''Άθροισμα:'', Σ Τέλος Άθροισμα_Αριθμών Σε αυτό το παράδειγμα η εντολή Για…από…μέχρι περιλαμβάνει όλα τα απαραίτητα δεδομένα για την επανάληψη, δηλαδή αρχική τιμή της μεταβλητής i, τελική τιμή και το βήμα μεταβολής που είναι 1 και παραλείπεται. Ο βρόχος εκτελείται για όλες τις τιμές της μεταβλητής i. Η εντολή εκχώρησης Σ ← Σ + α δεν είναι εξίσωση και καλύτερα να διαβάζεται ως «η νέα τιμή της μεταβλητής Σ είναι η παλιά συν α». Συχνά η μεταβλητή Σ αποκαλείται αθροιστής, γιατί της εκχωρείται το τρέχον και τελικό άθροισμα των αριθμών και δεν πρέπει να λησμονείται ότι απαιτείται ο μηδενισμός του πριν από την έναρξη της επαναληπτικής διαδικασίας.
  • 12. Δομή Επανάληψης Εμφωλευμένες εντολές επανάληψης Εμφωλευμένες εντολές επανάληψης Σε όλες τις προηγούμενες περιπτώσεις όπου αναφέρεται εντολή ή εντολές, τίποτα δεν απαγορεύει αυτές οι εντολές να είναι επίσης εντολές επανάληψης. Αναφερόμαστε τότε σε εμφωλευμένες εντολές επανάληψης. Γενικά οι εμφωλευμένες εντολές επιτρέπουν το συνδυασμό συνιστωσών ενός αλγορίθμου με οποιαδήποτε σειρά. Για παράδειγμα: Επανάληψη μέσα σε επιλογή, επανάληψη μέσα σε επανάληψη κ.α.
  • 13. Δομή Επανάληψης Εμφωλευμένες εντολές επανάληψης Παράδειγμα 1ο Να αναπτύξετε αλγόριθμο ο οποίος θα εμφανίζει τους αριθμούς από 1 έως και 100, θα ελέγχει αν είναι άρτιος ή περιττός και ακολούθως θα εμφανίζει το ανάλογο μήνυμα. Αλγόριθμος Επιλογή_σε_επανάληψη Για ι από 1 μέχρι 10 Αν ι mod 2 = 0 τότε Εμφάνισε 'Ο αριθμός ', ι, ' είναι άρτιος' αλλιώς Εμφάνισε 'Ο αριθμός ', ι, ' είναι περιττός' Τέλος_αν Τέλος_επανάληψης Τέλος Επιλογή_σε_επανάληψη
  • 14. Δομή Επανάληψης Εμφωλευμένες εντολές επανάληψης Παράδειγμα 2ο Να αναπτύξετε αλγόριθμο ο οποίος θα εμφανίζει ανάλογα με την επιλογή σας 5, 10 ή 15 αστεράκια (*). Αλγόριθμος Επανάληψη_σε_επιλογή Εμφάνισε 'Δώσε 5, 10 ή 15' Διάβασε Επιλογή Αν Επιλογή = 5 τότε Για ι από 1 μέχρι Επιλογή Εμφάνισε '*' Τέλος_επανάληψης αλλιώς_αν Επιλογή = 10 τότε Για ι από 1 μέχρι Επιλογή Εμφάνισε '*' Τέλος_επανάληψης αλλιώς_αν Επιλογή = 15 τότε Για ι από 1 μέχρι Επιλογή Εμφάνισε '*' Τέλος_επανάληψης αλλιώς Εμφάνισε 'Λάθος Επιλογή' Τέλος_αν Τέλος Επανάληψη_σε_επιλογή