Από τη Δομή Ακολουθίας στις Δομές Επανάληψης

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Παράδειγμα 2: Υπολογισμός αθροίσματος με επαναληπτική εντολή: για...από...μέχρι... με βήμα Να βρεθεί και να εκτυπωθεί το άθροισμα των άρτιων αριθμών από.
Advertisements

Παράδειγμα 3: Δίνονται Ν αριθμοί Xj,j=1,2,…N.Να αναπτυχθεί αλγόριθμος που θα βρίσκει το μεγαλύτερο αριθμό και τις θέσεις στις οποίες εμφανίζεται αυτός.
Παράδειγμα 2: Φοίτηση στο πανεπιστήμιο Εκφώνηση: Ζητάμε το έτος κάθε φοιτητή κάποιου τμήματος κάποιας σχολής που έχει διαφορετικό αριθμό φοιτητών ανά έτος,
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
Παράδειγμα 2: Υπολογισμός μέγιστου μισθού Σε μια εταιρία εργάζονται 200 υπάλληλοι και είναι γνωστός ο μισθός του καθενός. Να χρησιμοποιηθεί η δομή του.
Ενότητα Η Δομή Επανάληψης
Παράδειγμα 1:Υπολογισμός αθροίσματος αριθμών με επαναληπτική εντολή : για...από...μέχρι(for ..to) Να βρεθεί και να εκτυπωθεί το άθροισμα των 100 ακεραίων.
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ» Β΄ τάξης Γενικού Λυκείου
Ασκήσεις.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Η Δομή Επανάληψης Από τη Δομή Επανάληψης Για στην Όσο Η παρουσίαση της εντολής Όσο είναι από την εισήγηση των κ. Σ. Δουκάκη και Π. Τσιωτάκη στο 3ο Συνέδριο.
Παράδειγμα 2:Υπολογισμός μέγιστης και ελάχιστης θερμοκρασίας Αλγόριθμος Ελάχιστη_Μέγιστη !Αρχή αλγορίθμου.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Eντολες Επαναληψης - Βροχοι (repetition and loops)
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Eντολες Επαναληψης - Βροχοι (repetition and loops)
Σχεδίαση Εκπαιδευτικού Λογισμικού Σχέδιο Μαθήματος – Ανάπτυξη Εφαρμογών Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης Ιωάννης Βλαχόπουλος – Μ1249 Αικατερίνη Δρόσου.
Επανάληψη.
Παράδειγμα 1 :Μετατροπή από βαθμούς Φαρενάιτ σε βαθμούς Κελσίου
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Η Δομή Επανάληψης οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες… Η παρουσίαση της εντολής Μέχρις_ότου είναι από την εισήγηση των κ. Σ. Δουκάκη.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Κεφάλαιο 10 – Υποπρογράμματα
Γλώσσα Προγραμματισμού LOGO
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Ένα Παιχνίδι Ρόλων στο Δημοτικό για τη Διδασκαλία των Διαδικασιών σε Logo Θωμάς Σκυλογιάννης Καθηγητής Πληροφορικής.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΣΚΗΣΕΙΣ – Δομή Ακολουθίας 7 – Βασικά στοιχεία Προγραμματισμού.
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ ΕΝΤΟΛΕΣ ΕΝΤΟΛΕΣΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ.
1 Η ΓΙΑ ΚΑΙ Η ΛΕΙΤΟΥΡΓΙΑ ΤΗΣ Η δομή Για περιέχει 3 τμήματα (εντολές) που εκτελούνται αυτόματα(εσωτερικά στη Για) Για i από 1 μέχρι 100 i ← 1 i
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
Ένας εκδοτικός οίκος χρησιμοποιεί 35 διανομείς για τη διακίνηση των βιβλίων του. Στο τέλος κάθε μήνα καταγράφονται οι πωλήσεις που πραγματοποιήθηκαν από.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015.
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Δομή επιλογής Πολλές φορές για να λυθεί ένα πρόβλημα πρέπει να ελεγχθεί αν ισχύει κάποια συνθήκη Παράδειγμα 2: Να διαβαστεί ένας αριθμός και να επιστραφεί.
Δομή Επιλογής Χρησιμοποιείται σε προβλήματα όπου χρειάζεται να ληφθούν κάποιες αποφάσεις με βάση κάποια δεδομένα κριτήρια. Περιλαμβάνει τον έλεγχο κάποιας.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη.
Ενότητα 2 : Αλγόριθμοι Δρ. Γκόγκος Χρήστος
ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ εντολές ΤΕΛΟΣ_ΑΝ
ΔΟΜΗ ΓΙΑ (1) Για i από .... μέχρι .... Αν ………….… τότε
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Ανάπτυξη Εκπαιδευτικού Λογισμικού
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
ΓΕΜΙΣΜΑ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ (Άσκηση 1)
ΜΟΡΦΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
Αν συνθήκη_ισχύει τότε εντολές Τέλος_Αν
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Επανάληψη.
Δομημένος Προγραμματισμός - Κεφάλαιο 4 - Ανάπτυξη αλγορίθμων
ΣΤΟΙΒΑ.
8.2 Η Δομή Επανάληψης Μέχρις_ότου
Δισδιάστατοι Πίνακες 3 7 … i γ ρ α μ ή j - στήλη 1 2 M N
ΑΝ Χ<> Α_Μ(Χ) ΤΟΤΕ ΓΡΑΨΕ “Λάθος” ΤΕΛΟΣ_ΑΝ
ΑΛΓΟΡΙΘΜΟΣ.
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Δομή Επιλογής , 8.1.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Β.ΕΠΑΛ-Γενικής Παιδείας  ΜΑΘΗΜΑ: Εισαγωγή στης αρχές Επιστήμης των Η/Υ  ΚΕΦΑΛΑΙΟ 4: Γλώσσες Αναπαράστασης Αλγορίθμων  ΕΝΟΤΗΤΑ 4.2: Δομή Ακολουθίας 
Από τη Δομή Επανάληψης Για στην Όσο
οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…
Λυμένα θέματα πανελλαδικών εξετάσεων με υποπρογράμματα
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
Κυριάκου Νικόλαος Πληροφορικής ΠΕ-20
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Από τη Δομή Ακολουθίας στις Δομές Επανάληψης Η Δομή Επανάληψης Για Από τη Δομή Ακολουθίας στις Δομές Επανάληψης

