Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
description
Transcript of Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
1
Προγραμματισμός Προγραμματισμός PASCALPASCALΠληροφορική Γ' ΛυκείουΠληροφορική Γ' Λυκείου
μέρος γμέρος γ
ΠΡΥ019 - Πληροφορική
Δρ.Βάσος Βασιλείου
2
Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού.
Είναι γλώσσα για σειριακό προγραμματισμό.
PASCAL
3
Απλή και εύκολη στην εκμάθηση Περιλαμβάνει ικανοποιητικό σύνολο εντολών
ελέγχου Διαχειρίζεται πολλούς τύπους δεδομένων Είναι γλώσσα γενικού σκοπού Υπάρχουν μεταφραστές της PASCAL για τα
περισσότερα υπολογιστικά συστήματα Ιδανική για διδασκαλία βασικών αρχών
προγραμματισμού
Πλεονεκτήματα
4
ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΕΝΟΣ PASCAL ΠΡΟΓΡΑΜΜΑΤΟΣ
Σύνολο χαρακτήρων Γράμματα : a. . Z , A. . Z Ψηφία : 0. .9 Ειδικά σύμβολα:
+ - * / : , . ΄= < > ( ) ^ .. { } [ ]
5
ονόματα αριθμοί χαρακτήρες αλυσίδες χαρακτήρων τελεστές διαχωριστές λέξεις κλειδιά
Λεξιλόγιο
6
Αποτελούνται από ένα γράμμα που ακολουθείται από έναν ή οποιοδήποτε αριθμό γραμμάτων και ψηφίων π.χ. Value1, result, mkd,
Το μήκος τους είναι μέχρι και 12 χαρακτήρες επιτρέπεται η χρήση του χαρακτήρα “_”, p.x. value_1,
value_of_x δεν επιτρέπεται η χρήση ονομάτων με ειδική σημασία
στην PASCAL
Ονόματα
7
Επιτρεπτάονόματα
ΜηεπιτρεπτάΟνόματα
Αιτιολογία
Name
Elem_number
K1
ForNumbers
F10KL2
Name’s
Elem-Number
Elem Number
For
2Def
Περιέχει τοχαρακτήρα “ ‘ “Περιέχει τοχαρακτήρα “-“Περιέχει κενόχαρακτήραΕιδική σημασίαστην PascalΑρχίζει από ψηφίο
8
ακέραιοι (integers). Ακολουθίες ψηφίων που μπορεί να προηγείται το πρόσημο + (προαιρετικό) ή -
Οι τιμές είναι : [ -MAXINT,..-1,0,+1,..,+MAXINT ] MAXINT=32767
Αριθμοί
9
Επιτρεπτοίακέραιοι
Μη επιτρεπτοίακέραιοι
Αιτιολογία
45
0
-8
32000
43,600
2.5786
Περιέχειχαρακτήρα μη-ψηφίο “ , “
Περιέχειχαρακτήρα μη-ψηφίο “.“
10
Αριθμοί αρνητικοί ή θετικοί που μπορεί να περιέχουν και δεκαδικά ψηφία.
Περιέχουν υποδιαστολή ή είναι εκφρασμένοι σε εκθετική μορφή π.χ. 38Ε27 38x1027
-0,092Ε-19 -0,092x10-19
Πραγματικοί / real
11
Επιτρεπτοίπραγματικοί
Μη επιτρεπτοίΠραγματικοί
Αιτιολογία
23.56
-49.3759674785.0
34Ε21
-14.487Ε6
23.
45,891.345.78
36Ε2*6
-8.2Ε4.1
Δεν έχει δεκαδικάψηφίαΠεριέχει κόμμαΠεριέχει 2 δεκαδικάψηφίαΠεριέχει τοχαρακτήρα *Ο εκθέτης δεν είναιακέραιος
12
είναι χαρακτήρες από το σύνολο των χαρακτήρων που υποστηρίζει το υπολογιστικό σύστημα μέσα σε αποστρόφους. Π.χ. ‘α’, ‘Α’, ‘&’, ‘4’ ‘5’ διαφέρει από το 5 ‘Α’ διαφέρει από το ‘α’ ‘ ‘ ο κενός χαρακτήρας
Χαρακτήρες
13
Αλυσίδα χαρακτήρων (string) είναι μια ακολουθία χαρακτήρων μεταξύ αποστρόφων.
Π.χ. ’algorithm’ , ‘Pascal Vers’, ‘5’ ‘236’, ‘5+2’
Αλυσίδες Χαρακτήρων
14
Είναι σύμβολα που δηλώνουν μια αριθμητική ή λογική πράξη μεταξύ αριθμητικών ή αλφαριθμητικών δεδομένων. Αριθμητικοί σύγκρισης λογικοί
Τελεστές
15
16
Τελεστέςσύγκρισης
Λειτουργία Σύνταξη
= <>ή ><
<>
<= ή =<>= ή =>
ΙσότηταΔιάφοροΜικρότεροΜεγαλύτεροΜικρότερο ή ίσοΜεγαλύτερο ήίσο
X=YX<>Y X><Y
X<YX>Y
X<=Y ή X=<YX>=Y ή X=>Y
17
X Y NOT X X AND Y X OR Y
AAΨΨ
ΑΨΑΨ
ΨΨΑΑ
ΑΨΨΨ
ΑΑΑΨ
Λογικοί Τελεστές
18
Είναι χαρακτήρες με συγκεκριμένη λειτουργία στην PASCAL. := καταχώρηση ( ) παρενθέσεις [ ] αγκύλες για τους πίνακες και τα
σύνολα ,.;: σημεία στίξης
Διαχωριστές
19
Δεσμευμένες Λέξεις
And end array file begin for case function const goto div if do in downto label else mod
Nil set not then of to or type packed until procedure var program while record with repeat
20
integer : τα δεδομένα παίρνουν ακέραιες τιμές real : τα δεδομένα παίρνουν πραγματικές τιμές boolean : παίρνουν μόνο από τις δύο λογικές τιμές TRUE
ή FALSE char : δέχονται σαν τιμές ένα χαρακτήρα π.χ. ‘a’ , ‘G’ , ‘4’ , ‘&’ string : αλυσίδα χαρακτήρων π.χ. ‘Monday’, ‘Στέφανος’
Τύποι Δεδομένων
21
Σειρά προτεραιότητας NOT * / DIV MOD AND + - OR = <> > < >= <=
Εκφράσεις
22
ABS(num) abs(-2.54)=2.54 COS(num) EXP(num) FRAC(num)frac(3.78)=0.78 INT(num) int(3.78)=3.0 SQR(num) sqr(2)=4 SQRT(num)sqrt(9)=3
Αριθμητικές Συναρτήσεις
23
PRED(num)π.χ. Pred(10)=9
ODD(num) -περιττόςπ.χ. Odd(7)=true
SUCC(num)π.χ. Succ(10)=11
Βαθμωτές Συναρτήσεις
24
ORD(num)π.χ. (A,B,C,D,E,F)
Ord(C)=2 ROUND(num)
π.χ. Round(3.78)=4 TRUNC(num)
π.χ. Trunc(3.78)=3
Συναρτήσεις Μετατροπής
25
Δομή ενός προγράμματος PASCAL
Επικεφαλίδα του προγράμματος Τμήμα Δηλώσεων
επιγραφές, σταθερές, τύποι, μεταβλητές υποπρογράμματα Τμήμα προτάσεων
26
PROGRAM όνομα (αρχείο1,..);π.χ. Program Factorial; Program Second_example; Program test(input,output);
Επικεφαλίδα Προγραμματος
27
CONST όνομα = τιμή;π.χ. CONST meres=5;
pi=3.14159;flag=true;aster=‘*’;
Περιοχή Σταθερών
28
TYPE όνομα = σύνολο τιμών;π.χ. TYPE day=(Mon,Tues,Wed);
number=integer; color=(blue,red,green);
DayNum=1..31;
Περιοχή Τύπων
29
VAR όνομα : τύπος δεδομένων;π.χ. VAR letter:char;
aktina:real; ok:boolean; mikos:integer; weekday:day;
Περιοχή Μεταβλητών
30
Όνομα μεταβλητής:= έκφραση;π.χ. a:=5+2; b:=4.1*2; c:=‘F’; x:=3>1;
Τελεστής Ανάθεσης
31
Εισαγωγή τιμών από τη μονάδα εισόδου και ανάθεση τους σε μεταβλητές
READ(input,v1,v2,..vn) ήREAD(v1,v2,..vn);π.χ. READ(x); READ(a,b);
Εντολή READ
32
Η επόμενη εισαγωγή δεδομένων γίνεται από την αρχή της επόμενης σειράς δεδομένων .
READLN(input,v1,v2,..vn) ήREADLN(v1,v2,..vn);π.χ. READLN(x); READLN(a,b);
Εντολή READLN
33
Παράδειγμα της READLN
Δεδομένα: 23 4 7 10 8 79 6
84 91 30readln(a,b);readln(c);readln(d,e);αποτέλεσμα: a=23, b=4, c=10, d=84, e=91
34
Μεταφέρει δεδομένα στη μονάδα εξόδου
WRITE(output,v1,v2,..vn) ήWRITE(v1,v2,..vn);π.χ. WRITE(x); WRITE(a,b); WRITE(‘a=‘,a,’b=‘,b,’sum=‘,a+b);
Εντολή WRITE
35
Η επόμενη εντολή εξόδου θα ξεκινήσει την εγγραφή δεδομένων στη νέα σειρά
WRITELN(output,v1,v2,..vn) ήWRITELN(v1,v2,..vn);π.χ. WRITELN(x); WRITELN(a,b); WRITELN; κενή γραμμή
Εντολή WRITELN
36
Παράδειγμα της WRITELN
Writeln(5+2,5-2,5*2);writeln(5 div 2, 5 mod 2);αποτέλεσμα:
7 3 10 2 1
37
Program όνομα;const δήλωση σταθεράς..δήλωση σταθ;type δήλωση τύπου..δήλωση τύπου;var δήλωση μεταβλητής..δήλ.μεταβλ ;ορισμοί διαδικασιών και συναρτήσεωνbeginπρόταση ..πρόταση;end.
38
Παράδειγμα προγράμματος στην PASCAL
Program sum_dif(input,output);
var x,y,sum,dif:integer;
begin
read(x,y);
sum:=x+y; dif:=x-y;
writeln(‘άθροισμα=‘,sum);
writeln(‘διαφορά=‘,dif);
end.
επικεφαλίδα
δηλώσεις
προτάσεις