SlideShare a Scribd company logo
1 of 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 μέχρι Επιλογή
Εμφάνισε '*'
Τέλος_επανάληψης
αλλιώς
Εμφάνισε 'Λάθος Επιλογή'
Τέλος_αν
Τέλος Επανάληψη_σε_επιλογή

More Related Content

What's hot

ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
evoyiatz
 
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες ΑλγορίθμωνΚεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Ιωάννου Γιαννάκης
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
Nikos Michailidis
 
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψηςΣημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Θανάσης Δρούγας
 
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο ΑσκήσεωνΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
Nikos Michailidis
 
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές ΣυνθήκεςΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
Nikos Michailidis
 

What's hot (20)

ΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσεις
ΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσειςΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσεις
ΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσεις
 
Βασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμούΒασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμού
 
Ασκήσεις Φυσικής Β΄ Γυμνασίου: Θέση-Μετατόπιση-Απόσταση-Μέση Ταχύτητα
Ασκήσεις Φυσικής Β΄ Γυμνασίου: Θέση-Μετατόπιση-Απόσταση-Μέση  ΤαχύτηταΑσκήσεις Φυσικής Β΄ Γυμνασίου: Θέση-Μετατόπιση-Απόσταση-Μέση  Ταχύτητα
Ασκήσεις Φυσικής Β΄ Γυμνασίου: Θέση-Μετατόπιση-Απόσταση-Μέση Ταχύτητα
 
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
 
ΑΕΠΠ - Μάθημα 11
ΑΕΠΠ - Μάθημα 11ΑΕΠΠ - Μάθημα 11
ΑΕΠΠ - Μάθημα 11
 
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές ΠαρατηρήσειςΜέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
 
υψοσ τριγωνων
υψοσ τριγωνωνυψοσ τριγωνων
υψοσ τριγωνων
 
ΑΕΠΠ - Δομή Ακολουθίας
ΑΕΠΠ - Δομή ΑκολουθίαςΑΕΠΠ - Δομή Ακολουθίας
ΑΕΠΠ - Δομή Ακολουθίας
 
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες ΑλγορίθμωνΚεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
 
ΑΕΠΠ - Μάθημα 12
ΑΕΠΠ - Μάθημα 12ΑΕΠΠ - Μάθημα 12
ΑΕΠΠ - Μάθημα 12
 
Δομή Επανάληψης
Δομή ΕπανάληψηςΔομή Επανάληψης
Δομή Επανάληψης
 
2.2.7.3 εκφράσεις1
2.2.7.3 εκφράσεις12.2.7.3 εκφράσεις1
2.2.7.3 εκφράσεις1
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
 
194 ασκήσεις επανάληψης για την Άλγεβρα Α΄ Λυκείου
194 ασκήσεις επανάληψης για την Άλγεβρα Α΄ Λυκείου194 ασκήσεις επανάληψης για την Άλγεβρα Α΄ Λυκείου
194 ασκήσεις επανάληψης για την Άλγεβρα Α΄ Λυκείου
 
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψηςΣημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
Σημειώσεις ανάπτυξη εφαρμογών Δομη επανάληψης
 
Ανάπτυξη εφαρμογών κεφ. 2 βασικές έννοιες αλγορίθμων
 Ανάπτυξη εφαρμογών κεφ. 2  βασικές έννοιες αλγορίθμων Ανάπτυξη εφαρμογών κεφ. 2  βασικές έννοιες αλγορίθμων
Ανάπτυξη εφαρμογών κεφ. 2 βασικές έννοιες αλγορίθμων
 
2.2.7.3 δομή επιλογήςα
2.2.7.3 δομή επιλογήςα2.2.7.3 δομή επιλογήςα
2.2.7.3 δομή επιλογήςα
 
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο ΑσκήσεωνΑΕΠΠ: 15ο Φύλλο Ασκήσεων
ΑΕΠΠ: 15ο Φύλλο Ασκήσεων
 
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές ΣυνθήκεςΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
 

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

κανόνες ασκήσεις επανάληψης Slideshare
κανόνες   ασκήσεις επανάληψης Slideshareκανόνες   ασκήσεις επανάληψης Slideshare
κανόνες ασκήσεις επανάληψης Slideshare
vmantza
 
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdfΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
ΓΕΝΙΚΑ ΒΗΜΑΤΑ ΣΤΙΣ ΔΟΜΕ ΕΠΑΝΑΛΗΨΗΣ.pdf
petroskorobos
 
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και ΕπανάληψηςΚεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Ιωάννου Γιαννάκης
 
Διαγώνισμα 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 2005
Bas Genn
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
tommalexx
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
bill717
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
fousanhs
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
katoikidia
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
loulls
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
petarakis
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
voula_dafni
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
paraskeui
 

Similar to Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 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
 
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και ΕπανάληψηςΚεφ. 8 Εντολές Επιλογής και Επανάληψης
Κεφ. 8 Εντολές Επιλογής και Επανάληψης
 
Διαγώνισμα 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 (Δομή Επανάληψης)
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 
προγραμματισμός
προγραμματισμόςπρογραμματισμός
προγραμματισμός
 

More from Ιωάννου Γιαννάκης

More from Ιωάννου Γιαννάκης (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 απόλυτη σχετική διαδρομή
 

Recently uploaded

εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
Effie Lampropoulou
 

Recently uploaded (20)

Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥΦλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
 
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
 
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΗ ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
 
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
 
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςΟ εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
 
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
 
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗΗ ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
 
εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
 
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
 
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
 
Σχέσεις στην εφηβεία_έρωτας
Σχέσεις                     στην εφηβεία_έρωταςΣχέσεις                     στην εφηβεία_έρωτας
Σχέσεις στην εφηβεία_έρωτας
 
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική ΑυτοκρατορίαΗ απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
 
Ρατσισμός, ορισμός, είδη, αίτια , συνέπειες
Ρατσισμός, ορισμός, είδη, αίτια , συνέπειεςΡατσισμός, ορισμός, είδη, αίτια , συνέπειες
Ρατσισμός, ορισμός, είδη, αίτια , συνέπειες
 
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
 
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣΗ ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
 
ΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βία
ΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βίαΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βία
ΕΜΕΙΣ ΕΔΩ ΠΑΙΖΟΥΜΕ ΜΠΑΛΑ, εργασία για την οπαδική βία
 
Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024
Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024
Παρουσίαση θεατρικού στην Τεχνόπολη. 2023-2024
 

Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 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 μέχρι Επιλογή Εμφάνισε '*' Τέλος_επανάληψης αλλιώς Εμφάνισε 'Λάθος Επιλογή' Τέλος_αν Τέλος Επανάληψη_σε_επιλογή