Πρόβλημα : Άθροισμα 2 αριθμών Πρόβλημα : Άθροισμα 2 αριθμών Να αναπτύξετε αλγόριθμο που θα διαβάζει 2 αριθμούς και θα εκτυπώνει το άθροισμα των θετικών

Αλγόριθμος Άθροισμα_2 άθροισμα ← 0 Διάβασε α1 Αν α1 > 0 τότε άθροισμα ← άθροισμα + α1 Τέλος_αν Διάβασε α2 Αν α2 > 0 τότε άθροισμα ← άθροισμα + α2 Εκτύπωσε άθροισμα Τέλος Άθροισμα_2

Πρόβλημα : Άθροισμα 3 αριθμών Πρόβλημα : Άθροισμα 3 αριθμών Να αναπτύξετε αλγόριθμο που θα διαβάζει 3 αριθμούς και θα εκτυπώνει το άθροισμα των θετικών

Αλγόριθμος Άθροισμα_3 άθροισμα ← 0 Διάβασε α1 Αν α1 > 0 τότε άθροισμα ← άθροισμα + α1 Τέλος_αν Διάβασε α2 Αν α2 > 0 τότε άθροισμα ← άθροισμα + α2 Διάβασε α3 Αν α3 > 0 τότε άθροισμα ← άθροισμα + α3 Εκτύπωσε άθροισμα Τέλος Άθροισμα_3

Πρόβλημα : Άθροισμα 100 αριθμών Πρόβλημα : Άθροισμα 100 αριθμών Τι θα γίνει στην περίπτωση που το πρόβλημα γενικευτεί στην επεξεργασία 100 αριθμών;

