Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΠολυξένη Ζυγομαλάς Τροποποιήθηκε πριν 8 χρόνια
1
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές............ Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική τιμή στην τελική τιμή ατ : αρχική τιμή ττ : τελική τιμή β : βήμα μεταβολής (Αν είναι 1, τότε η φράση με_βήμα β, παραλείπεται. Αν είναι αρνητικό, πρέπει ατ >= ττ) Η δομή «ΓΙΑ» μεταβάλλει αυτόματα τη μεταβλητή μτ σε κάθε επανάληψη σύμφωνα με το βήμα. Οι εντολές, μπορούν να κάνουν χρήση της μεταβλητής μτ, δεν πρέπει όμως να αλλάζουν την τιμή της. Η χρήση της δεν είναι απαραίτητη αλλά έχει σχεδιαστεί για να απλοποιήσει τον έλεγχο των επαναλήψεων, όταν είναι γνωστός από την εκφώνηση ο αριθμός επαναλήψεων: ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ»
2
i ← 1 Όσο i <= 100 επανάλαβε Εμφάνισε i i ← i + 1 Τέλος_επανάληψης Η μεταβλητή i μετράει τις επαναλήψεις. Αρχικά παίρνει την τιμή 1. Κάθε φορά που ο αλγόριθμος φτάνει στο Τέλος_επανάληψης επιστρέφει στο «Για» και αυξάνεται κατά 1. Όσο ο μετρητής είναι μικρότερος ή ίσος του 100 εκτελούνται οι εντολές του βρόχου. Όταν μετρητής γίνει 101 σταματάει η επανάληψη και ο αλγόριθμος προχωρά με τις εντολές μετά το τέλος επανάληψης. Με ΟΣΟ Για i από 1 μέχρι 100 Εμφάνισε i Εμφάνισε iΤέλος_επανάληψης i ← 1 i <= 100 i ← i + 1 Για i από 1 μέχρι 100 Τελικά 3 σε 1 ΑΠΟ ΤΟ ΟΣΟ ΣΤΟ ΓΙΑ
3
10 15 20 25 30 Η ΔΟΜΗ «ΓΙΑ» ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ k 5 Για i από 1 μέχρι 5 k k + 5 k k + 5Τέλος_επανάληψης k i=1 i=2 i=3 i=4 i=5 i=6 > 5 Έξοδος 5 ≤ 5
4
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ » (διαγραμματικά) Αρχικοποίηση συνθήκης Συνθήκη ισχύει ακόμη; Εντολές ΝΑΙ ΌΧΙ Διαγραμματικά είναι ίδια με την δομή επανάληψης «ΟΣΟ»
5
Θέλουμε να διαβάζουμε 100 ακέραιους και να μετράμε πόσοι από αυτούς είναι άρτιοι και πόσοι περιττοί Αλγόριθμος μετρητές m1 0 ! μετρητής άρτιων m2 0 ! μετρητής περιττών Για i από 1 μέχρι 100 Διάβασε α Αν α mod 2 = 0 τότε m1 m1 + 1 αλλιώς m2 m2 + 1 Τέλος_Αν Τέλος_επανάληψης Εμφάνισε m1, m2 Τέλος_Αν Τέλος_επανάληψης Εμφάνισε m1, m2 Τέλος μετρητές ΜΕΤΡΗΤΗΣ Συχνά ζητείται να μετρήσουμε μέσα στην επανάληψη το πλήθος κάποιων δεδομένων ή το πόσες φορές ικανοποιείται κάποια συνθήκη. Τότε χρησιμοποιούμε μια μεταβλητή (μετρητή) που αρχικοποιείται (συνήθως μηδενίζεται) πριν το βρόχο και μέσα στο βρόχο αυξάνεται κατά ένα κάθε φορά που συμβαίνει αυτό που ζητείται να μετρήσουμε.
6
ΑΘΡΟΙΣΤΗΣ Είναι μια ειδική μεταβλητή που χρησιμοποιείται για να βρούμε σταδιακά το άθροισμα πολλών «ομοειδών» δεδομένων. Η χρήση της έχει ως εξής: (i)τις δίνουμε αρχική τιμή συνήθως 0 πριν την επανάληψη sum → 0 (ii) μέσα στην επαναληπτική δομή και αφού διαβάσουμε (ή υπολογίσουμε) το δεδομένο που μας ενδιαφέρει, το προσθέτουμε στον αθροιστή με την εντολή sum → sum + δεδομένο κι έτσι η μεταβλητή sum αυξάνει το προηγούμενο περιεχόμενό της κατά τόσο, όσο είναι η τιμή του δεδομένου. (iii) Στο τέλος της επανάληψης η μεταβλητή sum θα «κρατάει» το άθροισμα.
7
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» παράδειγμα #2 Αλγόριθμος άθροισμα Sum 0 Sum 0 Για i από 1 μέχρι 100 Sum Sum + i Τέλος_επανάληψης Εμφάνισε Sum Για i από 1 μέχρι 100 Sum Sum + i Τέλος_επανάληψης Εμφάνισε Sum Τέλος άθροισμα Υπολογισμός του αθροίσματος 1+2+3+....+100
8
Τι εμφανίζει καθώς εκτελείται η παρακάτω επαναληπτική δομή: Αριθμός επαναλήψεων Αριθμός γραμμής Β Συνθήκη Β>=100 Οθόνη 1 100 Αληθής 1 η επανάληψη 2 η επανάληψη 3 → 1 Αληθής 3 η επανάληψη 2 3 → 1Αληθής 200 2 175 75 2 150 1. Για Β από 200 μέχρι 100 με_βήμα –25 2. Εμφάνισε Β – 100 3. Τέλος_Επανάληψης 4. Εμφάνισε Β 50 3 → 1 125Αληθής 4 η επανάληψη 252 3 → 1 100Αληθής 5 η επανάληψη 2 0 3 → 1 75 Ψευδής 475
9
1. Για Α από 10 μέχρι 20 11 φορές 1 φορά Καμία φορά 21 φορές 12 φορές Καμία φορά Πόσες φορές θα εκτελεστούν οι παρακάτω επαναλήψεις; 4. A1 10 A2 21 Για ΜΕΤΡΗΤΗ από Α1 μέχρι Α2 2. Για Β από 10 μέχρι 10 3. Για Ε από 30 μέχρι 20 5. Για Γ από -10 μέχρι 10 6. Για Δ από -10 μέχρι -20 ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» - ΛΕΙΤΟΥΡΓΙΑ
10
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Δίνεται η παρακάτω επαναληπτική δομή: Για i από τ1 μέχρι τ2 με_βήμα β Εμφάνισε «Σωστό» Τέλος_επανάληψης Πόσες φορές εκτελείται η εντολή Εμφάνισε για καθένα από τους παρακάτω συνδυασμούς των τιμών των μεταβλητών τ1, τ2 και β: 1. τ1=5 τ2=0 β=−2 2. τ1=5 τ2=1 β=2 3. τ1=5 τ2=5 β=1 4. τ1=5 τ2=6.5 β=0,5 3 φορές 0 φορές 1 φορά 4 φορές
11
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Δίνεται η παρακάτω επαναληπτική δομή: Για Χ από Α μέχρι Β με_βήμα Γ Εμφάνισε Χ Τέλος_επανάληψης Ποιοι αριθμοί εμφανίζονται κατά την εκτέλεση της παραπάνω δομής επανάληψης, όταν 1. Α= 2, Β= 15, Γ= 3 2. Α =0, Β = -7, Γ= -2 2 5 8 11 14 0 -2 -4 -6
12
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Δίνεται η παρακάτω επαναληπτική δομή: k ← 0 sum ← 0 Για Χ από 2 μέχρι 12 με_βήμα 3 Αν Χ > 5 τότε k ← k +1 αλλιώς sum ← sum + x Τέλος_αν Τέλος_επανάληψης Εμφάνισε k, sum Ποιος ο ρόλος των μεταβλητών k και sum. Ποιες οι τελικές τιμές τους που θα εμφανιστούν; k = 2sum = 7
13
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» 1. k ← 0 ! μετρητής 2. sum ← 0 ! αθροιστής 3. Για Χ από 2 μέχρι 12 με_βήμα 3 4. Αν Χ > 5 τότε 5. k ← k +1 Αλλιώς 6. sum ← sum + x 7. Τέλος_αν 8. Τέλος_επανάληψης 9. Εμφάνισε x, k, sum Αριθμός επαναλήψεων Αριθμός γραμμής ksumX Συνθήκη Χ<=12 Συνθήκη Χ>5 Οθόνη 1, 2, 30 0 1 η επανάληψη 2 η επανάληψη 4 Αληθής 3 η επανάληψη 6 Ψευδής 2 5 2 7,8 → 3 4 Αληθής 6 7 Ψευδής 4 η επανάληψη 8 4 7,8 → 3 Αληθής 51 7,8 → 3 11Αληθής 4 5 2 7,8 → 314Ψευδής 9 14, 2, 7
14
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Για το παρακάτω τμήμα αλγορίθμου να συμπληρώσετε τα κενά, ώστε να εμφανίζει τους αριθμούς: 1, -2, 3, -4, 5, -6, 7, -8, 9, -10 : Για i από.... μέχρι.... Αν ………….…....... τότε Εμφάνισε.... αλλιώς Εμφάνισε.... Τέλος_αν Τέλος_επανάληψης 110 i mod 2 <> 0 i -i
15
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Συμπληρώστε τα κενά ώστε οι επόμενες εντολές να εμφανίζουν το άθροισμα των τετραγώνων των περιττών αριθμών από 1 έως και 99. … 0 Για i από … μέχρι … με_βήμα … s … + … Τέλος_επανάληψης Εμφάνισε … s 1 s 992 i s
16
Σας δίνονται τα παρακάτω δύο τμήματα αλγορίθμων Α και Β αντίστοιχα. Τι θα εμφανιστεί στην οθόνη του υπολογιστή κατά την εκτέλεση του αλγορίθμου Α και τι κατά την εκτέλεση του αλγορίθμου Β. Α 1 3 6 ΑΒ Σ ← 0 Για i από 1 μέχρι 3 Σ ← Σ + i Εμφάνισε Σ Τέλος_Επανάληψης Σ ← 0 Για i από 1 μέχρι 3 Σ ← Σ + i Τέλος_Επανάληψης Εμφάνισε Σ Β 6
17
4. ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Να γραφεί αλγόριθμος που θα υπολογίζει το άθροισμα όλων των περιττών αριθμών από το 1 ως το 10 Αλγόριθμος ΔΠ3 sum 0 Για i από 1 μέχρι 10 Αν i MOD 2 = 1 Τότε sum sum + i Τέλος_Αν Τέλος_επανάληψης Εμφάνισε sum Τέλος ΔΠ3 Αλγόριθμος ΔΠ3 sum 0 Για i από 1 μέχρι 10 με_βήμα 2 sum sum + i Τέλος_επανάληψης Εμφάνισε sum Τέλος ΔΠ3 1 ος Τρόπος 2 ος Τρόπος Γιατί εκτελείται πιο αργά;
18
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Θέλουμε να διαβάσουμε 10 διαφορετικούς αριθμούς και να βρούμε τον μεγαλύτερο. Στη μεταβλητή max θα αποθηκεύσουμε τον μέγιστο αριθμό που ζητείται. Αρχικά θέτουμε ως μέγιστο τον πρώτο αριθμό που διαβάζουμε. Μετά συγκρίνουμε τον κάθε αριθμό που διαβάζουμε με τον max και αν είναι μεγαλύτερος από τον max θέτουμε αυτόν ως max. Αλγόριθμος μέγιστος Για i από 1 μέχρι 10 Διάβασε α Αν i=1 τότε max ← α αλλιώς Αν α > max τότε Αν α > max τότε max ← α Τέλος_αν Τέλος_ανΤέλος_ανΤέλος_επανάληψης Εμφάνισε max Τέλος μέγιστος
19
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ «ΓΙΑ» Θέλουμε να διαβάσουμε 10 διαφορετικούς αριθμούς και να βρούμε τον μικρότερο. Στη μεταβλητή min θα αποθηκεύσουμε τον μικρότερο αριθμό που ζητείται. Αρχικά θέτουμε ως μικρότερο τον πρώτο αριθμό που διαβάζουμε. Μετά συγκρίνουμε τον κάθε αριθμό που διαβάζουμε με τον min και αν είναι μικρότερος από τον min θέτουμε αυτόν ως min. Αλγόριθμος μέγιστος Για i από 1 μέχρι 10 Διάβασε α Αν i=1 τότε min ← α αλλιώς Αν α < min τότε Αν α < min τότε min ← α Τέλος_αν Τέλος_ανΤέλος_ανΤέλος_επανάληψης Εμφάνισε min Τέλος μέγιστος
20
ΕΜΦΩΛΕΥΜΕΝΗ «ΓΙΑ» Ο εσωτερικός βρόχος βρίσκεται πάντα ολόκληρος μέσα στον εξωτερικό, δηλ. ο βρόχος που ξεκινάει τελευταίος ολοκληρώνεται πρώτος Η είσοδος σε κάθε βρόχο γίνεται υποχρεωτικά από την αρχή του ΔΕΝ πρέπει να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσότερων βρόχων (x, y, z) Η «Αν» θα εκτελεστεί 100x100x100 φορές! Αλγόριθμος Λύσεις Για x από 1 μέχρι 100 Για y από 1 μέχρι 100 Για y από 1 μέχρι 100 Για z από 1 μέχρι 100 Για z από 1 μέχρι 100 Αν 3*x+2*y-7*z = 5 τότε Αν 3*x+2*y-7*z = 5 τότε Τύπωσε x, y, z Τύπωσε x, y, z Τέλος_Αν Τέλος_Αν Τέλος_επανάληψης Τέλος_επανάληψης Τέλος_επανάληψης Τέλος Λύσεις
21
ΑΝΤΙΣΤΟΙΧΙΑ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ Στις περισσότερες περιπτώσεις, μπορούν να χρησιμοποιηθούν και οι τρεις δομές επανάληψης. Π.χ.: Να γραφεί αλγόριθμος που να εμφανίζει τους αριθμούς 1 - 100 Αλγόριθμος Χρήση_Όσο i 1 i 1 Όσο i <= 100 επανάλαβε Όσο i <= 100 επανάλαβε Εμφάνισε i Εμφάνισε i i i + 1 i i + 1 Τέλος_επανάληψης Τέλος Χρήση_Όσο Τέλος_επανάληψης Τέλος Χρήση_Όσο Αλγόριθμος Χρήση_Μέχρις_ότου i 1 i 1 Αρχή_επανάληψης Αρχή_επανάληψης Εμφάνισε i Εμφάνισε i i i + 1 i i + 1 Μέχρις_ότου i > 100 Μέχρις_ότου i > 100 Τέλος Χρήση_Μέχρις_ότου Αλγόριθμος Χρήση_Για Για i από 1 μέχρι 100 Για i από 1 μέχρι 100 Εμφάνισε i Εμφάνισε i Τέλος_επανάληψης Τέλος Χρήση_Για Τέλος_επανάληψης Τέλος Χρήση_Για ΓΕΝΙΚΑ Χρησιμοποιείται σε όλες τις περιπτώσεις συνθηκών (αριθμητικών και μη), είτε απλών είτε σύνθετων ΓΕΝΙΚΑ Ισχύουν τα ίδια με την ΟΣΟ, με τη διαφορά ότι οι εντολές επανάληψης εκτελούνται σίγουρα μια φορά. ΓΕΝΙΚΑ Χρησιμοποιείται μόνο σε γνωστό πλήθος επαναλήψεων.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.