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

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

Προγραμματισμός PASCAL Τύποι Δεδομένων ορισμένοι από το Χρήστη Ανδρέας Σάββα.

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


Παρουσίαση με θέμα: "Προγραμματισμός PASCAL Τύποι Δεδομένων ορισμένοι από το Χρήστη Ανδρέας Σάββα."— Μεταγράφημα παρουσίασης:

1 Προγραμματισμός PASCAL Τύποι Δεδομένων ορισμένοι από το Χρήστη Ανδρέας Σάββα

2 2 Βασική Τύποι Δεδομένων String String Integer Integer Real Real Char Char Boolean Boolean Βαθμωτοί τύποι Δεδομένων

3 3 Μεταβλητές και Τύποι Δεδομένων VAR Num : integer; Num : integer; x, y : Real; x, y : Real; MyName : String; MyName : String; Flag : Boolean; Flag : Boolean; Vathmos : Char; Vathmos : Char;Begin Num := 34; Num := 34; x := ; x := ; MyName := ’Κώστας’; MyName := ’Κώστας’; Flag := True; Flag := True; Vathmos := ’A’; Vathmos := ’A’;End.

4 4 Υποπεριοχή Μία μεταβλητή μπορεί να οριστεί να είναι υποπεριοχή κάποιου βαθμωτού τύπου. Μία μεταβλητή μπορεί να οριστεί να είναι υποπεριοχή κάποιου βαθμωτού τύπου. VAR :.. ; :.. ; Σύνταξη: Παράδειγμα: VAR Minas : 1..12; Minas : 1..12; H μεταβλητή “Minas” είναι τύπου integer αλλά μπορεί να πάρει τιμές μόνο από το 1 μέχρι το 12.

5 5 Παραδείγματα VAR Num : integer; Num : integer; Mera : 1..31; Mera : 1..31; Minas : 1..12; Minas : 1..12; Kefalea : ’A’..’Z’; Kefalea : ’A’..’Z’; Num := 1334; Num := 1334; Mera := 23; Mera := 23; Minas := 5; Minas := 5; Kefalea := ’N’; Kefalea := ’N’; Τα πιο κάτω έχουν συντακτικά λάθη. Γιατί; Τα πιο κάτω έχουν συντακτικά λάθη. Γιατί;VAR Ora : ; Ora : ; Vathmos : 20..0; Vathmos : 20..0; VAR Mera : 1..31; Mera : 1..31;Begin Mera := 0; Mera := 0;End.

6 6 Δεδομένα Τύπου ορισμένα από τον Χρήστη Ο χρήστης μπορεί να ορίσει ένα νέο τύπο δεδομένων. Ο χρήστης μπορεί να ορίσει ένα νέο τύπο δεδομένων. TYPE = ; = ; Σύνταξη: Παράδειγμα: TYPE MyInteger = Integer; MyInteger = Integer;VAR x : MyInteger; x : MyInteger; H μεταβλητή x είναι τύπου integer

7 7 Το Πρόγραμμα Program Εxample; uses wincrt;CONST ………TYPE VAR Begin ……… End. Διαδικασίες, Συναρτήσεις Δηλωτικό μέρος Εκτελεστικό μέρος Επικεφαλίδα Τύποι ορισμένοι από τον χρήστη

8 8 Δεδομένα Τύπου Υποπεριοχής TYPE =.. ; =.. ; Σύνταξη: Παράδειγμα: TYPE Minas = 1..12; Minas = 1..12;VAR m : Minas; m : Minas; Προσοχή: Minas είναι τύπος δεδομένων m είναι μεταβλητή