Αλγόριθμος Άθροισμα_3 άθροισμα ← 0 Διάβασε α1 Αν α1 > 0 τότε άθροισμα ← άθροισμα + α1 Τέλος_αν Διάβασε α2 Αν α2 > 0 τότε άθροισμα ← άθροισμα + α2 Διάβασε α3 Αν α3 > 0 τότε άθροισμα ← άθροισμα + α3 Εκτύπωσε άθροισμα Τέλος Άθροισμα_3 Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν

Δομή επανάληψης Με αυτόν τον τρόπο μπορούμε να εκτελέσουμε επεξεργασία μεγάλου όγκου δεδομένων με τη χρήση λίγων εντολών Εκμεταλλευόμαστε την αντίστοιχη ικανότητα των υπολογιστών να εκτελούν την ίδια ομάδα εντολών επαναληπτικά

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← 0 α i άθροισμα

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 1 α i άθροισμα

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α 4 Π.χ. Ο αριθμός 4 α i άθροισμα 1

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη ισχύει α i άθροισμα 4 1

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← άθροισμα + α 4 α i άθροισμα 4 1

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 2 Τέλος_αν Τέλος_επανάληψης α i άθροισμα 4 1 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α -3 Π.χ. Ο αριθμός -3 α i άθροισμα 4 2 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη δεν ισχύει α i άθροισμα -3 2 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 3 Τέλος_αν Τέλος_επανάληψης α i άθροισμα -3 2 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α -9 Π.χ. Ο αριθμός -9 α i άθροισμα -3 3 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη δεν ισχύει α i άθροισμα -9 3 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 4 Τέλος_αν Τέλος_επανάληψης α i άθροισμα -9 3 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α 11 Π.χ. Ο αριθμός 11 α i άθροισμα -9 4 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη ισχύει α i άθροισμα 11 4 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← άθροισμα + α 15 α i άθροισμα 11 4 4

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Για i από 1 μέχρι 5 5 Τέλος_αν Τέλος_επανάληψης α i άθροισμα 11 4 15

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Διάβασε α 2 Π.χ. Ο αριθμός 2 α i άθροισμα 11 5 15

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Αν α > 0 τότε Η συνθήκη ισχύει α i άθροισμα 2 5 15

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν άθροισμα ← άθροισμα + α 17 α i άθροισμα 2 5 15

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν Εκτύπωσε άθροισμα α άθροισμα 2 17 Θα εκτυπωθεί η τιμή 17

Πίνακας Τιμών – παράδειγμα με 5 αριθμούς άθροισμα Αλγόριθμος Άθροισμα_Ν άθροισμα ← 0 Για i από 1 μέχρι 5 Διάβασε α Αν α > 0 τότε άθροισμα ← άθροισμα + α Τέλος_αν Τέλος_επανάληψης Εκτύπωσε άθροισμα Τέλος Άθροισμα_Ν 2 17 Στο τέλος της επανάληψης η μεταβλητή α περιέχει την τελευταία τιμή που δόθηκε Οι άλλες τιμές έχουν χαθεί Η μεταβλητή άθροισμα έχει το άθροισμα των θετικών Το πλήθος των επαναλήψεων ήταν γνωστό

Από τη Δομή Ακολουθίας στις Δομές Επανάληψης Η Δομή Επανάληψης Για Από τη Δομή Ακολουθίας στις Δομές Επανάληψης Τέλος Παρουασίασης

Από τη Δομή Επανάληψης Για στην Όσο Η Δομή Επανάληψης Όσο Από τη Δομή Επανάληψης Για στην Όσο

