Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος δ"— Μεταγράφημα παρουσίασης:

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

2 Εντολές Διακλάδωσης Εντολή IF/THEN Eντολή IF/THEN/ELSE
Ένθετη Διακλάδωση Πολλαπλή Διακλάδωση

3 ναι όχι Εντολή IF-THEN IF <συνθήκη> THEN <διαδικασία>;
If x>y then a:=x-y Επόμενη εντολή

4 Εντολή IF-THEN (2) READLN (X,Y); IF X>Y THEN WRITELN(‘ Η
MΕΤΑΒΛΗΤΗ Χ ΕΙΝΑΙ ΜΕΓΑΛΥΤΕΡΗ ΤΗΣ ΜΕΤΑΒΛΗΤΗΣ Υ’); WRITELN(‘ΤΕΛΟΣ’);

5 Εντολή IF-THEN (3) READLN(X,Y); IF X>=Y THEN BEGIN X:=X+Y; Y:=Y-5; END; WRITELN(X,Y);

6 Εντολή IF-THEN-ELSE ψευδής αληθής συνθήκη Διαδικασία2 Διαδικασία1
Επόμενη εντολή

7 Εντολή IF-THEN-ELSE (2)
IF K>15 THEN K:=K+5 ELSE K:=K-5; WRITELN(K); IF Q>=100 THEN BEGIN WRITE(‘ΕΚΠΤΩΣΗ’); COST:=Q*6.5 END ELSE WRITE(‘ΧΩΡΙΣ ΕΚΠΤΩΣΗ); COST:=Q*7 END; WRITELN(‘ΤΕΛΟΣ’);

8 Ένθετες Διακλαδώσεις IF <συνθήκη> THEN IF <συνθήκη> THEN .
<Διαδικασία>

9 Ένθετες Διακλαδώσεις (2)
συνθήκη1 συνθήκη2 συνθήκηΝ διαδικασία Έπόμενη εντολή ναι όχι

10 Ένθετες Διακλαδώσεις (3)
IF a<0 THEN IF b>0 THEN IF c=0 THEN BEGIN WRITELN(‘negative’); WRITELN(‘positive’); WRITELN(‘zero’); END; WRITELN(‘ΤΕΛΟΣ’);

11 Πολλαπλή Διακλάδωση CASE <έκφραση επιλογής> OF
<τιμή επιλογής >:<διαδικασία>; …. ELSE <εναλλακτική διαδικασία> END;

12 Πολλαπλή Διακλάδωση (2)
διαδικασία1 διαδικασία3 διαδικασίαΝ Εναλλακτική διαδικασία διαδικασία2 Τιμή επιλογής1 Τιμή επιλογής2 Τιμή επιλογής3 Τιμή επιλογήςΝ ELSE

13 Πολλαπλή Διακλάδωση (3)
READLN(GRAMMA); CASE GRAMMA OF ‘A’: WRITELN(‘ΑΡΙΣΤΟΣ’); ‘B’: WRITELN(‘ΠΟΛΥ ΚΑΛΟΣ’); ‘C’: WRITELN(‘ΚΑΛΟΣ’); ‘D’: WRITELN(‘ΜΕΤΡΙΟΣ’); ‘E’: WRITELN(‘ΚΑΚΟΣ’) ELSE WRITELN(‘ΛΑΘΟΣ ΧΑΡΑΚΤΗΡΑΣ’) END; WRITELN(‘ΤEΛΟΣ’);

14 Πολλαπλή Διακλάδωση (3)
CASE MONTH OF 1,3,5,7, 8,10,12 : DAYS:=31; 4,6,9,11 : DAYS:=30; : IF (YEAR MOD 4=0) THEN DAYS:=29 ELSE DAYS:=28 END;

15 Επαναληπτικές Δομές FOR /DO WHILE/DO REPEAT/UNTIL
Ένθετες Επαναληπτικές Δομές

16 Επαναληπτκή Δομή FOR-DO
<αρχική τιμή> ΤΟ <τελική τιμή> DO <σώμα της Δομής>;

17 * m -μετρητής * * Επαναληπτκή Δομή FOR-DO (2) m:=1 m<=5 όχι A:=a*b
ναι m<=5 όχι A:=a*b * m:=m+1 * FOR M:=1 TO 5 DO A:=A*B;

