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

Σχετικά έγγραφα
ιαφάνειες παρουσίασης #4

Δομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών

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

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

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

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

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

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

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

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

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

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

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

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

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

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

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

ιαφάνειες παρουσιάσεων

ιαφάνειες παρουσιάσεων

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

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

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

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

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

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

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

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

IMPLICIT NONE INTEGER :: a, b, c

ιαδικαστικά Μάθηµα: Προγραµµατισµός Η/Υ ιδάσκοντες: Σ. Ζάχος, Ν. Παπασπύρου, Α. Παγουρτζής ιαλέξεις: κάθε Παρασκευή 13:00 16:00

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

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

Μορφοποίηση της εξόδου

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κανονική εξέταση, Φεβρουάριος 2005

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

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

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό

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

ιαδικαστικά DRAFT ιαφάνειες παρουσιάσεων 31/10/03 Μάθηµα: Προγραµµατισµός Η/Υ ιδάσκοντες: Σ. Ζάχος, Ν. Παπασπύρου ιαλέξεις: κάθε Παρασκευή 14:30 17:30

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

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

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

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

Κεφάλαιο 12 : ΕΡΓΑΣΤΗΡΙΑΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ 03 Συναρτήσεις

- program p_name(input) - uses crt

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

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

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων

Προχωρημένες έννοιες προγραμματισμού σε Pazcal

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙ ΕΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

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

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

Διαφάνειες παρουσιάσεων

Διαφάνειες παρουσιάσεων

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός

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

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ιαδικαστικά DRAFT ιαφάνειες παρουσιάσεων 19/11/04

Μεταγλωττιστές Βελτιστοποίηση

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

α. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.

Μονάδες 4. β. x=20 και y=10

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Στην εντολή while η επανάληψη συνεχίζεται όσο η λογική έκφραση έχει τιμή false.

ΜΕΡΟΣ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ερώτηση βαθμολογείται με έξι μονάδες.

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

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

ΕΠΑ.Λ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική Προγραµµατισµός Υπολογιστών Κεφάλαιο 9 Σηµειώσεις 03. Εντολή Εκχώρησης - Αντικατάστασης

Υποπρογράµµατα Συναρτήσεις. Στόχοι Μαθήµατος. Οι µαθητές να µπορούν:

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

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

Pascal - Βασικές Έννοιες

Εισαγωγή. Διαφάνειες παρουσιάσεων 2/11/07. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων 3/10/08. Σκοπός του μαθήματος

Εισαγωγή DRAFT. Διαφάνειες παρουσιάσεων 27/10/06. Σκοπός του μαθήματος

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

Εισαγωγή. Διαφάνειες παρουσιάσεων 1/10/10. Σκοπός του μαθήματος

Εισαγωγή. Διαφάνειες παρουσιάσεων 21/10/11. Σκοπός του μαθήματος

Εισαγωγή DRAFT. Διαφάνειες παρουσιάσεων 05/10/05. Σκοπός του μαθήματος

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

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #4! ιαδικασίες και συναρτήσεις!βαθµιαία συγκεκριµενοποίηση!παρουσίαση και συντήρηση!είσοδος και έξοδος Νίκος Παπασπύρου Προγραµµατισµός Ηλεκτρονικών Υπολογιστών 1

ιαδικασίες (i)! Ορίζονται στο τµήµα δηλώσεων! Κάθε ορισµός διαδικασίας περιέχει: " την επικεφαλίδα της " τις δικές της δηλώσεις " το σώµα της! Καλούνται µε αναγραφή του ονόµατός τους και απαρίθµηση των παραµέτρων 2

ιαδικασίες (ii)! Εµβέλεια ενός ονόµατος (π.χ. µεταβλητής) είναι το τµήµα του προγράµµατος όπου επιτρέπεται η χρήση του! Τοπικά (local) ονόµατα είναι αυτά που δηλώνονται σε ένα υποπρόγραµµα! Γενικά (global) ονόµατα είναι αυτά που δηλώνονται στο κυρίως πρόγραµµα 3

ιαδικασίες (iii)! Τυπικές (formal) παράµετροι ενός υποπρογράµµατος είναι οι αυτές που ορίζονται στην επικεφαλίδα του! Πραγµατικές (actual) παράµετροι ενός υποπρογράµµατος είναι αυτές που δίνονται κατά την κλήση του! Σε κάθε κλήση, οι πραγµατικές παράµετροι πρέπει να αντιστοιχούν µία προς µία στη σειρά και στον τύπο µε τις τυπικές 4

