Κεφάλαιο 9
Βασικές εντολές.
Εντολές Εισόδου - Εξόδου. Τα δεδομένα ενός προγράμματος εισάγονται από μία μονάδα εισόδου (π.χ. πληκτρολόγιο, αρχείο, σαρωτής κλπ). Η Pascal χρησιμοποιεί τις εντολές read και readln για τον σκοπό αυτό. Ομοίως, τα αποτελέσματα του προγράμματος πρέπει να εμφανιστούν σε μία μονάδα εξόδου (π.χ. οθόνη, εκτυπωτής, αρχείο κλπ). Η Pascal χρησιμοποιεί τις εντολές write και writeln για τον σκοπό αυτό. Στην παρούσα ενότητα θα περιοριστούμε μόνο στην ανάγνωση από το πληκτρολόγιο και στην εμφάνιση στην οθόνη.
2
1/11/2013
Κέρος Α. Ιωάννης
Η εντολή εισόδου read. Read (Μεταβλητή1, Μεταβλητή2, …..); Ενέργεια: Η εντολή οδηγεί στην είσοδο τιμών από το πληκτρολόγιο και την εκχώρηση τους μία προς μία στις μεταβλητές με την σειρά που αυτές αναφέρονται μέσα στις παρενθέσεις. 1. Απαιτούνται παρενθέσεις: Read(…); 2. Η εντολή τελειώνει με ; : Read(…); 3. Οι μεταβλητές χωρίζονται με , : Read(x, y, z);
3
4. Για την εισαγωγή πολλών τιμών πατάμε το Enter. 5. Εάν τα πληκτρολογούμε σε μία γραμμή (χωρίς να πατάμε Enter δηλαδή) πρέπει να πατάμε το κενό (Spacebar) για να διαχωριστούν μεταξύ τους (εξαιρούνται οι αλφαριθμητικές τιμές αφού το κενό θεωρείται χαρακτήρας). 1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα της Read. Εντολή
Δεδομένα
Read(x);
22
Read(a, b, c);
33 44 55
Read(d, e);
66 77
d=66 e=77
Read(f, g);
11.99 21 31 41 51
f=11.99 g=21
Read(x, a, d);
4
x=22 a=33 b=44 c=55
x=31 a=41 d=51
1/11/2013
Κέρος Α. Ιωάννης
Η εντολή εισόδου readln. Readln (Μεταβλητή1, Μεταβλητή2, …..); Ενέργεια: Η εντολή αυτή είναι ανάλογη της Read δηλαδή οδηγεί στην είσοδο τιμών από το πληκτρολόγιο από την τρέχουσα γραμμή, αλλά στην συνέχεια ο έλεγχος περνά στην επόμενη γραμμή.
5
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα της Readln.
6
Εντολή
Δεδομένα
Readln(a); Readln(b); Readln(c);
10 20 30 40 50 60
a=10 b=30 c=50
Readln(a, b, c); 10 20 Readln(d,e); 30 40 50 60
a=10 b=20 c=30 d=50 e=60
Readln(a, b); Readln(c,d); Readln(e);
a=10 b=20 c=30 d=40 e=50
10 20 30 40 50 60
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα της Readln (συνέχεια). Εντολή
7
Δεδομένα
Readln(a); 10 20 Readln(b); 30 40 Readln(c, d, e); 50 60
a=10 b=30 c=50 d=60 e=?
Readln(a, b); Readln; Readln( c );
a=10 b=20 c=50
10 20 30 40 50 60
1/11/2013
Κέρος Α. Ιωάννης
Η εντολή εξόδου write. Write (Παράμετρος1, Παράμετρος2, …..); Ενέργεια: Η εντολή οδηγεί στην εμφάνιση τιμών στην οθόνη. Οι παράμετροι μπορεί να είναι: μεταβλητές, σταθερές, εκφράσεις και κείμενα.
8
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα της Write. Εντολή
Δεδομένα
Write(x);
x=22
Write(a, b);
a=33 b=44
22 3344
Write(‘i=’,i);
i=2
ΗΡΑ i=2
Write(2*x+4);
x=4
12
Write(‘ΗΡΑ’);
9
1/11/2013
Κέρος Α. Ιωάννης
Η εντολή εξόδου writeln. Writeln (Παράμετρος1, Παράμετρος2, …..); Ενέργεια: Η εντολή οδηγεί στην εμφάνιση τιμών στην οθόνη (όπως και η write) με την διαφορά ότι ο έλεγχος περνά στην επόμενη σειρά.
10
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα της Writeln. Εντολή
Δεδομένα
Writeln(i);
i=22
Writeln(‘i=’,i);
i=22
22 i=22
Writeln(‘Error=’,i);
i=22
Error=22
Writeln(‘Error Message’);
11
Error Message
Writeln(ty,la);
ty=‘TURBO’ la=‘Pascal’
TURBOPascal
Writeln(‘Language=’,la);
la=‘Pascal’
Language=Pascal
1/11/2013
Κέρος Α. Ιωάννης
Μορφοποιημένη εκτύπωση. Write (x:m); όπου: x: ακέραια μεταβλητή ή ακέραια έκφραση ή αλφαριθμητική μεταβλητή. m: το συνολικό πλήθος των θέσεων εκτύπωσης αρχίζοντας από τα δεξιά ενός πεδίου εύρους m θέσεων.
12
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα μορφοποιημένης εκτύπωσης.
Τα δεδομένα υπερκαλύπτουν την οδηγία εκτύπωσης, οπότε αυτή αγνοείται.
13
1/11/2013
Κέρος Α. Ιωάννης
Μορφοποιημένη εκτύπωση. Write (x:m:n); όπου: x: πραγματική μεταβλητή ή έκφραση. m: το συνολικό πλήθος των θέσεων εκτύπωσης συμπεριλαμβανομένης της υποδιαστολής.
n: το πλήθος των δεκαδικών ψηφίων.
14
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα μορφοποιημένης εκτύπωσης. Προστέθηκαν 00
Προστέθηκε 0 Στρογγυλοποιήσεις
Τα δεδομένα υπερκαλύπτουν την οδηγία εκτύπωσης, οπότε αυτή αγνοείται.
15
1/11/2013
Κέρος Α. Ιωάννης
Η εντολή αντικατάστασης := . Μεταβλητή := Έκφραση; Ενέργεια: Υπολογίζεται η τιμή της Έκφρασης στα δεξιά της εντολής και τοποθετείται (η τιμή αυτή) στην Μεταβλητή του αριστερού μέλους.
16
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα της εντολής εκχώρησης. Εντολή x:=1; y:=3.45;
17
x 1 y 3.45
name:=‘Γιάννης’;
name Γιάννης
star:=‘*’;
star
*
ok:=True;
ok
True
1/11/2013
Κέρος Α. Ιωάννης
Παραδείγματα της εντολής εκχώρησης (συνέχεια). Εντολή
18
z:=2; k:=4*z+8;
κ
16
x:=1; x:=x+1;
x
2
y:=42; o:=y div 7 <= 2
y
1/11/2013
False
Κέρος Α. Ιωάννης
Η δομή της Ακολουθίας. Ορισμός: Ακολουθία είναι μία σειρά από εντολές που εκτελούνται η μία μετά την άλλη.
19
1/11/2013
Κέρος Α. Ιωάννης
Παράδειγμα Με Δομή Ακολουθίας. Εκφώνηση Να γραφεί πρόγραμμα στην Pascal που θα διαβάσει για έναν μαθητή: • τον βαθμό Α’ τετραμήνου του, • τον βαθμό Β’ τετραμήνου του, • τον βαθμό των γραπτών και θα υπολογίσει και εμφανίσει τον τελικό μέσο όρο του. Υπενθυμίζεται ότι ο υπολογισμός του τελικού μέσου όρου γίνεται με τα ακόλουθα βήματα:
Α. Υπολογισμός μέσου όρου τετραμήνων: Μέσος Όρος Τετραμήνων = ( Α’ Τετράμηνο+ Β’ Τετράμηνο ) / 2 Β. Υπολογισμός του τελικού μέσου όρου: Τελικός Μέσος Όρος = (Μέσος Όρος Τετραμήνων + Βαθμός Γραπτών ) / 2 (PC9Exe1.pas)
20
1/11/2013
Κέρος Α. Ιωάννης
Λύση.
21
1/11/2013
Κέρος Α. Ιωάννης