Η δομή Επανάληψης Όσο Ας δούμε το προηγούμενο παράδειγμα με τη χρήση της δομής Όσο Να αναπτύξετε αλγόριθμο που θα διαβάζει 100 αριθμούς και θα εκτυπώνει το πλήθος των θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Τέλος Πλήθος_θετικών με_βήμα 1 Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Πλήθος θετικών από 100 αριθμούς Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 Για i από 1 μέχρι 100 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Από την Για στην Όσο Η δομή Για περιέχει 3 τμήματα που στην δομή Όσο πρέπει να γίνουν με ξεχωριστές εντολές i ← 1 i <= 100 i ← i + 1 με_βήμα 1 Για i από 1 μέχρι 100

Πλήθος θετικών από 100 αριθμούς – Δ.Ρ. Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 OXI i <= 100 Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 Για το "Τέλος_επανάληψης", το βέλος γυρίζει πίσω. Έτσι, δηλώνεται επανάληψη

Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ότι η συνθήκη ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 θετικοί ← θετικοί + 1 ΝΑΙ ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Ροή εκτέλεσης αλγορίθμου - 1η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ξανά ότι η συνθήκη ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 θετικοί ← θετικοί + 1 ΝΑΙ ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Ροή εκτέλεσης αλγορίθμου - 2η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος α > 0 OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 Ας υποθέσουμε ότι η συνθήκη δεν ισχύει i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Ροή εκτέλεσης αλγορίθμου - 3η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου Η ίδια διαδικασία θα συνεχιστεί έως ότου πάψει να ισχύει η συνθήκη της δομής Όσο, οπότε και τερματίζεται η επανάληψη Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί Αυτό θα γίνει όταν έχουν διαβαστεί και επεξεργαστεί 100 αριθμοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 Γνωστό πλήθος επαναλήψεων ΝΑΙ θετικοί ← θετικοί + 1 Το ίδιο δ.ρ. έχει η δομή Για i ← i + 1

Ροή εκτέλεσης αλγορίθμου Ας υποθέσουμε ότι η συνθήκη δεν ισχύει, το i είναι 101 Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI OXI Εκτύπωσε θετικοί Εκτύπωσε θετικοί ΝΑΙ Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Ροή εκτέλεσης αλγορίθμου Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αρχή θετικοί ← 0 i ← 1 i <= 100 OXI Εκτύπωσε θετικοί ΝΑΙ Τέλος Διάβασε α Τέλος OXI α > 0 ΝΑΙ θετικοί ← θετικοί + 1 i ← i + 1

Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Το i καταμετρά τους αριθμούς που εισάγονται για αυτό αποκαλείται μετρητής Η επανάληψη τερματίζεται όταν εισαχθούν 100 αριθμοί Ο βρόχος αυτός θα μπορούσε να υλοποιηθεί και με τη δομή Για

Τι θα γίνει όμως αν αλλάξει θέση η εντολή; Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Τι θα γίνει όμως αν αλλάξει θέση η εντολή; Το i καταμετρά τους αριθμούς που εισάγονται για αυτό αποκαλείται μετρητής Η επανάληψη τερματίζεται όταν εισαχθούν 100 αριθμοί Ο βρόχος αυτός θα μπορούσε να υλοποιηθεί και με τη δομή Για

Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Η επανάληψη τερματίζεται όταν εισαχθούν 100 θετικοί αριθμοί Δεν γνωρίζουμε πόσοι αριθμοί θα εισαχθούν γενικά – άγνωστο πλήθος επαναλήψεων Ο βρόχος αυτός δεν θα μπορούσε να υλοποιηθεί με τη δομή Για Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Τέλος_αν i ← i + 1 Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Δομή Επανάληψης Όσο Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Η επανάληψη τερματίζεται όταν εισαχθούν 100 μη θετικοί αριθμοί Δεν γνωρίζουμε πόσοι αριθμοί θα εισαχθούν γενικά – άγνωστο πλήθος επαναλήψεων Ο βρόχος αυτός δεν θα μπορούσε να υλοποιηθεί με τη δομή Για Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών Αλγόριθμος Πλήθος_θετικών θετικοί ← 0 i ← 1 Όσο i <= 100 επανάλαβε Διάβασε α Αν α > 0 τότε θετικοί ← θετικοί + 1 Αλλιώς i ← i + 1 Τέλος_αν Τέλος_επανάληψης Εκτύπωσε θετικοί Τέλος Πλήθος_θετικών

