ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης και ποιες είναι οι τρεις επαναληπτικές δομές ; Η λογική των επαναληπτικών διαδικασιών εφαρμόζεται στις περιπτώσεις, όπου μία ακολουθία εντολών πρέπει να εκτελεστεί πολλές φορές. Η διαδικασία της επανάληψης είναι αρκετά συχνή, αφού πολλά προβλήματα μπορούν ακολουθούν με επαναληπτικές διαδικασίες. Για παράδειγμα, οι τράπεζες αποδίδουν τόκους των καταθέσεων ταμιευτηρίου. Ο υπολογισμός των τόκων πρέπει να γίνει για όλους τους λογαριασμούς της τράπεζας, άρα η πράξη: τόκος = ποσό * επιτόκιο πρέπει να εκτελεστεί για όλους τους τραπεζικούς λογαριασμούς. Οι επαναληπτικές διαδικασίες μπορεί να έχουν διάφορες μορφές και συνήθως εμπεριέχουν και συνθήκες επιλογών. Οι τρεις επαναληπτικές δομές που χρησιμοποιούνται είναι: Όσο επανάλαβε Τέλος...επανάληψης Για από... μέχρι Τέλος...επανάληψης Αρχή_επανάληψης Μέχρις...ότου 2) Να περιγράφει η δομή επανάληψης Όσο.Επανάλαβε ; Η δομή επανάληψης Όσο... επανάλαβε αποτελεί τον πιο γενικό τύπο δομής επανάληψης. Η μορφή της είναι. Όσο Συνθήκη επανάλαβε
Η ομάδα εντολών στο εσωτερικό της επανάληψης εκτελείται όσο ισχύει η συνθήκη στην αρχή της επανάληψης. Η εντολή επανάληψης καλείται και βρόχος επανάληψης ή απλά βρόχος. Τα βήματα της δομής επανάληψης Όσο... επανάλαβε είναι: 1ο Βήμα: Γίνεται έλεγχος της συνθήκης. Αν η συνθήκη ισχύει πηγαίνουμε στο 2 ο βήμα. Αν η συνθήκη δεν ισχύει, τότε η εκτέλεση του αλγορίθμου συνεχίζει πρώτη εντολή μετά το. 2ο Βήμα: Εκτελούνται οι εντολές που υπάρχουν ανάμεσα στο Όσο... επανάλαβε και στο και επανερχόμαστε στο 1ο βήμα. Στη δομή επανάληψης Όσο...επανάλαβε παρατηρούμε τα εξής: 1. Η ομάδα εντολών ανάμεσα στο Όσο... επανάλαβε και στο μπορεί να μην εκτελεστεί ποτέ, γιατί μπορεί να μην ισχύει η συνθήκη εξαρχής. 2. Δεν γνωρίζουμε εκ των προτέρων τον αριθμό των επαναλήψεων. Η ομάδα εντολών της επανάληψης εκτελείται όσο η συνθήκη είναι αληθής. 3. Στην ομάδα εντολών θα πρέπει να περιλαμβάνονται και εντολές που θα τροποποιούν τη συνθήκη, έτσι ώστε κάποια στιγμή αυτή να γίνει ψευδής και η επανάληψη να τερματίσει. 4. Η δομή επανάληψης Όσο..επανάλαβε χρησιμοποιείται όταν δεν γνωρίζουμε τον ακριβή αριθμό επαναλήψεων. Όταν δηλ. δεν γνωρίζουμε από την αρχή πόσες φορές θέλουμε να εκτελεστεί μια ομάδα εντολών, αλλά η εκτέλεση εξαρτάται από μία συνθήκη. 3) Τι καλείται ατέρμων βρόχος. Να δοθεί ένα παράδειγμα ; Όταν η συνθήκη μιας επανάληψης είναι πάντα αληθής, δηλ. ο βρόχος δεν τερματίζει, τότε η επανάληψη καλείται ατέρμων βρόχος. Για παράδειγμα, ένας ατέρμων βρόχος είναι: α 4 Όσο α < 8 επανάλαβε Εμφάνισε α α α-1 Ο βρόχος αυτός δεν τερματίζει ποτέ γιατί η αρχική τιμή της α είναι 4 και στην επανάληψη η τιμή της μειώνεται κατά 1. Δηλ. η α θα πάρει τις τιμές 3, 2, 1, 0,.. οι οποίες είναι μικρότερες του 8. Έτσι η συνθήκη της επανάληψης θα είναι πάντα αληθής και η επανάληψη θα εκτελεστεί άπειρες φορές. 4) Πως συμβολίζεται στο διάγραμμα ροής η δομή επανάληψης Όσο..επανάλαβε ; Για να σχεδιάσουμε το διάγραμμα ροής ενός βρόχου επανάληψης Όσο. Επανέλαβε, πρέπει να κάνουμε τα εξής βήματα: 1ο Βήμα: Χρησιμοποιούμε έναν ρόμβο όπου βάζουμε τη συνθήκη της επανάληψης 2ο Βήμα: Από τον ρόμβο ξεκινούν δυο βέλη. Το βέλος Ναι οδηγεί στην επανάληψης. Το βέλος Όχι οδηγεί στην επόμενη εντολή μετά το. 3ο Βήμα: Σχεδιάζουμε τα σύμβολα των εντολών της επανάληψης και απ' της τελευταίας εντολής της επανάληψης ένα βέλος οδηγεί στη _ επανάληψης. Σχηματικά, το διάγραμμα ροής της δομής επανάληψης Όσο... επανάλαβε είναι.
5) Να περιγράφει η δομή επανάληψης Αρχή_Επανάληψης..Μέχρις_ότου ; Η μορφή της δομής επανάληψης Αρχή_Επανάληψης..Μέχρις_ότου είναι : Αρχή_ επανάληψης Μέχρις _ότου Συνθήκη Η ομάδα εντολών στο εσωτερικό της επανάληψης εκτελείται μέχρις ότου η συνθήκη να γίνει αληθής, δηλ όσο η συνθήκη είναι ψευδής. Τα βήματα της δομής επανάληψης Αρχή_επανάληψης... Μέχρις_ότου είναι: 1 ο Βήμα: Αρχίζει η επανάληψη και εκτελείται η μια φορά. 2 ο Βήμα: Όταν φθάσουμε στο Μέχρις_ότου ελέγχουμε τη συνθήκη. Αν η συνθήκη είναι ψευδής πηγαίνουμε στο 1 ο βήμα, διαφορετικά τερματίζει η επανάληψη. Στη δομή επανάληψης Αρχή_επανάληψης...Μέχρις_Οτου παρατηρούμε τα εξής: 1. Η ομάδα εντολών ανάμεσα στο Αρχή-επανάληψης και στο Μέχρις_Οτου εκτελείται τουλάχιστον μια φορά. 2. Δεν γνωρίζουμε εκ των προτέρων τον αριθμό των επαναλήψεων. Η ομάδα εντολών της επανάληψης εκτελείται μέχρις ότου η συνθήκη να γίνει αληθής, όσο δηλ. η συνθήκη είναι ψευδής. 3. Στην ομάδα εντολών θα πρέπει να περιλαμβάνονται και εντολές που θα τροποποιούν τη συνθήκη, έτσι ώστε κάποια στιγμή αυτή να γίνει αληθής και η επανάληψη να τερματίσει. 4. Η δομή επανάληψης Αρχή-επανάληψης...Μέχρις_Οτου χρησιμοποιείται όταν δεν γνωρίζουμε τον ακριβή αριθμό επαναλήψεων, αλλά επιθυμούμε να εκτελεστεί τουλάχιστον μια φορά η επανάληψη. 6) Πως συμβολίζεται στο διάγραμμα ροής η δομή επανάληψης Αρχή_Επανάληψης..Μέχρις_ότου; Για να σχεδιάσουμε το διάγραμμα ροής ενός βρόχου επανάληψης Aρχή_επανάληψης Μέχρις_ότου πρέπει να κάνουμε τα εξής βήματα: 1o Βήμα: Σχεδιάζουμε τα σύμβολα των εσωτερικών εντολών της επανάληψης.
2o Βήμα: Φτιάχνουμε έναν ρόμβο για τη συνθήκη της επανάληψης. 3o Βήμα: Από τον ρόμβο ξεκινούν δυο βέλη. Το βέλος Όχι οδηγεί στην αρχή των εντολών της επανάληψης. Το βέλος Ναι οδηγεί στην επόμενη εντολή μετά το Μέχρις_ότου. Σχηματικά, το διάγραμμα ροής μιας επανάληψης Αρχή_επανάληψης... Mέχρι_ότου είναι: 7) Ποιες είναι οι διαφορές των δομών επανάληψης Όσο..επανάλαβε και Αρχή_Επανάληψης..Μέχρις_ότου ; Οι διαφορές μεταξύ των δομών είναι : 1. Στο Όσο επανάλαβε οι εντολές μπορεί να μην εκτελεστούν ποτέ, γιατί μπορεί να μην ισχύει ποτέ η συνθήκη, ενώ στο Αρχή_επανάληψης Μέχρις_ότου οι εντολές θα εκτελεστούν τουλάχιστόν μια φορά. 2. Στο Όσο..επανέλαβε ο έλεγχος της συνθήκης γίνεται στην αρχή, ενώ στο Αρχή_επανάληψης..Μέχρις_ότου στο τέλος. 3. Στο Όσο.επανάλαβε η επανάληψη συνεχίζει όσο η συνθήκη είναι αληθής, ενώ στο Αρχή_επανάληψης..Μέχρις_ότου η επανάληψη συνεχίζει όσο η συνθήκη είναι ψευδής, δηλ μέχρι η συνθήκη να γίνει αληθής.
8) Να περιγράφει η δομή επανάληψης Για..από μέχρι ; Η μορφή της δομής επανάληψης Για από.μέχρι είναι : Για μεταβλητή από τ1 μέχρι τ2 με_βήμα τ3 Ομάδα Εντολών Τελος_επανάληψης Η μεταβλητή είναι το όνομα μιας μεταβλητής που παίρνει τιμές στο [τ1, τ2], αν τ1<=τ2 ή στο [τ2, τ1] αν τ1>=τ2. Όσο η μεταβλητή βρίσκεται στο διάστημα μεταξύ τ1 και τ2 ή τ2 και τ1, τότε εκτελείται η ομάδα εντολών της επανάληψης. Τα βήματα της δομής επανάληψης Για... από... μέχρι είναι τα εξής: 1ο Βήμα: Αρχίζει η επανάληψη και η μεταβλητή παίρνει την τιμή τ1. 2ο Βήμα: Ελέγχουμε αν μεταβλητή <= τ2, αν τ1<= τ2, ή αν μεταβλητή >= τ2, αν τ1>=τ2. Αν η συνθήκη ισχύει τότε οδηγούμαστε στο 3ο βήμα. Αν η συνθήκη δεν ισχύει τότε η επανάληψη τερματίζει και εκτελείται η πρώτη εντολή μετά το. 3ο Βήμα: Εκτελείται η ομάδα εντολών της επανάληψης και η τιμή της μεταβλητής μεταβάλλεται κατά τ3 (η τιμή τ3 μπορεί να είναι και αρνητική) και επανερχόμαστε στο 2ο βήμα. Στη δομή επανάληψης Για...από...μέχρι παρατηρούμε τα εξής: 1. Στο Για...από...μέχρι, το με-βήμα δεν είναι απαραίτητο. Όταν δεν υπάρχει το βήμα αύξησης είναι 1. 2. Η συνθήκη τερματισμού (μεταβλητή <= τ2 ή μεταβλητή >= τ2) της επανάληψης υπονοείται στη δομή επανάληψης Για...από...μέχρι 3. Πότε δεν αλλάζουμε την τιμή της μεταβλητής μέσα στο σώμα της επανάληψης. Δηλ. δεν μπορούμε να διαβάσουμε ή να εκχωρήσουμε τιμή στη μεταβλητή της επανάληψης, διότι τότε αλλοιώνονται τα βήματα της επανάληψης. 4. Ο αριθμός εκτέλεσης των επαναλήψεων είναι γνωστός εκ των προτέρων και ισούται με τον αριθμό των διαφορετικών αποδεκτών τιμών που θα πάρει η μεταβλητή για να οδηγηθούμε από το 2 ο βήμα στο 3 ο βήμα. 9) Πως συμβολίζεται στο διάγραμμα ροής στην δομή επανάληψης Για..από μέχρι; Για να σχεδιάσουμε το διάγραμμα ροής για τη γενική μορφή ενός βρόχου επανάληψης Για... από... μέχρι πρέπει να κάνουμε τα εξής βήματα: 1ο Βήμα: Χρησιμοποιούμε ένα ορθογώνιο για την εκχώρηση της τιμής τ1 στην μεταβλητή της επανάληψης. 2ο Βήμα: Φτιάχνουμε έναν ρόμβο όπου βάζουμε τη συνθήκη μεταβλητή <= τ2, αν τ1<=τ2, ή μεταβλητή >= τ2, αν τ1>=τ2.
3ο Βήμα: Από τον ρόμβο ξεκινούν δυο βέλη. Το βέλος Ναι οδηγεί στις εντολές της επανάληψης. Το βέλος Όχι οδηγεί στην επόμενη εντολή μετά το τέλος_επανάληψης. 4ο Βήμα: Σχεδιάζουμε τα σύμβολα των εντολών της επανάληψης. 5ο Βήμα: Στο τέλος των εντολών, χρησιμοποιούμε ένα ορθογώνιο για αύξησης ή μείωσης της τιμής της μεταβλητής της επανάληψης. Από το σύμβολο της τελευταίας αυτής εντολής της επανάληψης ένα βέλος οδηγεί στην συνθήκη της επανάληψης. Σχηματικά, το διάγραμμα ροής μιας επανάληψης Για... από... μέχρι είναι: 10) Πότε χρησιμοποιούμε την Για..από μέχρι και πότε τις άλλες μορφές επανάληψης ; Χρησιμοποιούμε την Για... από... μέχρι όταν γνωρίζουμε τον αριθμό επαναλήψεων. Χρησιμοποιούμε το Όσο... επανάλαβε όταν δεν γνωρίζουμε τον αριθμό επαναλήψεων και η επανάληψη δεν είναι απαραίτητο να εκτελεστεί ούτε μια φορά. Χρησιμοποιούμε το Αρχή_επανάληψης... όταν δεν γνωρίζουμε τον αριθμό των επαναλήψεων και η επανάληψη πρέπει να εκτελεστεί τουλάχιστον μια φορά. 11) Τι ονομάζουμε ολίσθηση ;
Ο υπολογιστής αποθηκεύει τα δεδομένα με δυαδική μορφή, δηλαδή συνδυασμούς 0 και 1. Παράδειγμα ενός δυαδικού αριθμού είναι ο 00000010, που αντιστοιχεί στον αριθμό 2 του δεκαδικού συστήματος. Αν ολισθήσουμε (μετακινήσουμε) τα ψηφία του αριθμού 00000010 κατά μια θέση προς τα αριστερά, δηλαδή αν προσθέσουμε ένα 0 στο τέλος του αριθμού και αφαιρέσουμε το αρχικό 0, τότε προκύπτει ο αριθμός 00000100 του δυαδικού συστήματος, ο οποίος αντιστοιχεί στον αριθμό 4 του δεκαδικού συστήματος. Άρα η ολίσθηση προς τα αριστερά ισοδυναμεί με πολλαπλασιασμό επί δύο. Αν ολισθήσουμε τα ψηφία κατά μία θέση δεξιά, δηλαδή αφαιρέσουμε το τελευταίο 0 και το προσθέσουμε στην αρχή του αριθμού, προκύπτει ο αριθμός 00000001, που ισοδυναμεί με τον αριθμό 1 του δεκαδικού συστήματος. Συνεπώς, η ολίσθηση προς τα δεξιά ισοδυναμεί με την ακέραια διαίρεση δια δύο. 12) Να περιγραφεί η διαδικασία του πολλαπλασιασμού Αλα-Pωσικά και να δοθεί ο αλγόριθμος υπολογισμού του ; Ο πολλαπλασιασμός Αλά-Ρωσικά υπολογίζει το γινόμενο δυο αριθμών και χρησιμοποιείται στους υπολογιστές, γιατί υλοποιείται πιο απλά και πιο γρήγορα από τον κλασικό τρόπο πολλαπλασιασμού. Βασίζεται στην ολίσθηση και περιλαμβάνει πολλαπλασιασμό επί δυο και διαίρεση δια δυο. Για να υπολογίσουμε το γινόμενο δυο αριθμών, Π.χ. 12 Χ 10, με τον πολ/μό Αλά-Ρωσικά πρέπει να κάνουμε τα εξής βήματα: 1ο Βήμα: Κατασκευάζουμε έναν πίνακα με τρεις στήλες και γράφουμε στις δυο πρώτες στήλες τον πρώτο και δεύτερο αριθμό. 2ο Βήμα: Διπλασιάζουμε τον πρώτο αριθμό και υποδιπλασιάζουμε τον δεύτερο αριθμό (κρατάμε το ακέραιο μέρος του) και τα αποτελέσματα τα γράφουμε στην πρώτη και 2η στήλη αντίστοιχα. 3ο Βήμα: Ελέγχουμε αν στη δεύτερη στήλη, το αποτέλεσμα είναι 1. Αν είναι πάμε στο 4ο βήμα, αλλιώς επαναλαμβάνουμε το 2ο βήμα και 3ο βήμα. 4ο Βήμα: Στην τρίτη στήλη γράφουμε τον αντίστοιχο αριθμό της πρώτης με την προϋπόθεση ότι στη δεύτερη στήλη ο αριθμός είναι περιττός. 5ο Βήμα: Προσθέτουμε τα νούμερα της τρίτης στήλης. Το αποτέλεσμα της πρόσθεσης, είναι το γινόμενο των δυο αρχικών αριθμών. Ο αλγόριθμος με ψευδοκώδικα είναι: Αλγόριθμος Πολλαπλασιασμός_Αλά _Ρωσικά Διάβασε α1, α2 άθροισμα 0 Όσο α2 > 0 επανάλαβε Αν α2 mod 2 = 1 τότε άθροισμα άθροισμα + α1 Τέλος_αν α1 α1 *2 α2 α2 div 2 Εμφάνισε άθροισμα Τέλος Πολλαπλασιασμός_Αλά_Ρωσικά
ΣΗΜΑΝΤΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ ΘΕΩΡΗΤΙΚΕΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΠΟΥ ΠΡΕΠΕΙ ΝΑ ΓΝΩΡΙΖΕΤΑΙ Στις ασκήσεις όπου πρέπει να εμφανίσουμε ή να επεξεργαστούμε μια δεδομένη ακολουθία αριθμών θα πρέπει να προσέχουμε τα εξής σημεία: 1. Τον αρχικό αριθμό της ακολουθίας αριθμών. 2. Τον τελικό αριθμό της ακολουθίας αριθμών. 3. Το αν η σειρά των αριθμών είναι αύξουσα ή φθίνουσα. 4. Τη διαφορά μεταξύ των αριθμών. Στις ασκήσεις όπου πρέπει να διαβάσουμε ένα άγνωστα πλήθος αριθμών ή αλφαριθμητικών τιμών, θα κάνουμε τα εξής βήματα: 1. Τον πρώτο αριθμό ή αλφαριθμητική τιμή θα τον διαβάζει ο αλγόριθμος πριν την επανάληψη, για να μπορεί να γίνει ο έλεγχος στην αρχή της επανάληψης. 2. Στο εσωτερικό της επανάληψης θα εκτελούνται οι απαραίτητες ενέργειες για την τιμή της μεταβλητής, Π.χ. θα υπολογίζεται άθροισμα ή πλήθος ή γινόμενο. 3. Πριν το Τέλος-επανάληψης θα διαβάζεται ο επόμενος αριθμός και θα εισάγεται στην ίδια μεταβλητή. Έτσι όταν επανέλθουμε στην αρχή της επανάληψης μπορούμε να ελέγξουμε την τιμή της ίδιας μεταβλητή. Για να ανακαλύψουμε σε μια άσκηση αν πρέπει να χρησιμοποιήσουμε δομή επανάληψης και ποια ακριβώς δομή επανάληψης, θα κάνουμε τις εξής ερωτήσεις: Ερώτηση: Η άσκηση αναφέρεται σε ένα αντικείμενο (προϊόν, βαθμό, κ.λ.π.) ή σε πολλά Αν η άσκηση αναφέρεται σε πλήθος αντικειμένων πρέπει να χρησιμοποιήσουμε επανάληψη, αλλιώς πρέπει να χρησιμοποιήσουμε δομή ακολουθίας ή επιλογής. Ερώτηση: Γνωρίζουμε τον αριθμό των αντικειμένων από την αρχή; Με άλλα λόγια είναι γνωστός ο αριθμός των επαναλήψεων; Αν ο αριθμός των επαναλήψεων είναι γνωστός τότε θα χρησιμοποιήσουμε τη δομή επανάληψης Για... από... μέχρι. Αν δεν είναι γνωστός, τότε πρέπει να απαντήσουμε και την επόμενη ερώτηση. Ερώτηση: Η εκφώνηση της άσκησης μας δίνει συνθήκη τερματισμού του αλγορίθμου; Αν ναι, τότε θα χρησιμοποιήσουμε μια από τις δομές επανάληψης Όσο...επανάλαβε ή Αρχή-επανάληψης...Μέχρις_Οτου. Την Αρχή-επανάληψης...Μέχρις_Οτου θα τη χρησιμοποιήσουμε αν ο αλγόριθμος πρέπει να εκτελεστεί τουλάχιστον μια φορά. Αν δεν μας δίνεται συνθήκη τερματισμού του αλγορίθμου, τότε πρέπει να ζητήσουμε από τον χρήστη το πλήθος των αντικειμένων που θα επεξεργαστεί ο αλγόριθμος, δηλ. τον αριθμό των επαναλήψεων.
Η ΓΕΝΙΚΗ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΣΕ ΑΛΛΗ ΙΣΟΔΥΝΑΜΗ ΜΟΡΦΗ ΤΗΣ 1. Για τη μετατροπή θα πρέπει να προσέξουμε δυο σημεία: Επειδή η επανάληψη Όσο... επανάλαβε εκτελείται όσο η συνθήκη είναι αληθής, ενώ η Αρχή-επανάληψης...Μέχρις_Οτου εκτελείται όσο η συνθήκη είναι ψευδής, θα πρέπει να χρησιμοποιήσουμε τον τελεστή της άρνησης στη συνθήκη στο Μέχρις_Οτου, δηλ. Όχι Συνθήκη. Επειδή η Όσο... επανάλαβε μπορεί να μην εκτελεστεί ποτέ, ενώ η Αρχήεπανάληψης...Μέχρις_Οτου εκτελείται τουλάχιστον μια φορά, χρησιμοποιούμε μια απλή επιλογή μέσα στην οποία έχουμε την εντολή επανάληψης Αρχήεπανάληψης...Μέχρις_Οτου. Με αυτόν τον τρόπο, μόνο αν ισχύει από την αρχή η συνθήκη θα εκτελεστούν οι εντολές της Αρχή-επανάληψης...Μέχρις_Οτου. Όσο Συνθήκη επανέλαβε Αν Συνθήκη τότε Ομάδα Εντολών Αρχή Επανάληψης Τέλος Επανάληψης Ομάδα Εντολών Μέχρις_Ότου Όχι Συνθήκη Τέλος_Αν 1. Για τη μετατροπή θα πρέπει να προσέξουμε δυο σημεία: Επειδή η επανάληψη Αρχή-επανάληψης...Μέχρις_Οτου εκτελείται όσο η συνθήκη είναι ψευδής, ενώ η Όσο... επανάλαβε εκτελείται όσο η συνθήκη είναι αληθής, θα πρέπει να χρησιμοποιήσουμε τον λεστή της άρνησης στη συνθήκη στο Όσο... επανάλαβε, δηλ. Όχι Συνθήκη. Επειδή η Αρχή-επανάληψης...Μέχρις_Οτου εκτελείται τουλάχιστον μια φορά, ενώ η Όσο... επανάλαβε μπορεί να μην εκτελεστεί ποτέ, γράφουμε μια φορά τις εντολές της επανάληψης Αρχή-επανάληψης...Μέχρις Οτου πριν το Όσο επανάλαβε. Έτσι εξασφαλίζουμε ότι θα εκτελεστούν τουλάχιστον μια φορά. Αρχή Επανάληψης Ομάδα Εντολών Όσο Όχι Συνθήκη επανέλαβε Μέχρις_ότου Συνθήκη 2. Για τη μετατροπή από τη δομή επανάληψης Για...από...μέχρι τη δομή επανάληψης Όσο...επανάλαβε πρέπει: Πριν την επανάληψη Όσο... επανάλαβε, πρέπει να αρχικοποιήσουμε τη μεταβλητή της επανάληψης Για...από...μέχρι στην τιμή τ1, δηλ. μεταβλητή τ1. Η συνθήκη της επανάληψης Όσο... επανάλαβε θα γίνει μεταβλητή <= τ2 ή μεταβλητή >=τ2, ανάλογα αν η ισχύει τ1 <= τ2 ή τ1 >= τ2. ι Θα μεταφέρουμε τις εντολές της επανάληψης Για...από...μέχρι όπως είναι στην επανάληψη Όσο... επανάλαβε. Πριν το Τέλος-επανάληψης στην επανάληψη Όσο...επανάλαβε θα προσθέσουμε στη μεταβλητή την τιμή του βήματος (αν το με_βήμα λείπει θα την αυξήσουμε κατά 1). Για Μεταβλητή από τ1 μέχρι τ2 με_βήμα τ3 Μεταβλητή τ1 Όσο Μεταβλητή <= τ2 επανέλαβε Τέλος επανάληψης
Μεταβλητή Μεταβλητή + τ3 Για Μεταβλητή από τ1 μέχρι τ2 με_βήμα τ3 Μεταβλητή τ1 Όσο Μεταβλητή >= τ2 επανέλαβε Μεταβλητή Μεταβλητή + τ3 3. Η μετατροπή της δομής επανάληψης Όσο... επανάλαβε σε δομή επανάληψης Για...από...μέχρι είναι δυνατή μόνο όταν η δομή επανάληψης Όσο... επανάλαβε έχει την εξής μορφή: μεταβλητή τ1 Όσο μεταβλητή τελεστής σύγκρισης τ2 επανάλαβε μεταβλητή μεταβλητή+τ3 Τέλος-επανάληψης όπου ο τελεστής σύγκρισης είναι ένας από τους: <, <=, >, >= Στην περίπτωση αυτή η ισοδύναμη μορφή επανάληψης Για...από...μέχρι είναι: Για μεταβλητή από τ1 μέχρι τ2 με-βήμα τ3 Τέλος-επανάληψης Γίνονται δηλαδή οι εξής αλλαγές: Αναγνωρίζουμε τη μεταβλητή που θα χρησιμοποιήσουμε στο Για...από...μέχρι. Αυτή καθορίζεται από τη συνθήκη της επανάληψης Όσο... επανάλαβε, βλέποντας ποια μεταβλητή συγκρίνουμε. Η αρχική τιμή τ1 της μεταβλητής είναι η τιμή που γράφουμε μετά το από στη δομή επανάληψης Για...από... μέχρι και η εντολή εκχώρησης μεταβλητή τ1 δεν μεταφέρεται. Η τελική τιμή τ2 είναι η τιμή που γράφουμε στο μέχρι στη δομή επανάληψης Για...από... μέχρι. Δηλ. η συνθήκη της Όσο...επανάλαβε είναι ουσιαστικά το μέχρι της Για..από... μέχρι. Γράφουμε την ομάδα εντολών της Όσο... επανάλαβε όπως είναι στη Για...από... μέχρι. Η τελευταία εντολή της επανάληψης Όσο... επανάλαβε καθορίζει το βήμα μεταβολής της μεταβλητής της επανάληψης Για...από... μέχρι και αντικαθίσταται από το με-βήμα. Προσοχή χρειάζεται στην περίπτωση όπου ο τελεστή ς σύγκρισης είναι> ή <, διότι η μεταβλητή της συνθήκης στο Όσο... επανάλαβε δεν θα πάρει την τιμή τ2. Όταν ο τελεστή ς σύγκρισης είναι ο < τότε η επανάληψη Για...από... μέχρι γίνεται: Για μεταβλητή από τ1 μέχρι τ2-1 με-βήμα τ3 Όταν ο τελεστή ς σύγκρισης είναι ο > τότε η επανάληψη Για... από... μέχρι γίνεται: Για μεταβλητή από τ1 μέχρι τ2+1 με-βήμα τ3