Σε κάποιες περιπτώσεις κάποια τμήματα του αλγόριθμου πρέπει να εκτελεστούν περισσότερες από μια φορές. Η δομή επανάληψης χρησιμοποιείται για την επαναληπτική εκτέλεση μιας ακολουθίας ενεργειών (εντολών). Ελέγχεται από μια συνθήκη η οποία καθορίζει την έξοδο από την επαναληπτική εκτέλεση των εντολών. Το τμήμα εντολών ενός αλγορίθμου που εκτελείται επαναληπτικά λέγεται βρόχος.
Η δομή επανάληψης χρησιμοποιείται με τρεις διαφορετικές εκδοχές (μορφές): την ’’Όσο…Επανάλαβε’’, τη ’’Μέχρις_Ότου’’ και τη ’’Για…Από…Μέχρι’’.
Η δομή ’’Όσο…Επανάλαβε’’ συντάσσεται ως εξής:
Η λειτουργία της δομής αυτής περιγράφεται ως εξής:Η δομή επανάληψης χρησιμοποιείται με τρεις διαφορετικές εκδοχές (μορφές): την ’’Όσο…Επανάλαβε’’, τη ’’Μέχρις_Ότου’’ και τη ’’Για…Από…Μέχρι’’.
Η δομή ’’Όσο…Επανάλαβε’’ συντάσσεται ως εξής:
- Ελέγχεται η συνθήκη. Αν είναι αληθής εκτελείται η ομάδα εντολών που βρίσκεται μέσα στον βρόχο.
- Επαναλαμβάνεται η εκτέλεση των εντολών αυτών όσο η συνθήκη είναι αληθής.
- Όταν η συνθήκη γίνει ψευδής η επανάληψη σταματάει και ο αλγόριθμος συνεχίζει με την εντολή που ακολουθεί μετά την έκφραση Τέλος_επανάληψης.
Παράδειγμα
Δίνονται διαδοχικά από το πληκτρολόγιο μια σειρά αριθμών. Το πλήθος τους είναι απροσδιόριστο, ενώ για έξοδο δίνεται τιμή αρνητική ή μηδέν. Να γραφεί αλγόριθμος ο οποίος θα βρίσκει και θα τυπώνει στην οθόνη το άθροισμα των τιμών εισόδου.
Λύση
Aρχή
!Αρχικοποίηση τιμής αθροιστή
sum <— 0
! Είσοδος πρώτης τιμής
Γράψε 'Δώσε τιμή: '
Διάβασε t
!Επαναληπτική είσοδος τιμών και υπολογισμός αθροίσματος
Όσο t > 0 επανάλαβε
sum <— sum + t
Γράψε 'Δώσε τιμή: '
Διάβασε t
τελος_επαναληψης
!Έξοδος αποτελέσματος
Γράψε 'Άθροισμα : ' , sum
Τέλος
Δείτε το σχετικό video:
Η δομή ’’Μέχρις_Ότου’’ συντάσσεται ως εξής:
Η δομή Μέχρις_Ότου τερματίζει την εκτέλεση ενός βρόχου όταν μια συνθήκη γίνει αληθής. Το πλήθος των επαναλή- ψεων είναι άγνωστο αρχικά. Η λειτουργία της δομής αυτής περιγράφεται ως εξής: Δίνονται διαδοχικά από το πληκτρολόγιο μια σειρά αριθμών. Το πλήθος τους είναι απροσδιόριστο, ενώ για έξοδο δίνεται τιμή αρνητική ή μηδέν. Να γραφεί αλγόριθμος ο οποίος θα βρίσκει και θα τυπώνει στην οθόνη το άθροισμα των τιμών εισόδου.
Λύση
Aρχή
!Αρχικοποίηση τιμής αθροιστή
sum <— 0
! Είσοδος πρώτης τιμής
Γράψε 'Δώσε τιμή: '
Διάβασε t
!Επαναληπτική είσοδος τιμών και υπολογισμός αθροίσματος
Όσο t > 0 επανάλαβε
sum <— sum + t
Γράψε 'Δώσε τιμή: '
Διάβασε t
τελος_επαναληψης
!Έξοδος αποτελέσματος
Γράψε 'Άθροισμα : ' , sum
Τέλος
Δείτε το σχετικό video:
Η δομή ’’Μέχρις_Ότου’’ συντάσσεται ως εξής:
- Εκτελείται αρχικά η ομάδα εντολών που βρίσκεται μέσα στον βρόχο.
- Εφόσον η συνθήκη είναι ψευδής επαναλαμβάνεται η εκτέλεση της ομάδας εντολών.
- Όταν η συνθήκη γίνει αληθής η επανάληψη σταματάει και ο αλγόριθμος συνεχίζει με την εντολή που ακολου- θεί μετά την έκφραση Μέχρις_Ότου.
Να γραφεί αλγόριθμος ο οποίος θα ζητάει την τιμή του άρτιου ακεραίου αριθμού n και θα υπολογίζει και θα τυπώνει το άθροισμα
Σ = 2 + 4 + 6 + 8+ ... + n
Λύση
Δείτε το σχετικό video:
Η δομή ’’Για…Από…Μέχρι’’ συντάσσεται ως εξής:
Η δομή Για...Από...Μέχρι χρησιμοποιείται για την επαναλαμβανόμενη εκτέλεση των εντολών ενός βρόχου, όταν το πλήθος των επαναλήψεων είναι γνωστό. Αν και η περίπτωση γνωστού πλήθους επαναλήψεων μπορεί να αντιμετωπιστεί αποτελεσματικά και με τις προηγούμενες επαναληπτικές δομές, η δομή Για...Από...Μέχρι παρέχει στον προγραμματιστή σημαντική ευκολία. Η δομή χρησιμοποιεί έναν απαριθμητή ο οποίος απαριθμεί το πλήθος των επαναλήψεων.
Η λειτουργία της δομής αυτής περιγράφεται ως εξής:
- Αρχικά ο απαριθμητής Μ παίρνει τιμή ΤΙ.
- Επαναλαμβάνεται η εκτέλεση της ομάδας εντολών για όλες τις τιμές του απαριθμητή από την αρχική ΤΙ μέχρι την τελική Τ2, αυξανόμενες κάθε φορά κατά το βήμα Τ3.
- Όταν ο απαριθμητής πάρει τιμή μεγαλύτερη από Τ2 η επανάληψη σταματάει και ο αλγόριθμος συνεχίζει με την εντολή που ακολουθεί μετά την έκφραση Τέλος_επανάληψης.
Παράδειγμα
Να γίνει αλγόριθμος υπολογισμού της παράστασης
Ρ = ι^κ
όπου ι και κ θετικοί ακέραιοι, χωρίς τη χρήση του τελεστή δύναμης (Λ).
Λύση
Για τον υπολογισμό αυτής της παράστασης πρέπει να δοθεί ως είσοδος μια ακέραια τιμή, η οποία θα καταχωρηθεί σε μία μεταβλητή ι και θα εκφράζει τη βάση της δύναμης, καθώς και μια άλλη ακέραια τιμή που θα καταχωρηθεί σε μια μεταβλητή κ και θα εκφράζει τον εκθέτη της δύναμης.
Αν ακολουθήσουμε τα παρακάτω βήματα, θα φτάσουμε στον υπολογισμό της δύναμης:
Βλέπουμε δηλαδή ότι σε κάθε βήμα από το 2° μέχρι και το τελευταίο, πολλαπλασιάζουμε το περιεχόμενο της μεταβλητής Ρ με το περιεχόμενο μιας μεταβλητής ι. Αρκεί λοιπόν μια επαναληπτική δομή που σε κάθε της επανάληψη να πολλαπλασιάζεται το Ρ με το ι. Από το σχήμα παρατηρούμε ότι η επαναληπτική δομή πρέπει να κάνει κ επαναλήψεις. Έτσι χρησιμοποιώντας την επαναληπτική δομή για...από...μέχρι για κ επαναλήψεις προκύπτει ο ακόλουθος αλγόριθμος:
Αρχή
διάβασε ι, κ
Ρ <- 1 για j από 1 μέχρι κ με βήμα 1 Ρ <- Ρ * ι
τέλος επανάληψης
γράψε Ρ
Τέλος
Αρχή
διάβασε ι, κ
Ρ <- 1 για j από 1 μέχρι κ με βήμα 1 Ρ <- Ρ * ι
τέλος επανάληψης
γράψε Ρ
Τέλος
Δείτε τη σχετική παρουσίαση
Για τη σύγκριση των τριών παραπάνω δομών δείτε τα παρακάτω παραδείγματα:
Ας θεωρήσουμε την περίπτωση ενός εργάτη που τοποθετεί πλακάκια δαπέδου. Έστω ότι για την κάλυψη ενός δωματίου χρειάζονται 100 πλακάκια. Η διαδικασία αυτή θα μπορούσε να περιγραφεί ως εξής με τις τρεις δομές επανάληψης:
i) Κάλυψη δαπέδου με πλακάκια (1)
Όσο δεν έχει τελειώσει η τοποθέτηση επαναλαμβάνω τα εξής:
- Παίρνω λάσπη από την παλέτα.
- Απλώνω τη λάσπη στο δάπεδο.
- Παίρνω ένα πλακάκι από το σωρό.
- Τοποθετώ το πλακάκι στο δάπεδο.
Ελέγχω αν έχει τελειώσει η τοποθέτηση. Αν δεν έχει τελειώσει επιστρέφω στο βήμα 1.
Κάντε κλικ στην εικόνα:
ii) Κάλυψη δαπέδου με πλακάκια (2)
Επαναλαμβάνω τα εξής:
- Παίρνω λάσπη από την παλέτα.
- Απλώνω τη λάσπη στο δάπεδο.
- Παίρνω ένα πλακάκι από το σωρό.
- Τοποθετώ το πλακάκι στο δάπεδο.
- Κτυπώ το πλακάκι ώστε να στοιχηθεί σωστά. Μέχρι να τελειώσει η τοποθέτηση.
Κάντε κλικ στην εικόνα:
iii) Κάλυψη δαπέδου με πλακάκια (3)
Επαναλαμβάνω 100 φορές (από το 1° μέχρι το 100° πλακάκι) τα εξής:
- Παίρνω λάσπη από την παλέτα.
- Απλώνω τη λάσπη στο δάπεδο.
- Παίρνω ένα πλακάκι από το σωρό.
- Τοποθετώ το πλακάκι στο δάπεδο.
- Κτυπώ το πλακάκι ώστε να στοιχηθεί σωστά.
Κάντε κλικ στην εικόνα:
Δείτε το 3ο φύλλο εργασίας
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου