Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ

38
1 Προγραμματισμός Προγραμματισμός PASCAL PASCAL Πληροφορική Γ' Λυκείου Πληροφορική Γ' Λυκείου μέρος γ μέρος γ ΠΡΥ019 - Πληροφορική Δρ.Βάσος Βασιλείου

description

Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ. ΠΡΥ019 - Πληροφορική Δρ.Βάσος Βασιλείου. PASCAL. Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. Πλεονεκτήματα. - PowerPoint PPT Presentation

Transcript of Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ

Page 1: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

1

Προγραμματισμός Προγραμματισμός PASCALPASCALΠληροφορική Γ' ΛυκείουΠληροφορική Γ' Λυκείου

μέρος γμέρος γ

ΠΡΥ019 - Πληροφορική

Δρ.Βάσος Βασιλείου

Page 2: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

2

Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού.

Είναι γλώσσα για σειριακό προγραμματισμό.

PASCAL

Page 3: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

3

Απλή και εύκολη στην εκμάθηση Περιλαμβάνει ικανοποιητικό σύνολο εντολών

ελέγχου Διαχειρίζεται πολλούς τύπους δεδομένων Είναι γλώσσα γενικού σκοπού Υπάρχουν μεταφραστές της PASCAL για τα

περισσότερα υπολογιστικά συστήματα Ιδανική για διδασκαλία βασικών αρχών

προγραμματισμού

Πλεονεκτήματα

Page 4: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

4

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΕΝΟΣ PASCAL ΠΡΟΓΡΑΜΜΑΤΟΣ

Σύνολο χαρακτήρων Γράμματα : a. . Z , A. . Z Ψηφία : 0. .9 Ειδικά σύμβολα:

+ - * / : , . ΄= < > ( ) ^ .. { } [ ]

Page 5: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

5

ονόματα αριθμοί χαρακτήρες αλυσίδες χαρακτήρων τελεστές διαχωριστές λέξεις κλειδιά

Λεξιλόγιο

Page 6: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

6

Αποτελούνται από ένα γράμμα που ακολουθείται από έναν ή οποιοδήποτε αριθμό γραμμάτων και ψηφίων π.χ. Value1, result, mkd,

Το μήκος τους είναι μέχρι και 12 χαρακτήρες επιτρέπεται η χρήση του χαρακτήρα “_”, p.x. value_1,

value_of_x δεν επιτρέπεται η χρήση ονομάτων με ειδική σημασία

στην PASCAL

Ονόματα

Page 7: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

7

Επιτρεπτάονόματα

ΜηεπιτρεπτάΟνόματα

Αιτιολογία

Name

Elem_number

K1

ForNumbers

F10KL2

Name’s

Elem-Number

Elem Number

For

2Def

Περιέχει τοχαρακτήρα “ ‘ “Περιέχει τοχαρακτήρα “-“Περιέχει κενόχαρακτήραΕιδική σημασίαστην PascalΑρχίζει από ψηφίο

Page 8: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

8

ακέραιοι (integers). Ακολουθίες ψηφίων που μπορεί να προηγείται το πρόσημο + (προαιρετικό) ή -

Οι τιμές είναι : [ -MAXINT,..-1,0,+1,..,+MAXINT ] MAXINT=32767

Αριθμοί

Page 9: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

9

Επιτρεπτοίακέραιοι

Μη επιτρεπτοίακέραιοι

Αιτιολογία

45

0

-8

32000

43,600

2.5786

Περιέχειχαρακτήρα μη-ψηφίο “ , “

Περιέχειχαρακτήρα μη-ψηφίο “.“

Page 10: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

10

Αριθμοί αρνητικοί ή θετικοί που μπορεί να περιέχουν και δεκαδικά ψηφία.

Περιέχουν υποδιαστολή ή είναι εκφρασμένοι σε εκθετική μορφή π.χ. 38Ε27 38x1027

-0,092Ε-19 -0,092x10-19

Πραγματικοί / real

Page 11: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

11

Επιτρεπτοίπραγματικοί

Μη επιτρεπτοίΠραγματικοί

Αιτιολογία

23.56

-49.3759674785.0

34Ε21

-14.487Ε6

23.

45,891.345.78

36Ε2*6

-8.2Ε4.1

Δεν έχει δεκαδικάψηφίαΠεριέχει κόμμαΠεριέχει 2 δεκαδικάψηφίαΠεριέχει τοχαρακτήρα *Ο εκθέτης δεν είναιακέραιος

Page 12: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

12

είναι χαρακτήρες από το σύνολο των χαρακτήρων που υποστηρίζει το υπολογιστικό σύστημα μέσα σε αποστρόφους. Π.χ. ‘α’, ‘Α’, ‘&’, ‘4’ ‘5’ διαφέρει από το 5 ‘Α’ διαφέρει από το ‘α’ ‘ ‘ ο κενός χαρακτήρας

Χαρακτήρες

Page 13: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

13

Αλυσίδα χαρακτήρων (string) είναι μια ακολουθία χαρακτήρων μεταξύ αποστρόφων.

Π.χ. ’algorithm’ , ‘Pascal Vers’, ‘5’ ‘236’, ‘5+2’

Αλυσίδες Χαρακτήρων

Page 14: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

14

Είναι σύμβολα που δηλώνουν μια αριθμητική ή λογική πράξη μεταξύ αριθμητικών ή αλφαριθμητικών δεδομένων. Αριθμητικοί σύγκρισης λογικοί

Τελεστές

Page 15: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

15

Page 16: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

16

Τελεστέςσύγκρισης

Λειτουργία Σύνταξη

= <>ή ><

<>

<= ή =<>= ή =>

ΙσότηταΔιάφοροΜικρότεροΜεγαλύτεροΜικρότερο ή ίσοΜεγαλύτερο ήίσο

X=YX<>Y X><Y

X<YX>Y

X<=Y ή X=<YX>=Y ή X=>Y

Page 17: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

17

X Y NOT X X AND Y X OR Y

AAΨΨ

ΑΨΑΨ

ΨΨΑΑ

ΑΨΨΨ

ΑΑΑΨ

Λογικοί Τελεστές

Page 18: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

18

Είναι χαρακτήρες με συγκεκριμένη λειτουργία στην PASCAL. := καταχώρηση ( ) παρενθέσεις [ ] αγκύλες για τους πίνακες και τα

σύνολα ,.;: σημεία στίξης

Διαχωριστές

Page 19: Προγραμματισμός  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

Page 20: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

20

integer : τα δεδομένα παίρνουν ακέραιες τιμές real : τα δεδομένα παίρνουν πραγματικές τιμές boolean : παίρνουν μόνο από τις δύο λογικές τιμές TRUE

ή FALSE char : δέχονται σαν τιμές ένα χαρακτήρα π.χ. ‘a’ , ‘G’ , ‘4’ , ‘&’ string : αλυσίδα χαρακτήρων π.χ. ‘Monday’, ‘Στέφανος’

Τύποι Δεδομένων

Page 21: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

21

Σειρά προτεραιότητας NOT * / DIV MOD AND + - OR = <> > < >= <=

Εκφράσεις

Page 22: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

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

Αριθμητικές Συναρτήσεις

Page 23: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

23

PRED(num)π.χ. Pred(10)=9

ODD(num) -περιττόςπ.χ. Odd(7)=true

SUCC(num)π.χ. Succ(10)=11

Βαθμωτές Συναρτήσεις

Page 24: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

24

ORD(num)π.χ. (A,B,C,D,E,F)

Ord(C)=2 ROUND(num)

π.χ. Round(3.78)=4 TRUNC(num)

π.χ. Trunc(3.78)=3

Συναρτήσεις Μετατροπής

Page 25: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

25

Δομή ενός προγράμματος PASCAL

Επικεφαλίδα του προγράμματος Τμήμα Δηλώσεων

επιγραφές, σταθερές, τύποι, μεταβλητές υποπρογράμματα Τμήμα προτάσεων

Page 26: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

26

PROGRAM όνομα (αρχείο1,..);π.χ. Program Factorial; Program Second_example; Program test(input,output);

Επικεφαλίδα Προγραμματος

Page 27: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

27

CONST όνομα = τιμή;π.χ. CONST meres=5;

pi=3.14159;flag=true;aster=‘*’;

Περιοχή Σταθερών

Page 28: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

28

TYPE όνομα = σύνολο τιμών;π.χ. TYPE day=(Mon,Tues,Wed);

number=integer; color=(blue,red,green);

DayNum=1..31;

Περιοχή Τύπων

Page 29: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

29

VAR όνομα : τύπος δεδομένων;π.χ. VAR letter:char;

aktina:real; ok:boolean; mikos:integer; weekday:day;

Περιοχή Μεταβλητών

Page 30: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

30

Όνομα μεταβλητής:= έκφραση;π.χ. a:=5+2; b:=4.1*2; c:=‘F’; x:=3>1;

Τελεστής Ανάθεσης

Page 31: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

31

Εισαγωγή τιμών από τη μονάδα εισόδου και ανάθεση τους σε μεταβλητές

READ(input,v1,v2,..vn) ήREAD(v1,v2,..vn);π.χ. READ(x); READ(a,b);

Εντολή READ

Page 32: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

32

Η επόμενη εισαγωγή δεδομένων γίνεται από την αρχή της επόμενης σειράς δεδομένων .

READLN(input,v1,v2,..vn) ήREADLN(v1,v2,..vn);π.χ. READLN(x); READLN(a,b);

Εντολή READLN

Page 33: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

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

Page 34: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

34

Μεταφέρει δεδομένα στη μονάδα εξόδου

WRITE(output,v1,v2,..vn) ήWRITE(v1,v2,..vn);π.χ. WRITE(x); WRITE(a,b); WRITE(‘a=‘,a,’b=‘,b,’sum=‘,a+b);

Εντολή WRITE

Page 35: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

35

Η επόμενη εντολή εξόδου θα ξεκινήσει την εγγραφή δεδομένων στη νέα σειρά

WRITELN(output,v1,v2,..vn) ήWRITELN(v1,v2,..vn);π.χ. WRITELN(x); WRITELN(a,b); WRITELN; κενή γραμμή

Εντολή WRITELN

Page 36: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

36

Παράδειγμα της WRITELN

Writeln(5+2,5-2,5*2);writeln(5 div 2, 5 mod 2);αποτέλεσμα:

7 3 10 2 1

Page 37: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

37

Program όνομα;const δήλωση σταθεράς..δήλωση σταθ;type δήλωση τύπου..δήλωση τύπου;var δήλωση μεταβλητής..δήλ.μεταβλ ;ορισμοί διαδικασιών και συναρτήσεωνbeginπρόταση ..πρόταση;end.

Page 38: Προγραμματισμός  PASCAL Πληροφορική Γ' Λυκείου μέρος γ

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.

επικεφαλίδα

δηλώσεις

προτάσεις