9 9 Παράδειγμα σε Πρόγραμμα Program DisplayMonths; uses wincrt;CONST MaxMonth = 12;TYPE Month = 1..MaxMonth;VAR m : Month; Begin (* main *) For m := 1 to MaxMonth do Case m of 1 : writeln(’Γενάρης’); 2 : writeln(’Φλεβάρης’); 3 : writeln(’Μάρτης’);... 12: writeln(’Δεκέμβρης’); End End. Τύποι δεδομένων σε αυτό το πρόγραμμα: String Integer Real Char BooleanMonth Γενάρης Φλεβάρης Μάρτης Απρίλης Μάης Ιούνης Ιούλης Αύγουστος Σεπτέμβρης Οκτώβρης Νοέμβρης ΔεκέμβρηςΑποτέλεσμα:

10 10 Το ίδιο πρόγραμμα με Διαδικασία Program DisplayMonths; uses wincrt;CONST MaxMonth = 12;TYPE Month = 1..MaxMonth;VAR m : Month; m:Month Procedure Display(m:Month); Begin case m of 1 : writeln(’Γενάρης’); 2 : writeln(’Φλεβάρης’); 3 : writeln(’Μάρτης’);... 12: writeln(’Δεκέμβρης’); End End; Begin (* main *) for m := 1 to MaxMonth do Display(m) End.

11 11 Τυπικές Παράμετροι m : Month Procedure Display (m : Month); Procedure Display (m : 1..12); TYPE Month = 1..12; Month = 1..12; 

12 12 Δεδομένα Βαθμωτού Τύπου ορισμένα από τον Χρήστη Ο χρήστης μπορεί να ορίσει ένα νέο τύπο δεδομένων στον οποίο μπορεί να καθορίσει και τις τιμές του τύπου αυτού. Ο χρήστης μπορεί να ορίσει ένα νέο τύπο δεδομένων στον οποίο μπορεί να καθορίσει και τις τιμές του τύπου αυτού. TYPE = (,, …, ); = (,, …, ); Σύνταξη: Παραδείγματα: TYPE Day = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); Day = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); Season = (Winter, Spring, Summer, Autumn); Season = (Winter, Spring, Summer, Autumn); Colour = (Red, Green, Blue); Colour = (Red, Green, Blue); Vathmos = (A, B, C, D, F); Vathmos = (A, B, C, D, F); MyBoolean = (MyFalse, MyTrue); MyBoolean = (MyFalse, MyTrue);

13 13 Δεδομένα Βαθμωτού Τύπου ορισμένα από τον Χρήστη Παράδειγμα: TYPE Day = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); VAR d : Day; d := Fri; d := ’Fri’; d := Friday; d := 4;    Mon < Tue Tue < Wed ORD(Mon) = 0 ORD(Fri) = 4 SUCC(Thu) = Fri PRED(Tue) = Mon

14 14 Μπορούν να χρησιμοποιηθούν όπως τα άλλα δεδομένα βαθμωτού τύπου, π.χ. Μπορούν να χρησιμοποιηθούν όπως τα άλλα δεδομένα βαθμωτού τύπου, π.χ. Δεδομένα Βαθμωτού Τύπου ορισμένα από τον Χρήστη For d := Mon to Fri do If d <= Fri then writeln(’Καθημερινή’) writeln(’Καθημερινή’)Else writeln(’Σαββατοκύριακο’); writeln(’Σαββατοκύριακο’);

15 15 Όμως δεν μπορούν να χρησιμοποιηθούν σε συνδυασμό με τις εντολές Read/Readln και Write/Writeln. Όμως δεν μπορούν να χρησιμοποιηθούν σε συνδυασμό με τις εντολές Read/Readln και Write/Writeln. Read(d); Read(d); Write(d); Write(d); Δεδομένα Βαθμωτού Τύπου ορισμένα από τον Χρήστη   Case d of Mon : writeln(’Monday’); Tue : writeln(’Tuesday’); Wed : writeln(’Wednesday’); Thu : writeln(’Thursday’); Fri : writeln(’Friday’); Sat : writeln(’Saturday’); Sun : writeln(’Sunday’); End; Παρουσίαση ημερών

