Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής 1Ο Λύκειο Ρόδου ΑΕΠΠ 2ο Κεφάλαιο Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ Όσο …επανάλαβε Αρχή Επανάληψης …Μέχρις_ότου … Για … από …. μέχρι……. Σύνδεση με το 1.6 πρόβλημα και υπολογιστής
1. Όσο…. Όσο <συνθήκη> επανάλαβε εντολή 1 εντολή 2 εντολή 3 …… Τέλος_επανάληψης Να ξεκινήσουμε με ένα παράδειγμα, π.χ. Διοργάνωση ενός ταξιδιού ή υπολογισμός των μορίων εισαγωγής (Παν. Εξετάσεις)
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Όσο … επανάλαβε ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Όσο … επανάλαβε Με γνωστό πλήθος επαναλήψεων Με άγνωστο πλήθος επαναλήψεων Σύνδεση με το 1.6 πρόβλημα και υπολογιστής
Παράδειγμα Όσο Με γνωστό πλήθος επαναλήψεων Παράδειγμα Όσο Με γνωστό πλήθος επαναλήψεων Να γραφτεί αλγόριθμος που να εμφανίζει τους αριθμούς 1 έως 10 Αλγόριθμος αριθμοί1 i ← 1 Όσο i<=10 επανάλαβε Εμφάνισε i i ← i+1 Τέλος_επανάληψης Τέλος αριθμοί1 ΑΡΧΗ i ← 1 i ← i+1 Εμφάνισε i Χ<=10 ΝΑΙ ΟΧΙ ΤΕΛΟΣ
Εφαρμογή: Να γραφτεί αλγόριθμος που να εμφανίζει τους αριθμούς 10 έως 1 Για το σπίτι (διαφ. 6) Να γραφτεί αλγόριθμος που να εμφανίζει τους άρτιους αριθμούς 2 έως 10
Παράδειγμα Όσο Με γνωστό πλήθος επαναλήψεων Παράδειγμα Όσο Με γνωστό πλήθος επαναλήψεων Αλγόριθμος αριθμοί2 i ← ………. Όσο i…….. επανάλαβε Τέλος_επανάληψης Τέλος αριθμοί2
Τι θα αλλάξουμε στον προηγούμενο αλγόριθμο; Παράδειγμα 2.14, σελ. 38-39 Να γραφτεί αλγόριθμος που να διαβάζει έναν ακέραιο αριθμό Ν, να εμφανίζει τους αριθμούς 1 έως Ν Τι θα αλλάξουμε στον προηγούμενο αλγόριθμο;
Να γραφτεί αλγόριθμος που να εμφανίζει τους αριθμούς 1 έως N Παράδειγμα Όσο Να γραφτεί αλγόριθμος που να εμφανίζει τους αριθμούς 1 έως N Αλγόριθμος αριθμοί3 διάβασε Ν i ← 1 Όσο i<=N επανάλαβε Εμφάνισε i i ← i+1 Τέλος_επανάληψης Τέλος αριθμοί3 ΑΡΧΗ i ← 1 i ← i+1 Εμφάνισε i i <= Ν ΝΑΙ ΟΧΙ ΤΕΛΟΣ
Σκελετός Όσο με γνωστό πλήθος επαναλήψεων (διαφ.10) i ← 1 Όσο i<=….. επανάλαβε ΕΝΤΟΛΗ 1 ΕΝΤΟΛΗ 2 . ΕΝΤΟΛΗ Κ i ← i + 1 Τέλος_επανάληψης i ← 1 i ← i+1 ΕΝΤΟΛΕΣ i <=….. ΝΑΙ ΟΧΙ
Όσο με γνωστό πλήθος επαναλήψεων Εφαρμογή: Να γραφτεί αλγόριθμος που να διαβάζει 10 αριθμούς και να τους εμφανίζει Για το σπίτι: (διαφ. 11) Να γραφτεί αλγόριθμος που να διαβάζει 10 αριθμούς και να εμφανίζει μόνο όσους είναι μεγαλύτεροι από το μηδέν.
Παράδειγμα Όσο Με γνωστό πλήθος επαναλήψεων Παράδειγμα Όσο Με γνωστό πλήθος επαναλήψεων Αλγόριθμος αριθμοί4 i ← ………. Όσο i…….. επανάλαβε i ← i + 1 Τέλος_επανάληψης Τέλος αριθμοί4
Παράδειγμα Όσο με γνωστό πλήθος επαναλήψεων Να γραφτεί αλγόριθμος που να διαβάζει 10 αριθμούς και να τους εμφανίζει Αλγόριθμος αριθμοί4 i ← 1 Όσο i<=10 επανάλαβε Διάβασε Χ Εμφάνισε Χ i ← i + 1 Τέλος_επανάληψης Τέλος αριθμοί4
Για το σπίτι: Καλό Διάβασμα!!! Α) Βιβλίο (θεωρία σελ. 38-39) Β) Ασκήσεις από διαφάνειες 6, 11 Καλό Διάβασμα!!!
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Όσο … επανάλαβε ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Όσο … επανάλαβε Με γνωστό πλήθος επαναλήψεων Με άγνωστο πλήθος επαναλήψεων Σύνδεση με το 1.6 πρόβλημα και υπολογιστής
2. Παράδειγμα Όσο με χρήση «τιμή φρουρός» 2. Παράδειγμα Όσο με χρήση «τιμή φρουρός» Να γραφτεί αλγόριθμος ο οποίος να διαβάζει τους αριθμούς που πληκτρολογεί ένας χρήστης. Η εισαγωγή των αριθμών θα σταματάει αν ο χρήστης εισάγει το 0. Στο τέλος να εμφανίζονται: α) το πλήθος των αριθμών β) το άθροισμά τους.
τιμή φρουρός Αλγόριθμος παράδειγμα_όσο Σ ← 0 Π ← 0 Διάβασε Χ Όσο Χ <> 0 επανάλαβε Σ ← Σ + Χ Π ← Π + 1 Τέλος_επανάληψης Εμφάνισε Σ Τέλος παράδειγμα_όσο
Παράδειγμα Όσο Δοκιμάστε τον αλγόριθμο: Παραλείποντας την Σ ← 0 Παραλείποντας τη Διάβασε Χ Βάζοντας την Εμφάνισε Σ μέσα στην επανάληψη Αλλάζοντας τη σειρά εκτέλεσης των εντολών του βρόχου.
Σκελετός Όσο με χρήση «τιμής φρουρός» Σκελετός Όσο με χρήση «τιμής φρουρός» Διάβασε Χ Όσο Χ <> ….. επανάλαβε ΕΝΤΟΛΗ 1 ΕΝΤΟΛΗ 2 . ΕΝΤΟΛΗ Κ Τέλος_επανάληψης Διάβασε Χ Διάβασε Χ ΕΝΤΟΛΕΣ Χ<>0 ΝΑΙ ΟΧΙ
Εφαρμογή: παρ. 2.15, σελ. 39-40 Να γραφτεί αλγόριθμος που να διαβάζει το όνομα και τους βαθμούς κάθε μαθητή μιας τάξης σε τρία μαθήματα. Έπειτα να υπολογίζει και να εμφανίζει το μέσο όρο του. Η διαδικασία θα σταματά όταν ως όνομα δοθεί το κενό. Έπειτα να εμφανίζεται το πλήθος των μαθητών αυτών. (Υπόδειξη: Χρήση τιμών φρουρών)
Εφαρμογή: παρ. 2.16, σελ. 40
Εφαρμογή (διαφ. 22): καλάθι αγορών Να γραφεί αλγόριθμος που αρχικά να διαβάζει ένα διαθέσιμο ποσό για αγορές. Έπειτα, θα διαβάζει διαδοχικά την τιμή των προς αγορά προϊόντων. Οι αγορές θα σταματούν πριν η ενδεχόμενη αγορά κάποιου προϊόντος οδηγήσει στην υπέρβαση του διαθέσιμου ποσού.
Για το σπίτι: Καλό Διάβασμα!!! Α) Βιβλίο Μαθητή Β) Ασκήσεις Σελ. 38 - 40, (όχι την εντολή μέχρις ότου, σελ. 42) Β) Ασκήσεις 32, 33, 34 Καλό Διάβασμα!!!
ΠΙΝΑΚΕΣ ΤΙΜΩΝ ΣΤΗΝ ΟΣΟ - ΕΠΑΝΑΛΑΒΕ ΑΝΑΛΥΤΙΚΟΣ ΣΥΝΟΠΤΙΚΟΣ
Πίνακες τιμών όσο_επανάλαβε Βλ. φυλλάδιο Πίνακες τιμών όσο_επανάλαβε
Εφαρμογή διαφ.25 0: Σ 0
Για το σπίτι ασκ. 46, σελ. 54 (α γίνει με πίνακα τιμών)
Εύρεση MIN - MAX
Για το σπίτι (διαφ.28)
Για το σπίτι: Καλό Διάβασμα!!! Α) Βιβλίο Μαθητή Β) Ασκήσεις Σελ. 38 - 40, (όχι την εντολή μέχρις ότου, σελ. 42) Β) Ασκήσεις Διαφάνειες 25, 26, 28 Μια άσκηση από την τράπεζα θεμάτων (βλ. www.venetokleio.gr) Καλό Διάβασμα!!!
2. Μέχρις_ότου … Επανάλαβε εντολή 1 εντολή 2 εντολή 3 …… Μέχρις_ότου <συνθήκη> Να ξεκινήσουμε με ένα παράδειγμα, π.χ. Διοργάνωση ενός ταξιδιού ή υπολογισμός των μορίων εισαγωγής (Παν. Εξετάσεις)
Έλεγχος εισόδου δεδομένων Μέχρις_ότου Να γράψετε την εντολή που διαβάζει το ύψος ενός μαθητή Να τροποποιήσετε την εντολή ώστε να εξασφαλίζεται ότι ο χρήστης θα δίνει πάντα θετική τιμή.
Έλεγχος εισόδου δεδομένων σε Αλγόριθμο με τη Μέχρις_ότου Επανάλαβε διάβασε Μέχρις_ότου …………………………..
Εφαρμογή Να γραφεί αλγόριθμος ο οποίος να εμφανίζει το εμβαδόν ενός τετραγώνου, λαμβάνοντας σαν είσοδο την πλευρά του. Η είσοδος της πλευράς να γίνεται με τέτοιο τρόπο ώστε να εξασφαλίζεται ότι ο χρήστης θα δίνει πάντα θετική τιμή.
Έλεγχος εισόδου δεδομένων Μέχρις_ότου Επανάλαβε διάβασε φύλο Μέχρις_ότου ………………………….. Επανάλαβε διάβασε βαθμό Μέχρις_ότου …………………………..
Έλεγχος εισόδου δεδομένων Μέχρις_ότου Επανάλαβε διάβασε φύλο Μέχρις_ότου φύλο=‘Α’ ή ‘φύλο=‘Γ’ Επανάλαβε διάβασε βαθμό Μέχρις_ότου βαθμό >= 0 και βαθμό <= 20
Για το σπίτι: Έλεγχος εισόδου δεδομένων Μέχρις_ότου Για το σπίτι: Έλεγχος εισόδου δεδομένων Μέχρις_ότου Να γραφτεί αλγόριθμος ο οποίος να υπολογίζει το εμβαδόν ενός τριγώνου έτσι ώστε να εξασφαλίζεται η εγκυρότητα των δεδομένων. Υπόδειξη: Μπορούμε να χρησιμοποιήσουμε είτε μία δομή ελέγχου και για τα δύο δεδομένα (βάση, ύψος), είτε μία ξεχωριστή δομή για το καθένα. Και οι δύο λύσεις είναι σωστές. Να διαλέξετε αυτή που είναι «φιλικότερη προς τον χρήστη».
Μενού Επιλογής Με τη Μέχρις_ότου
Παράδειγμα 2.17 σελ. 40 βιβλίου
Για το σπίτι: Καλό Διάβασμα!!! Α) Βιβλίο Μαθητή Β) Ασκήσεις Παρ. 2.17, σελ. 40-41 Β) Ασκήσεις 48 (σελ. 54) Διαφάνεια 39 Καλό Διάβασμα!!!
3. Για … από …. μέχρι… Για i από 1 μέχρι 100 εντολή 1 εντολή 2 εντολή 3 …… Τέλος_επανάληψης Να ξεκινήσουμε με ένα παράδειγμα, π.χ. Διοργάνωση ενός ταξιδιού ή υπολογισμός των μορίων εισαγωγής (Παν. Εξετάσεις)
Για … από …. μέχρι… με βήμα Να γραφτεί αλγόριθμος που να εμφανίζει τους αριθμούς 1 έως 100 Αλγόριθμος εμφάνιση_αριθμών Για i από 1 μέχρι 100 εμφάνισε i Τέλος_επανάληψης Τέλος εμφάνιση_αριθμών
Για … από …. μέχρι… με βήμα Να γραφτεί αλγόριθμος που να εμφανίζει τους άρτιους αριθμούς 1 έως 100 Αλγόριθμος εμφάνιση_άρτιων Για i από 2 μέχρι 100 με βήμα 2 εμφάνισε i Τέλος_επανάληψης Τέλος εμφάνιση_άρτιων Εφαρμογή: Να γραφτεί αλγόριθμος που να εμφανίζει τους περιττούς αριθμούς 99 έως 1
Για … από …. μέχρι… με βήμα Να γραφτεί αλγόριθμος που να εμφανίζει τους περιττούς αριθμούς 99 έως 1 Αλγόριθμος εμφάνιση_περιττών Για i από 99 μέχρι 1 με βήμα -2 εμφάνισε i Τέλος_επανάληψης Τέλος εμφάνιση_περιττών
ΕΦΑΡΜΟΓΗ
Για … από …. μέχρι… με βήμα Να γραφτεί αλγόριθμος που να εμφανίζει τις διαδοχικές τιμές της συνάρτησης f(x)=2x+5 στο διάστημα [0,2] με βήμα 0,1
Για … από …. μέχρι… με βήμα Να γραφτεί αλγόριθμος που να εμφανίζει τις διαδοχικές τιμές της συνάρτησης f(x)=2x+5 στο διάστημα [0,2] με βήμα 0,1 Αλγόριθμος εμφάνιση_τιμών_συνάρτησης Για Χ από 0 μέχρι 2 με βήμα 0,1 εμφάνισε 2*Χ+5 Τέλος_επανάληψης Τέλος εμφάνιση_τιμών_συνάρτησης
Για το σπίτι: Καλό Διάβασμα!!! Α) Βιβλίο Μαθητή Παρ. 2.18, σελ. 41 Β) Ασκήσεις 29, σελ. 52 46 (πίνακας τιμών), 47 (σελ. 54) Γ) Θέματα Δ 3, 6 (Από Φ/Τ) Καλό Διάβασμα!!!