ιαδικασίες (iv)! Παράµετροι τιµών (κλήση µε τιµή): πέρασµα πληροφοριών από το καλούν (πρόγραµµα) προς το καλούµενο (υποπρόγραµµα)! Παράµετροι µεταβλητών (κλήση µε αναφορά) πέρασµα πληροφοριών από το καλούν (πρόγραµµα) προς το καλούµενο (υποπρόγραµµα) και αντίστροφα 5

ιαδικασίες (v) program tasks2(input, output); var a, b : integer; procedure change(x : integer); var d : integer; begin write('change: ',); d:=2*x; x:=x+d; writeln(x) end; procedure rechange(var y : integer); begin write('rechange: ',); y:=y*2; writeln(y) end; begin a:=1; b:=2; writeln(a,b); change(a); rechange(b); writeln(a,b); change(b); rechange(a); writeln(a,b); end. 6

Συναρτήσεις (i)! Όπως οι διαδικασίες, αλλά επιστρέφουν µια τιµή ως αποτέλεσµα! εν µπορούν να χρησιµοποιηθούν ως εντολές αλλά µόνο σε παραστάσεις 7

Συναρτήσεις (ii)! Παράδειγµα program funcall(input, output); var n1, n2, n3 : integer; function average(a,b,c : integer) : integer; begin average := (a+b+c) div 3 end; begin n1:=10; n2:=15; n3:=20; writeln('average: ', average(n1, n2, n3)) end. 8

Βαθµιαία συγκεκριµενοποίηση! Περιγραφή επίλυσης προβλήµατος " Εισαγωγή και αποθήκευση δεδοµένων τρόπος εισαγωγής δεδοµένων έλεγχος ορθότητας δεδοµένων " Αλγόριθµος επεξεργασίας περιγραφή του αλγορίθµου κωδικοποίηση στη γλώσσα προγραµµατισµού " Παρουσίαση αποτελεσµάτων τρόπος και µορφή παρουσίασης αποτελεσµάτων 9

Εύρεση Μ.Κ.. (i)! Περιγραφή προβλήµατος " ίνονται δύο θετικοί ακέραιοι a, b " Ζητείται ο µέγιστος κοινός διαιρέτης τους! Απλός αλγόριθµος z := min(a, b); while (a mod z <> 0) or (b mod z <> 0) do z := z-1; writeln(z) " Ο αριθµός επαναλήψεων του βρόχου είναι της τάξης του min(a, b) 10

Εύρεση Μ.Κ.. (ii)! Αλγόριθµος µε αφαιρέσεις " Ιδέα: αν i > j τότε gcd(i, j) = gcd(i-j, j) " Αντίστοιχο πρόγραµµα i := a; j := b; while (i>0) and (j>0) do if i>j then i := i-j else j := j-i; writeln(i+j) " Στη χειρότερη περίπτωση, ο αριθµός επαναλήψεων είναι της τάξης του max(a, b) " Στη µέση περίπτωση όµως, αυτός ο αλγόριθµος είναι καλύτερος του προηγούµενου 11

Εύρεση Μ.Κ.. (iii)! Αλγόριθµος του Ευκλείδη " Ιδέα: αντί πολλαπλών αφαιρέσεων χρησιµοποιούµε το υπόλοιπο της διαίρεσης " Αντίστοιχο πρόγραµµα i := a; j := b; while (i>0) and (j>0) do if i>j then i := i mod j else j := j mod i; writeln(i+j) " Στη χειρότερη περίπτωση, ο αριθµός επαναλήψεων είναι της τάξης του log(a+b) 12

Εύρεση Μ.Κ.. (iv) program gcd(input, output); δηλώσεις; begin αρχικό µήνυµα στο χρήστη; repeat µήνυµα που ζητάει είσοδο; διάβασµα δύο ακεραίων; if ορθή είσοδος then begin αρχικοποίηση βρόχου; while δεν τελείωσε do χρήση της ιδέας του Ευκλείδη; παρουσίαση αποτελεσµάτων end else µήνυµα σφάλµατος until συµφωνηµένη είσοδος για τέλος end. Πρώτη προσέγγιση 13

