Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Σχετικά έγγραφα
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Pascal. 26 Οκτωβρίου 2011

Pascal. 15 Νοεμβρίου 2011

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ιαφάνειες παρουσίασης #3

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

ιαφάνειες παρουσίασης #3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προγραμματισμός PASCAL

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Pascal. 1 Γλώσσες προγραμματισμού. 21 Οκτωβρίου 2011

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ

Εισαγωγή στον Προγραμματισμό

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

for for for for( . */

Διαδικασιακός Προγραμματισμός

Δομές ελέγχου ροής προγράμματος

Διαδικασιακός Προγραμματισμός

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ

Σκοπός. Εργαστήριο 5 Εντολές Επιλογής

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Εισαγωγή στην πληροφορική

Προγραμματισμός PASCAL

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Η Pascal με παραδείγματα

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

Η γλώσσα προγραμματισμού Strange

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Διδακτική της Πληροφορικής

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Αποτελέσματα προόδου

Ψευδοκώδικας. November 7, 2011

Επαναληπτικές Διαδικασίες

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Γ Τάξη ΕΠΑ.Λ. Κώστας Κωσταλίας Εκπαιδευτικός ΠΕ19

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

Απαντήσεις στο μάθημα Δομημένος Προγραμματισμός ΕΠΑΛ

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 3 : Εντολές Επανάληψης. Αλέξανδρος Τζάλλας

Εντολές ελέγχου ροής if, for, while, do-while

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

Θέματα Προγραμματισμού Η/Υ

Εισαγωγή στην πληροφορική

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

Παίρνοντας Αποφάσεις 1

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος lantzos@teiser.gr

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

Δομές Επανάληψης. Εισαγωγή στη C++

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

A3. Μονάδες 5 Α4. Μονάδες 10 ΘΕΜΑ B. Β1. writeln Περιεχόμενα Εντολή Αποτελέσματα Παραμέτρων Μονάδες 20 ΘΕΜΑ Γ.

Διδακτική της Πληροφορικής

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Η γλώσσα προγραμματισμού EEL

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Η γλώσσα προγραμματισμού C

Γ ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ ΕΠΑ.Λ ΜΑΘΗΜΑ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΦΩΝΗΣΕΙΣ

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Υπολογιστικά Συστήματα

Διάλεξη 5η: Εντολές Επανάληψης

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

Δομημένος Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Μεθόδων Επίλυσης Προβλημάτων

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Transcript:

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Εντολές Ελέγχου 2

Γενικά Εντολές λήψης αποφάσεων Επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές ενέργειες με βάση το αποτέλεσμα κάποιων λογικών ελέγχων Οι προτάσεις ελέγχου είναι if case 3

H Εντολή If Οι εντολές για τη λήψη αποφάσεων επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές ενέργειες βασιζόμενο σε κάποιους λογικούς ελέγχους. Αποτελείται από τη δεσμευμένη λέξη If που ακολουθείται από μια συνθήκη και μετά από τη δεσμευμένη λέξη Then. Μετά το Then ακολουθεί μία εντολή ή ένα σύνολο εντολών. 4

Η Πρόταση Ελέγχου if... then if «πρόταση» then Begin «εντολές» End; 5

Λειτουργία If Ελέγχει αν μία πρόταση είναι αληθής ή ψευδής Σε περίπτωση που είναι αληθής εκτελούνται οι εντολές που ακολουθούν Σε περίπτωση που είναι ψευδής οι εντολές που ακολουθούν αγνοούνται (δεν εκτελούνται) 6

Παρατηρήσεις Όταν οι εντολές είναι περισσότερες από μία πρέπει να εσωκλείονται σε Begin και End Όταν υπάρχει μόνο μία εντολή τα Begin και End είναι προαιρετικά Συνιστάται η χρήση των Begin και End σε κάθε περίπτωση 7

Παράδειγμα If (1) Program ElegxosMeIf; Var a : Integer; Begin Write('Dose arithmo:'); Readln(a); if (a>0) then Begin Write('Thetikos'); End; 8

Παράδειγμα If (2) if (a<0) then Begin Write('Arnitikos'); End; if (a=0) then Begin Write('Edoses 0'); End; Readln; End. 9

Επεξήγηση Παραδείγματος Αν η μεταβλητή a είναι μεγαλύτερη από 0 τότε τύπωσε στην οθόνη «Θετικός» Αν η μεταβλητή a είναι μικρότερη του 0 τότε τύπωσε στην οθόνη «Αρνητικός» Αν η μεταβλητή a είναι ίση με 0 τότε τύπωσε στην οθόνη «Έδωσες 0» 10

Η Εντολή Else Σε μια εντολή If μπορεί να υπάρχει προαιρετικά και η πρόταση Else, ακολουθούμενη από μία ή περισσότερες εντολές που εκτελούνται αν η συνθήκη του If είναι ψευδής. Η πρόταση Else επιτρέπει σε μια πρόταση If να πάρει δύο διαφορετικές αποφάσεις. Ανάλογα με τους ελέγχους του προγράμματος επιτρέπεται το φώλιασμα και ο συνδυασμός των εντολών If.. Then.. Else. Κάθε πρόταση Else συνδέεται με την αμέσως προηγούμενή της If. 11

Η Πρόταση Ελέγχου if... then... else If «πρόταση» then Begin «εντολές» End else Begin «εντολές» End; 12

Παράδειγμα if... then... else Program ElegxosMeElse; Var b : Integer; Begin Write('Dose arithmo:'); Readln(b); if (b>=100) then Begin Write('OK'); End else Begin Writeln('Error'); End; Readln; End. 13

Παρατηρήσεις Ο σκοπός που βάζουμε το else σε μια πρόταση ελέγχου if... then είναι σε περίπτωση που δεν ισχύουν οι if αλλά κάτι άλλο Προσέξτε ότι στην εντολή που βρίσκεται αμέσως πριν το else δεν βάζουμε ερωτηματικό (;) Οι if μπορούν να είναι φωλιασμένες (δηλαδή if μέσα σε if) Όταν ο έλεγχος είναι πολλαπλός μπορεί να χρησιμοποιηθεί και η εντολή else if 14

AND και OR Σε περίπτωση που έχουμε πάνω από μία συνθήκες να ελέγξουμε χρησιμοποιούμε τους λογικούς τελεστές AND και OR Το AND το χρησιμοποιούμε όταν επιθυμούμε να ισχύουν όλες οι προτάσεις μέσα σε μία συνθήκη Το OR το χρησιμοποιούμε όταν επιθυμούμε να ισχύει έστω και μία από τις προτάσεις της συνθήκης 15

Program ElexgosANDOR; Var c : Integer; Παράδειγμα AND Begin Write('Dose arithmo:'); Readln(c); if (c>=0) and (c<=100) then Begin Write('Eise mesa sta oria') End else Begin Write('Eise ektos oriwn'); End; Readln; End. 16

Η Εντολή Case Η εντολή Case επιλέγει μία πράξη ανάμεσα από πολλές με βάση το αποτέλεσμα ενός ελέγχου. Η προς έλεγχο έκφραση καλείται «επιλογέας» και κάθε επιλογή καλείται «σταθερά» της Case. Αν ο επιλογέας δεν ταιριάζει με καμία από τις σταθερές της Case, θα εκτελεστεί η δήλωση που ορίζεται με τη λέξη Else. Κάθε εντολή Case πρέπει να τερματίζεται με μια εντολή End. 17

Η Πρόταση Ελέγχου case case «μεταβλητή» of «λίστα τιμών1» : Begin «εντολές» End;... «λίστα τιμών 2» : Begin «εντολές» End; else Begin «εντολές» End; End; 18

Παράδειγμα case Program ElegxosMeCase; Var c : char; Begin Write('Dose a or b:'); Readln(c); case c of 'a': Begin writeln('alpha'); End; 'b': Begin writeln('beta'); End; else Begin writeln('other'); End; End. End; Readln; 19

Εντολές Επανάληψης 20

Οι Βρόχοι (Loops) Ο βρόχος (loop) είναι η συνεχής επανάληψη μίας μόνο εντολής ή και μιας ομάδας εντολών μέχρις ότου να ισχύσει μια συνθήκη (condition). Υπάρχουν τρία είδη βρόχων : Η επανάληψη ενός βρόχου για έναν καθορισμένο αριθμό φορών. Ο έλεγχος μιας λογικής έκφρασης (συνθήκης) αρχικά και αν αυτή είναι αληθής (true), τότε ακολουθεί η εκτέλεση ενός βρόχου. Η εκτέλεση ενός βρόχου για μία τουλάχιστον φορά αρχικά και μετά ακολουθεί ο έλεγχος μιας λογικής έκφρασης (συνθήκης). 21

Οι βρόγχοι for, while... do και repeat Επαναληπτικές Δομές Επιτρέπουν στο πρόγραμμα να εκτελεί πολλές φορές και κατ επανάληψη ένα κομμάτι κώδικα Οι επαναληπτικές δομές είναι for do... while repeat... until... until 22

Ο Βρόχος For Στην Pascal, η επανάληψη ενός βρόχου για έναν καθορισμένο αριθμό φορών γίνεται με την εντολή for. Στην Pascal, με τον βρόχο for μπορούμε να έχουμε βήμα μόνο κατά 1. 23

Δομή Βρόγχου For for μεταβλητή:=αρχή to τέλος do Begin «κώδικας προς επανάληψη» End; Η τιμή της μεταβλητής του δείκτη (index variable) θα πρέπει να είναι ενός βαθμωτού (ordinal) τύπου δεδομένων. Μπορούμε να χρησιμοποιήσουμε τον δείκτη σε υπολογισμούς μέσα στο σώμα ενός βρόχου, αλλά δεν πρέπει να αλλάξουμε την τιμή του. 24

Παράδειγμα For (1) Program ForExample1; var count :integer; begin for count := 1 to 10 do begin writeln(count); end; Readln; End. 25

Επεξήγηση Παραδείγματος(1) For Η μεταβλητή count παίρνει αρχική τιμή 1 Η τελική τιμή της count είναι 10 Ο κώδικας εκτελείται 10 φορές Σε κάθε εκτέλεση η τιμή της count γίνεται διαδοχικά 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Σ έναν βρόχο for-to-do, η αρχική τιμή θα πρέπει να είναι μικρότερη από την τελική τιμή, διαφορετικά ο βρόχος δεν θα εκτελεσθεί ποτέ 26

Παράδειγμα For (2) Program ForExample2; var count :integer; begin for count := 10 downto 1 do begin writeln(count); end; Readln; End. 27

Επεξήγηση Παραδείγματος(2) For Κάνει ότι και το προηγούμενο παράδειγμα με τη διαφορά ότι η μεταβλητή count μετράει ανάποδα Η count σε κάθε επανάληψη παίρνει διαδοχικά τις τιμές 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 Αν θέλουμε να μετρήσουμε ανάποδα, θα πρέπει να χρησιμοποιήσουμε τον βρόχο for-downto-do 28

Ο Βρόχος While Do Ο βρόχος συνεχίζει να εκτελείται μέχρις ότου γίνει ψευδής (false) η λογική έκφραση. Μέσα στο σώμα του βρόχου θα πρέπει με κάποιον τρόπο να επηρεάσουμε την λογική έκφραση αλλάζοντας τιμή σε κάποια από τις μεταβλητές που υπάρχουν εκεί. Ο βρόχος while do είναι γνωστός και ως pretest loop επειδή η συνθήκη ελέγχεται πριν εκτελεσθεί έστω και μία φορά το σώμα του βρόχου. Αυτό σημαίνει ότι αν η συνθήκη (λογική έκφραση) είναι ψευδής (false) από την αρχή, το σώμα του βρόχου while δεν θα εκτελεσθεί ποτέ. 29

Δομή Βρόγχου while... do while «συνθήκη» do Begin «κώδικας προς επανάληψη» End; 30

Παράδειγμα while... do Program WhileExample; var a :integer; begin a := 0; while a < 10 do begin writeln (a); a := a + 1; end; Readln; End. 31

Επεξήγηση Παραδείγματος while... do Αρχικά δίνουμε αρχική τιμή στη μεταβλητή a ίση με 0 Όσο η a είναι μικρότερη του 10 τυπώνεται η a και στη συνέχεια η a αυξάνει κατά ένα Η a παίρνει σε κάθε επανάληψη διαδοχικά τις τιμές 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Μόλις η a γίνει δέκα η συνθήκη παύει να ισχύει και ο βρόγχος τερματίζεται 32

Ατέρμονα βρόχος while... do a := 5; while a < 6 do writeln (a); Ο παραπάνω βρόχος δεν θα σταματήσει ποτέ να εκτελείται (ατέρμονας) και αυτό γιατί η μεταβλητή a, που χρησιμοποιείται στην λογική έκφραση του βρόχου, δεν αλλάζει πουθενά τιμή μέσα στον βρόχο και έτσι η λογική έκφραση είναι πάντα αληθής (true). 33

Διόρθωση Ατέρμονα βρόχου while... do Μπορούμε να διορθώσουμε αυτήν την κατάσταση, αν αλλάξουμε τιμή στην μεταβλητή μέσα στον βρόχο, ως εξής : a := 5; while a < 6 do begin writeln (a); a := a + 1 end; 34

Ο Βρόχος Repeat Until Στον βρόχο αυτόν δεν χρειάζεται μα χρησιμοποιήσουμε τον συνδυασμό begin end στην περίπτωση που έχουμε περισσότερες από μία εντολές. Ο βρόχος συνεχίζει να εκτελείται έως ότου η λογική έκφραση γίνει αληθής (true), σε αντίθεση με τον βρόχο while, ο οποίος συνεχίζει να εκτελείται για όσο διάστημα η λογική έκφραση παραμένει αληθής (true). 35

Ο Βρόγχος Repeat... Until Repeat «κώδικας προς επανάληψη» Until «συνθήκη»; Ο βρόχος Repeat... Until είναι γνωστός και ως posttest loop επειδή η συνθήκη ελέγχεται αφού έχει εκτελεσθεί το σώμα του βρόχου και είναι χρήσιμος όταν θέλουμε να εκτελεσθεί ο βρόχος μία φορά τουλάχιστον, άσχετα με την αρχική τιμή της λογικής έκφρασης. 36

Παράδειγμα Repeat... Until Program RepeatExample; var a :integer; begin a := 0; Repeat writeln(a); a := a + 1; Until (a > 9); Readln; End. 37

Επεξήγηση Παραδείγματος Repeat... Until Στην μεταβλητή a δίνουμε αρχική τιμή 0 Η a θα αυξάνεται κατά ένα μέχρι να πάρει τιμή μεγαλύτερη του 9 Σε κάθε επανάληψη η a παίρνει διαδοχικά τις τιμές 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Μόλις το a γίνει 10 η συνθήκη πλέον ισχύει και ο βρόγχος τερματίζεται 38

Παρατηρήσεις Οι βρόγχοι με συνθήκη θα πρέπει να συμπεριλαμβάνουν κάτι που να αλλάζει την τιμή της έκφρασης αλλιώς ο βρόγχος δεν θα τερματίζεται ποτέ 39

Τέλος Κεφαλαίου