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

Post on 05-Jan-2016

68 views 6 download

description

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

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.

επικεφαλίδα

δηλώσεις

προτάσεις