Εύρεση Μ.Κ..! Συγκεκριµενοποίηση " χρήση της ιδέας του Ευκλείδη (v) εύτερη προσέγγιση if i>j then i := i mod j else j := j mod i " συνθήκη «δεν τελείωσε» (i>0) and (j>0) " αρχικοποίηση βρόχου i := a; j := b " διάβασµα δύο ακεραίων readln(a, b) 14

Εύρεση Μ.Κ..! Συγκεκριµενοποίηση (συνέχεια) " ορθή είσοδος (vi) εύτερη προσέγγιση (a>0) and (b>0) " συµφωνηµένη είσοδος για τέλος (a=0) and (b=0) " αποµένουν µόνο: δηλώσεις, µηνύµατα και σχόλια! Συµπληρώνουµε τα παραπάνω στο πρόγραµµα 15

Εύρεση Μ.Κ.. (vii)! Το τελικό πρόγραµµα (* Ευκλείδιος αλγόριθµος Στάθης Ζάχος, 19 Οκτωβρίου 1990 *) program gcd(input, output); var a,b,i,j : integer; begin writeln('θα υπολογίσω το µ.κ.δ. ', 'δύο θετικών ακεραίων'); repeat writeln(' ώσε δύο θετικούς ', 'ακέραιους ή 0 0 για έξοδο'); readln(a, b); 16

Εύρεση Μ.Κ.. (viii)! Το τελικό πρόγραµµα (συνέχεια) if (a>0) and (b>0) then begin i:=a; j:=b; while (i>0) and (j>0) do if i>j then i := i mod j else j := j mod i; writeln('µκδ(', a, ',', b, ') = ', i+j) end else writeln('δεν είναι θετικοί') until (a=0) and (b=0) end. 17

Αθροιστικό πρόγραµµα program addition(input, output); δηλώσεις; begin αρχικό µήνυµα στο χρήστη; repeat µήνυµα που ζητάει είσοδο; άθροιση αριθµών; παρουσίαση αποτελεσµάτων; µήνυµα για να ξέρει ο χρήστης πώς θα συνεχίσει ή θα σταµατήσει until συµφωνηµένη είσοδος για τέλος end. (i) Πρώτη προσέγγιση 18

Αθροιστικό πρόγραµµα! Συγκεκριµενοποίηση " άθροιση αριθµών (ii) εύτερη προσέγγιση αρχικοποίηση βρόχου; repeat είσοδος ενός αριθµού; άθροιση; είσοδος ενός συµβόλου until σύµβολο διάφορο του + 19

Αθροιστικό πρόγραµµα! Περαιτέρω συγκεκριµενοποίηση " άθροιση αριθµών (iii) Τρίτη προσέγγιση sum := 0; repeat read(number); sum := sum + number; read(symbol) until symbol <> '+' 20

Αθροιστικό πρόγραµµα (iv)! Το τελικό πρόγραµµα (* Αθροιστικό πρόγραµµα Στάθης Ζάχος, 19 Οκτωβρίου 1990 *) program addition(input, output); var number,sum : integer; symbol : char; begin writeln('πρόσθεση ακεραίων'); repeat writeln(' ώσε τους ακεραίους ', 'χωρισµένους µε + ', 'ή δώσε = για τέλος'); 21

Αθροιστικό πρόγραµµα (v)! Το τελικό πρόγραµµα (συνέχεια) sum := 0; repeat read(number); sum := sum + number; read(symbol) until symbol <> '+'; if symbol <> '=' then write('='); writeln(sum); write('θέλεις να συνεχίσεις; ', ' ώσε Ν/Ο και µετά enter: '); readln(symbol) until (symbol = 'o') or (symbol = 'O') end. 22

Παρουσίαση και συντήρηση (i)! Ποιοτικά χαρακτηριστικά προγραµµάτων " Αναγνωσιµότητα απλότητα κατάλληλη επιλογή ονοµάτων, π.χ. monthly_income incomebeforetaxes στοίχιση σχόλια " Φιλικότητα προς το χρήστη " Τεκµηρίωση " Συντήρηση " Ενηµέρωση 23

