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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Να καταργήσουμε τη ΓΛΩΣΣΑ και να κρατήσουμε μόνο την ψευδογλώσσα
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
Παράδειγμα 2: Υπολογισμός μέγιστου μισθού Σε μια εταιρία εργάζονται 200 υπάλληλοι και είναι γνωστός ο μισθός του καθενός. Να χρησιμοποιηθεί η δομή του.
Βρόχος με συνθήκη εισόδου στη C, οδηγούμενος από μετρητή: for
Πώς βρίσκουμε το πλήθοςτων επαναλήψεων μιας Δομής Επανάληψης με βήμα διάφορο του 1
Ενότητα Η Δομή Επανάληψης
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος
Προγραμματισμός Ι Προτάσεις επανάληψης - γενικά επαναλαμβάνουν ένα μπλοκ προτάσεωνΟι προτάσεις επανάληψης επαναλαμβάνουν ένα μπλοκ προτάσεων είτε για όσες.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ» Β΄ τάξης Γενικού Λυκείου
Ασκήσεις.
ΒΡΟΧΟΙ ΜΑΘΗΜΑ 5. ΒΡΟΧΟΙΒΡΟΧΟΙ Ο Βρόχος (loop) αποτελείται από προτάσεις επανάληψης. Οι προτάσεις επανάληψης είναι οι προτάσεις που επαναλαμβάνουν ένα.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Η Δομή Επανάληψης Από τη Δομή Επανάληψης Για στην Όσο Η παρουσίαση της εντολής Όσο είναι από την εισήγηση των κ. Σ. Δουκάκη και Π. Τσιωτάκη στο 3ο Συνέδριο.
Παράδειγμα 2:Υπολογισμός μέγιστης και ελάχιστης θερμοκρασίας Αλγόριθμος Ελάχιστη_Μέγιστη !Αρχή αλγορίθμου.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Eντολες Επαναληψης - Βροχοι (repetition and loops)
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Αλγόριθμοι 2.1.1,
Eντολες Επαναληψης - Βροχοι (repetition and loops)
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Συγγραφείς Α.Βακάλη Η. Γιαννόπουλος Ν. Ιωαννίδης Χ.Κοίλιας Κ. Μάλαμας Ι. Μανωλόπουλος Π. Πολίτης Γ΄ τάξη.
Σχεδίαση Εκπαιδευτικού Λογισμικού Σχέδιο Μαθήματος – Ανάπτυξη Εφαρμογών Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης Ιωάννης Βλαχόπουλος – Μ1249 Αικατερίνη Δρόσου.
Επανάληψη.
Παράδειγμα 1 :Μετατροπή από βαθμούς Φαρενάιτ σε βαθμούς Κελσίου
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Το Scratch και ο σχεδιασμός γεωμετρικών σχημάτων
Κεφάλαιο 10 – Υποπρογράμματα
Γλώσσα Προγραμματισμού LOGO
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
Ένα Παιχνίδι Ρόλων στο Δημοτικό για τη Διδασκαλία των Διαδικασιών σε Logo Θωμάς Σκυλογιάννης Καθηγητής Πληροφορικής.
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ ΕΝΤΟΛΕΣ ΕΝΤΟΛΕΣΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ.
1 Η ΓΙΑ ΚΑΙ Η ΛΕΙΤΟΥΡΓΙΑ ΤΗΣ Η δομή Για περιέχει 3 τμήματα (εντολές) που εκτελούνται αυτόματα(εσωτερικά στη Για) Για i από 1 μέχρι 100 i ← 1 i
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Δομή επιλογής Πολλές φορές για να λυθεί ένα πρόβλημα πρέπει να ελεγχθεί αν ισχύει κάποια συνθήκη Παράδειγμα 2: Να διαβαστεί ένας αριθμός και να επιστραφεί.
Δομή Επιλογής Χρησιμοποιείται σε προβλήματα όπου χρειάζεται να ληφθούν κάποιες αποφάσεις με βάση κάποια δεδομένα κριτήρια. Περιλαμβάνει τον έλεγχο κάποιας.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη.
Ανάπτυξη Εκπαιδευτικού Λογισμικού
ΑΛΓΟΡΙΘΜΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ
ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ εντολές ΤΕΛΟΣ_ΑΝ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Ανάπτυξη Εκπαιδευτικού Λογισμικού
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της.
Οι διάφορες εκδοχές της
Αναπαράσταση Αλγορίθμου
ΜΟΡΦΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
Αν συνθήκη_ισχύει τότε εντολές Τέλος_Αν
Επανάληψη.
Δομημένος Προγραμματισμός - Κεφάλαιο 4 - Ανάπτυξη αλγορίθμων
ΦΑΣΕΙΣ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΟΣ – ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ
8.2 Η Δομή Επανάληψης Μέχρις_ότου
ΑΛΓΟΡΙΘΜΟΣ.
ENOTHTA 2. ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΕΦΑΛΑΙΟ 2
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Δομή Επιλογής , 8.1.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Από τη Δομή Επανάληψης Για στην Όσο
οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…
Κυριάκου Νικόλαος Πληροφορικής ΠΕ-20
Από τη Δομή Ακολουθίας στις Δομές Επανάληψης
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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