Συμπεράσματα Η δομή επανάληψης Για χρησιμοποιείται στην περίπτωση που είναι εξαρχής γνωστό το πλήθος των επαναλήψεων Στην περίπτωση που δεν ισχύει αυτό; Θα χρησιμοποιήσουμε την δομή Όσο…επανάλαβε …ή την δομή Αρχή_επανάληψης…Μέχρις_ότου

Από τη Δομή Επανάληψης Για στην Όσο Η Δομή Επανάληψης Όσο Από τη Δομή Επανάληψης Για στην Όσο Τέλος Παρουασίασης

οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες… Η Δομή Επανάληψης Μέχρις_Ότου οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…

Δομή Επανάληψης Μέχρις_ότου Να αναπτύξετε αλγόριθμο που θα ζητά από το χρήστη να μαντέψει το συνδυασμό ενός χρηματοκιβωτίου Ο αλγόριθμος θα δέχεται αριθμούς μέχρι να εισαχθεί ο σωστός συνδυασμός Έξοδος του αλγορίθμου είναι οι προσπάθειες που πραγματοποιήθηκαν

Δομή Επανάληψης Μέχρις_ότου Η διατύπωση της εκτύπωσης παραπέμπει στη χρήση της δομής Μέχρις_ότου Να αναπτύξετε αλγόριθμο που θα ζητά από το χρήστη να μαντέψει το συνδυασμό ενός χρηματοκιβωτίου Ο αλγόριθμος θα δέχεται αριθμούς μέχρι να εισαχθεί ο σωστός συνδυασμός Έξοδος του αλγορίθμου είναι οι προσπάθειες που πραγματοποιήθηκαν

Συνδυασμός χρηματοκιβωτίου Αλγόριθμος Εύρεση_Συνδυασμού Τέλος Εύρεση_Συνδυασμού

Συνδυασμός χρηματοκιβωτίου Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // Τέλος Εύρεση_Συνδυασμού Ο σωστός συνδυασμός δεν εισάγεται με Διάβασε, αλλά με Δεδομένα

Συνδυασμός χρηματοκιβωτίου Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // Αρχή_επανάληψης Μέχρις_ότου __________________ Τέλος Εύρεση_Συνδυασμού Δίνουμε έμφαση στη σχεδίαση της δομής επανάληψης – τον σκελετό του αλγορίθμου

Συνδυασμός χρηματοκιβωτίου Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // Αρχή_επανάληψης Μέχρις_ότου αριθμός = συνδυασμός Τέλος Εύρεση_Συνδυασμού Η επανάληψη συνεχίζεται μέχρι να δοθεί ο σωστός συνδυασμός

Συνδυασμός χρηματοκιβωτίου Φροντίζουμε να λειτουργεί ο βρόχος με τη χρήση μετρητή του πλήθους των επαναλήψεων δηλαδή των προσπαθειών – Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Τέλος Εύρεση_Συνδυασμού

Συνδυασμός χρηματοκιβωτίου Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Τέλος Εύρεση_Συνδυασμού Επαναληπτικά πρέπει να διαβάζουμε τον αριθμό της νέας προσπάθειας

Συνδυασμός χρηματοκιβωτίου Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Έξοδος είναι οι προσπάθειες που πραγματοποιήθηκαν

Συνδυασμός χρηματοκιβωτίου – Δ.Ρ. Το «Αρχή_επανάληψης» δεν έχει ειδικό σχήμα, το βέλος γυρίζει πίσω. Έτσι, δηλώνεται η επανάληψη Συνδυασμός χρηματοκιβωτίου – Δ.Ρ. Αρχή Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Δεδομένα //συνδυασμός// προσπάθειες ← 0 Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 OXI αριθμός=συνδυασμός ΝΑΙ Αποτελέσματα //προσπάθειες// Τέλος