Παρουσίαση και συντήρηση (ii)! Στοίχιση " Πρόγραµµα και υποπρογράµµατα program... procedure... function... δηλώσεις δηλώσεις δηλώσεις begin begin begin εντολές εντολές εντολές end. end end " Απλές εντολές if... then while... do for... do εντολή εντολή εντολή else εντολή 24

Παρουσίαση και συντήρηση (iii)! Στοίχιση (συνέχεια) " Σύνθετες εντολές if... then while... do for... do begin begin begin εντολές εντολές εντολές end end end else begin εντολές end 25

Παρουσίαση και συντήρηση (iv)! Στοίχιση (συνέχεια) " Σύνθετες εντολές (συνέχεια) repeat case... of with... do εντολές τιµή 1 : εντολή 1 ; begin until... τιµή 2 : εντολή 2 ; εντολές... end τιµή n : εντολή n end 26

Είσοδος και έξοδος! Συσκευές εισόδου/εξόδου! Είσοδος: εισαγωγή δεδοµένων " π.χ. από το πληκτρολόγιο! Έξοδος: παρουσίαση αποτελεσµάτων " π.χ. στην οθόνη! Προκαθορισµένες διαδικασίες της Pascal " read, readln " write, writeln 27

Έξοδος (i)! Έξοδος µε µορφοποίηση 28

Έξοδος (ii)! Έξοδος µε µορφοποίηση (συνέχεια) 29

Έξοδος (iii)! Συµβολοσειρές, χωρίς µορφοποίηση program stars(input, output); var i, j : integer; begin for i := 0 to 5 do begin for j := 1 to 2*i do write('*'); writeln('$') end end. $ **$ ****$ ******$ ********$ **********$ 30

Έξοδος (iv)! Ακέραιες τιµές, χωρίς µορφοποίηση program example(input, output); var x, y, sum : integer; begin x := 3; y := 6; sum := x + y; writeln(x, '+', y, '=', sum) end. 3+ 6= 9 3 + 6 31

Έξοδος (v)! Ακέραιες τιµές, χωρίς µορφοποίηση program indent(input, output); begin writeln('x =', 42); writeln('y =', -324); writeln('z =', 123837) end. x = 42 y = -324 z = 123837 32

Έξοδος (vi)! Ακέραιες τιµές, µε µορφοποίηση writeln(42:4)! Το προηγούµενο παράδειγµα 4 2 program example(input, output); var x, y, sum : integer; 3+6=9 begin x := 3; y := 6; sum := x + y; writeln(x:0, '+', y:0, '=', sum:0) end. 33

Έξοδος (vii)! Πραγµατικές τιµές, µε µορφοποίηση writeln(3.14159:8:4)! Παράδειγµα 3. 1 4 1 6 program temperatures(input,output); var i : integer; par, mos : real; begin par := 20.5; mos := -4.3; writeln('paris':10, par:6:1); for i:=1 to 14 do write('-'); writeln; writeln('moscow':10, mos:6:1) end. Paris 20.5 ---------------- Moscow -4.3 34

Είσοδος (i)! Συντακτικό διάγραµµα 35

Είσοδος (ii)! Αποθηκευτικός χώρος (buffer) " παρεµβάλλεται µεταξύ του πληκτρολογίου και του προγράµµατος " εκεί αποθηκεύονται προσωρινά τα δεδοµένα που πληκτρολογεί ο χρήστης µέχρι να διαβαστούν από το πρόγραµµα " η εισαγωγή στο buffer γίνεται µε το πάτηµα του πλήκτρου enter " αρχικά ο buffer είναι κενός! Παραδείγµατα 36

Είσοδος (iii)! Παράδειγµα program example5(input,output); var x, y, sum : integer; begin writeln('θα προσθέσω δύο ακεραίους'); write(' ώσε το x και <enter>: '); read(x); write(' ώσε το y και <enter>: '); read(y); sum := x + y; writeln(x:0, '+', y:0, '=', sum:0) end. 37

Είσοδος (iv)! Πρώτη εκτέλεση παραδείγµατος Θα προσθέσω δύο ακεραίους ώσε το x και <enter>: 3 <enter> ώσε το y και <enter>: 6 <enter> 3+6=9! εύτερη εκτέλεση παραδείγµατος Θα προσθέσω δύο ακεραίους ώσε το x και <enter>: 3 6 <enter> ώσε το y και <enter>: 3+6=9 38