16 16 Παράδειγμα σε Πρόγραμμα Program DisplayMonths; uses wincrt;TYPE Month=(Jan,Feb,Mar,Apr,May,Jun, Jul,Aug,Sep,Oct,Nov,Dec);VAR m : Month; Procedure Display(m:Month); Begin case m of Jan : writeln(’Γενάρης’); Feb : writeln(’Φλεβάρης’); Mar : writeln(’Μάρτης’);... Dec : writeln(’Δεκέμβρης’); End End; Begin (* main *) for m := Jan to Dec do Display(m) End.

17 17 Υποπεριοχές δεδομένων βαθμωτού τύπου ορισμένα από τον χρήστη Παράδειγμα: TYPE Day = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); Weekday = Mon.. Fri; VAR d : Day; w : Weekday;   w := Sun; d := Sun; w := d; for w := Mon to Sun do for d := Mon to Sun do w := d; w := d;   Προσοχή από λογικά λάθη:

18 18 Άσκηση 1 Πιο είναι το αποτέλεσμα του πιο κάτω προγράμματος; Πιο είναι το αποτέλεσμα του πιο κάτω προγράμματος; Program Vatmoi; uses Wincrt;TYPE Grades = (A,B,C,D,E,F); PassMark = A..D;VAR Pass : PassMark; Begin (* main *) For Pass := A to D do Case Pass of A : writeln(’Excellent’); B : writeln(’Very Good’); C : writeln(’Good’); D : writeln(’Pass’); End End. Γιατί η ποιο κάτω δήλωση είναι λάθος; Γιατί η ποιο κάτω δήλωση είναι λάθος; Grades = (1,2,3,4,5,6,7,8,9,10);

19 19 Άσκηση 2 Πιο είναι το αποτέλεσμα του πιο κάτω προγράμματος; Πιο είναι το αποτέλεσμα του πιο κάτω προγράμματος; Program ColoursWithCountries; uses Wincrt;TYPE Colours = (Red,Blue,Black,Orange,Green,White); Countries = (France,Italy,Greece,Spain);VAR Colour : Colours; Country : Countries; i : Integer; Begin (* main *) For Colour := White downto Orange do For Country := Italy to Spain do Begin i := ORD(Colour) + ORD(Country); writeln(i:5,succ(i)); End End.

20 20 Άσκηση 3 Πιο είναι το αποτέλεσμα του πιο κάτω προγράμματος; Πιο είναι το αποτέλεσμα του πιο κάτω προγράμματος; Program EpoxesTouXronou; uses wincrt;TYPE Month = (Jan,Feb,Mar,Apr,May,Jun, Jul,Aug,Sep,Oct,Nov,Dec); Season = (Winter,Spring,Summer,Autumn);VAR m : Month; s : Season; Begin (* main *) s := Winter; for m := Jan to Dec do DisplayMonth(m); if (ORD(m)+1) DIV 3 = 0 then if s = Autumn then s := Winter else s := SUCC(s); DisplaySeason(s); End. DisplayMonth DisplaySeason Οι διαδικασίες DisplayMonth και DisplaySeason στην επόμενη σελίδα

21 21 Άσκηση 3 (συνέχεια) Procedure DisplayMonth(m:Month); Begin Case m of Jan : write(’Γενάρης : ’); Feb : write(’Φλεβάρης : ’); Mar : write(’Μάρτης : ’);... Dec : write(’Δεκέμβρης : ’); End End; Procedure DisplaySeason(s:Season); Begin case s of Winter : writeln(’Χειμώνας’); Spring : writeln(’Άνοιξη’); Summer : writeln(’Καλοκαίρι’); Autumn : writeln(’Φθινόπωρο’); End End;


Κατέβασμα ppt "Προγραμματισμός PASCAL Τύποι Δεδομένων ορισμένοι από το Χρήστη Ανδρέας Σάββα."

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


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