Προγραμματισμός PASCAL

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
Advertisements

Προγραμματισμός PASCAL
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ
Το πρόγραμμα Turbo Pascal TPW1.5
Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία 4 Νοεμβρίου 2008 Στυλιανή Πετρούδη ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Δομές Διακλάδωσης Μην ελπίζεις ότι θα ξεφύγεις αν κάνεις κάποιο κακό. Γιατί κι αν ξεφύγεις απ’ τη προσοχή των άλλων, θα υποπέσεις στην αντίληψη της συνείδησής.
Προγραμματισμός PASCAL
Πίνακες.
Εισαγωγή στους Η/Υ Πίνακες.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors, equals, toString Αντικείμενα ως παράμετροι.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Διαφάνειες παρουσίασης #5
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Δομές Διακλάδωσης.
ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ(ΒΡΟΧΟΙ)
Παράδειγμα 5: Θερμοκρασίες
Παράδειγμα 1: Κόστος Υπολογιστών Το πρόγραμμα υπολογίζει το συνολικό κόστος παραγγελιών υπολογιστών.Το πρόγραμμα διαβάζει από το πληκτρολόγιο την ποσότητα.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος ε
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος δ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 3: Δείκτες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ι. Σαρρής, τηλ.
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Γενική μορφή προγράμματος Pascal
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
1 Του Γενάρη το φεγγάρι λάμπει σαν μαργαριτάρι..
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ
Προγραμματισμός PASCAL
Διαφάνειες παρουσίασης #3
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο. Project του μαθήματος  Εργασία 2 ατόμων  Προφορική εξέταση για :  Project (80%)  Θεωρία (20%)  Στο φροντιστήριο.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΤΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ ΓΛΩΣΣΑΣ PASCAL ΠΑΡΟΥΣΙΑΣΗ ΠΑΡΑΔΕΙΓΜΑΤΟΣ: ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕ ΤΙΣ ΤΡΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 12: Παραγωγή Ενδιάμεσου Κώδικα (Σημασιολογικές ρουτίνες μετάφρασης-Μέρος Β) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Διαφάνειες παρουσίασης #2
Διαφάνειες παρουσίασης Ορθότητα (συνέχεια) Τακτικοί τύποι και τύποι υποπεριοχής Πίνακες.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
1 Προγραμματισμός Ι Ενότητα 6 : Υποπρογράμματα III Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Προγραμματισμός Ι Ενότητα 7 : Πίνακες I Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Η Γλώσσα Pascal Εντολή If
Ενισχυτική διδασκαλία
ΠΑΡΑΜΕΤΡΟΙ ΥΠΟΠΡΟΓΡΑΜΜΑΤΩΝ Τυπικές Παράμετροι Πραγματικές Παράμετροι
Ενότητα 5 : Υποπρογράμματα II Αλέξανδρος Τζάλλας
Ενότητα 1 : Εισαγωγικά Στοιχεία της Pascal Αλέξανδρος Τζάλλας
Ενισχυτική διδασκαλία
Η Γλώσσα Pascal Υποπρογράμματα
Πρότυπα Προγραμματισμού
ΓΛΩΣΣΕΣ & ΕΡΓΑΛΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
Ενότητα 8 : Πίνακες IΙ Αλέξανδρος Τζάλλας
Κεφάλαιο 7 10/11/2018 Ξένιος Αντωνιάδης.
ΕΑΠ – ΠΛΗ24 2η ΟΣΣ.
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

Παράδειγμα σε Πρόγραμμα 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 Boolean Month Γενάρης Φλεβάρης Μάρτης Απρίλης Μάης Ιούνης Ιούλης Αύγουστος Σεπτέμβρης Οκτώβρης Νοέμβρης Δεκέμβρης Αποτέλεσμα:

Το ίδιο πρόγραμμα με Διαδικασία Program DisplayMonths; uses wincrt; CONST MaxMonth = 12; TYPE Month = 1..MaxMonth; VAR 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.

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

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

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

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

Δεδομένα Βαθμωτού Τύπου ορισμένα από τον Χρήστη Όμως δεν μπορούν να χρησιμοποιηθούν σε συνδυασμό με τις εντολές Read/Readln και Write/Writeln. Read(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; Παρουσίαση ημερών

Παράδειγμα σε Πρόγραμμα 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.

Υποπεριοχές δεδομένων βαθμωτού τύπου ορισμένα από τον χρήστη Παράδειγμα: 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 Προσοχή από λογικά λάθη:

Άσκηση 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);

Άσκηση 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.

Οι διαδικασίες DisplayMonth και DisplaySeason στην επόμενη σελίδα Άσκηση 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 στην επόμενη σελίδα

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