18 * m -μετρητής * * Επαναληπτκή Δομή FOR-DO (3) m:=5 M>=0 όχι A:=a*b
ναι M>=0 όχι A:=a*b * m:=m-1 * FOR M:=5 DOWNTO 0 DO A:=A*B;

19 Εντολή WHILE-DO WHILE <συνθήκη> DO <συνθήκη>

20 m -μετρητής Εντολή WHILE-DO (2) m:=1 m<=5 όχι A:=a*b m:=m+1 ναι
while m<=5 do begin a:=a*b; m:=m+1 end; m<=5 όχι A:=a*b m:=m+1

21 m -μετρητής Εντολή WHILE-DO (3) m:=1 m<=5 όχι A:=a*b m:=m+1 ναι
repeat a:=a*b; m:=m+1 until m>5; m<=5 όχι A:=a*b m:=m+1

22 Διαφορές Επαναληπτικών Δομών
Στην εντολή WHILE/DO πρώτα ελέγχεται η συνθήκη και μετά ανάλογα, εκτελείται ή όχι το σώμα της δομής. Στην εντολή REPEAT/UNTIL πρώτα εκτελείται μιά φορά το σώμα της δομής και μετά ελέγχεται η συνθήκη.

23 Διαφορές Επαναληπτικών Δομών (2)
Στην εντολή WHILE/DO το σώμα δομής μπορεί να μην εκτελεστεί ούτε μιά φορά. Στην εντολή REPEAT/UNTIL εκτελείται πάντοτε τουλάχιστον μιά φορά. Η εντολή WHILE/DO σταματά τη λειτουργία της όταν η συνθήκη γίνει ψευδής. Η εντολή REPEAT/UNTIL σταματά τη λειτουργία της όταν η συνθήκη γίνει αληθής.

24 Διαφορές Επαναληπτικών Δομών (3)
Στην εντολή WHILE/DO το σώμα της δομής, όταν αποτελείται από 2 ή περισσότερες εντολήες, πρέπει να τοποθετείται μεταξύ των εντολών BEGIN και END. Στην εντολή REPEAT/UNTIL δε χρειάζονται τα BEGIN και END. Όταν το σώμα της δομής αποτελείται από μία εντολή τότε, στη δομή WHILE/DO πρέπει να συνοδεύεται από το σύμβολο ; Στην εντολή REPETA/UNTIL το σύμβολο ; δεν είναι απαραίτητο.

25 Τύποι Δεδομένων Integer real char string boolean

26 Δεδομένα Βαθμωτού Τύπου
TYPE όνομα = σύνολο τιμών; π.χ. TYPE day=(Mon,Tues,Wed); number=integer; color=(blue,red,green); DayNum=1..31;

27 Δεδομένα Βαθμωτού Τύπου (2)
TYPE DAYS=(Deytera,Triti,Tetarti,Pempti, Paraskevi,Sabbato,Kiriaki); Argia=Sabbato..Kiriaki; VAR meres:days; weekend:argia; ergasimes:Deytera..Paraskevi;

28 Δεδομένα Βαθμωτού Τύπου (3)
Οι τιμές βαθμωτού τύπου είναι διατεταγμένες, σύμφωνα με τη σειρά που εμφανίζονται στον ορισμό του τύπου. Π.χ. Η τιμή Triti είναι μεγαλύτερη από την τιμή Deytera διότι τοποθετήθηκε μετά. Οι τιμές βαθμωτού τύπου δε μπορούν να χρησιμοποιηθούν σε συνδυασμό με τις εντολές READ/READLN και WRITE/WRITELN. Γι΄αυτό χρησιμοποιείται η εντολή CASE.

29 FOR ergasimes:=Deytera TO Paraskevi DO
CASE ergasimes OF Deytera :writeln(ΔΕΥΤΕΡΑ); Triti :writeln(ΤΡΙΤΗ); Tetarti :writeln(ΤΕΤΑΡΤΗ); Pempti :writeln(ΠΕΜΠΤΗ); Paraskevi :writeln(ΠΑΡΑΣΚΕΥΗ); END;


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google