1 / 29

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

Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος δ. ΠΡΥ019 - Πληροφορική Δρ.Βάσος Βασιλείου. Εντολές Διακλάδωσης. Εντολ ή IF/THEN Eντολή IF/THEN/ELSE Ένθετη Διακλάδωση Πολλαπλή Διακλάδωση. Εντολή IF-THEN. IF < συνθήκη> THEN < διαδικασία>;. ναι. συνθήκη. διαδικασία. όχι.

rendor
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 IF <συνθήκη>THEN <διαδικασία 1> ELSE <διαδικασία 2>; ψευδής αληθής συνθήκη Διαδικασία2 Διαδικασία1 Επόμενη εντολή

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

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

  9. ναι συνθήκη1 ναι συνθήκη2 όχι ναι όχι συνθήκηΝ όχι διαδικασία Έπόμενη εντολή Ένθετες Διακλαδώσεις (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 ELSE Τιμή επιλογήςΝ διαδικασία1 διαδικασία3 Εναλλακτική διαδικασία διαδικασία2 διαδικασίαΝ

  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; 2 :IF (YEAR MOD 4=0) THEN DAYS:=29 ELSE DAYS:=28 END;

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

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

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

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

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

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

  21. Εντολή WHILE-DO (3) m -μετρητής m:=1 ναι 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 όνομα = σύνολο τιμών; π.χ. TYPEday=(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;

More Related