Συνδυασμός χρηματοκιβωτίου – Δ.Ρ. Ο αριθμός των επαναλήψεων είναι άγνωστος, δεν μπορεί να υλοποιηθεί με τη δομή Για Αρχή Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Δεδομένα //συνδυασμός// προσπάθειες ← 0 ... μπορεί όμως να υλοποιηθεί με τη δομή Όσο Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 OXI αριθμός=συνδυασμός ΝΑΙ Αποτελέσματα //προσπάθειες// Τέλος

Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο

Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Έμφαση στο σκελετό – Η συνθήκη πρέπει να τοποθετηθεί στην αρχή του βρόχου Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο ________________ επανάλαβε Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Διάβασε αριθμούς μέχρι να διαβαστεί ο σωστός (και μέτρα τις προσπάθειες) Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Όσο δεν έχει διαβαστεί ο σωστός αριθμός συνέχισε να διαβάζεις κι άλλους (και μέτρα τις προσπάθειες)

Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Μεταφέραμε όλες τις εντολές ωστόσο στη συνθήκη της δομής Όσο χρησιμοποιείται η μεταβλητή αριθμός η οποία δεν έχει πάρει τιμή! Πρέπει να διαβαστεί από το χρήστη η πρώτη τιμή εκτός βρόχου Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Όσο αριθμός <> συνδυασμός επανάλαβε Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Ο αλγόριθμος είναι πλήρης αλλά υπάρχει ένα λογικό λάθος Δεν θα καταμετρηθεί η πρώτη προσπάθεια Πρέπει να αλλάξουμε την αρχικοποίηση της μεταβλητής Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 0 Διάβασε αριθμός Όσο αριθμός <> συνδυασμός επανάλαβε προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού Δεδομένα // συνδυασμός // προσπάθειες ← 0 Αρχή_επανάληψης Διάβασε αριθμός προσπάθειες ← προσπάθειες + 1 Μέχρις_ότου αριθμός = συνδυασμός Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού Από τη δομή Μέχρις_ότου στην Όσο Αλγόριθμος Εύρεση_Συνδυασμού_αλλιώς Δεδομένα // συνδυασμός // προσπάθειες ← 1 Διάβασε αριθμός Όσο αριθμός <> συνδυασμός επανάλαβε προσπάθειες ← προσπάθειες + 1 Τέλος_επανάληψης Αποτελέσματα // προσπάθειες // Τέλος Εύρεση_Συνδυασμού_αλλιώς

Πώς επιλέγουμε τη σωστή δομή επανάληψης

Επιλογή μεταξύ της δομής Για και των άλλων δομών επανάληψης Όταν είναι γνωστός ο αριθμός των επαναλήψεων, τότε χρησιμοποιείται η δομή επανάληψης Για Όταν είναι άγνωστος ο αριθμός των επαναλήψεων, τότε χρησιμοποιείται η δομή επανάληψης Όσο ή Μέχρις_ότου Όταν απαιτείται η διακοπή των επαναλήψεων βάσει συνθήκης, τότε επίσης χρησιμοποιείται η δομή Όσο ή Μέχρις_ότου

Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου Όταν απαιτείται έλεγχος μίας συνθήκης και στη συνέχεια η εκτέλεση ομάδας εντολών προτιμάται η δομή Όσο Με τη δομή Όσο μπορούν να επιλυθούν όλα τα προβλήματα, γι’ αυτό είναι η σημαντικότερη Όταν η επανάληψη πρέπει να εκτελεστεί τουλάχιστον μία φορά, είναι προτιμότερη η χρήση της δομής επανάληψης Μέχρις_ότου

Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου Επιλογή μεταξύ της δομής Όσο και Μέχρις_ότου Οι περιπτώσεις όπου προτιμάται η δομή Μέχρις_ότου είναι στον έλεγχο εγκυρότητας τιμών ή στον έλεγχο αποδεκτών τιμών Καθώς και στην επιλογή από προκαθορισμένες απαντήσεις ή μενού

οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες… Η Δομή Επανάληψης Μέχρις_Ότου οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες… Τέλος Παρουασίασης