Η Pascal με παραδείγματα



Σχετικά έγγραφα
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Απαντήσεις στο μάθημα Δομημένος Προγραμματισμός ΕΠΑΛ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Προγραμματισμός Ι. Ασκήσεις. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Αποτελέσματα προόδου

Γ Τάξη ΕΠΑ.Λ. Κώστας Κωσταλίας Εκπαιδευτικός ΠΕ19

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

ΜΑΘΗΜΑ / ΤΑΞΗ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ / Γ'ΕΠΑΛ ΗΜΕΡΟΜΗΝΙΑ: ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι.ΜΙΧΑΛΕΑΚΟΣ-Α.ΚΑΤΡΑΚΗ-Χ.ΠΑΠΠΑ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

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

Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Σχολή Διοίκησης και Οικονομίας - ΑΤΕΙ Ηπείρου Προγραμματισμός Ι Η Γλώσσα Προγραμματισμού PASCAL

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009

Pascal. 15 Νοεμβρίου 2011

Pascal. 26 Οκτωβρίου 2011

ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ 15 ΚΕΦΑΛΑΙΟ 1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΟΙ ΠΡΑΓΜΑΤΙΚΟΙ ΜΕΤΑΒΛΗΤΕΣ ΛΟΓΙΚΟΥ ΤΥΠΟΥ ΑΛΦΑΡΙΘΜΗΤΙΚΑ...

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ιαφάνειες παρουσίασης #4

ιαφάνειες παρουσίασης #5

ιαφάνειες παρουσίασης #5

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

2.1 ΑΣΚΗΣΕΙΣ ΥΠΟΛΟΓΙΣΜΟΥ ΑΡΙΘΜΗΤΙΚΩΝ ΠΑΡΑΣΤΑΣΕΩΝ

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 10 : Αρχεία. Αλέξανδρος Τζάλλας

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων

ιαφάνειες παρουσίασης #2

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

- program p_name(input) - uses crt

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΛΥΣΕΙΣ

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

ΜΕΡΟΣ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ερώτηση βαθμολογείται με έξι μονάδες.

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

Α3. Να γράψετε τους αριθμούς 1, 2, 3, 4, 5 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε, στ από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Α2. Να γράψετε στο τετράδιό σας τους αριθμούς 1,2,3,4,5 από τη Στήλη Α και δίπλα το γράμμα α,β,γ,δ,ε,στ της Στήλης Β που δίνει τη σωστή αντιστοιχία.

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

Σημειώσεις για την Pascal

ιαφάνειες παρουσίασης #8

ΜΑΗΣ ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΔΟΚΙΜΙΟΥ. Ενότητα Α - ΛΥΣΕΙΣ

ιαφάνειες παρουσίασης #3

Pascal - Βασικές Έννοιες

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

Ενότητα 3: «Εισαγωγή στην Αλγοριθμική και στον Προγραμματισμό: loops, subroutines, tables»

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΑΣΚΗΣΕΙΣ Γ ΛΥΚΕΙΟΥ ΚΑΤΕΥΘΥΝΣΗΣ

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

Γ ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ ΕΠΑ.Λ ΜΑΘΗΜΑ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΦΩΝΗΣΕΙΣ

Προτεινόμενες λύσεις

ιαφάνειες παρουσίασης #4

Pascal. 1 Γλώσσες προγραμματισμού. 21 Οκτωβρίου 2011

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 3 : Εντολές Επανάληψης. Αλέξανδρος Τζάλλας

2009 :, :30 10: (10) . - (3) . . (10)

Εισαγωγή στο προγραμματισμό με τη PASCAL Οδηγός Προετοιμασίας για τη Τελική Εξέταση

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

Παράλληλη Επεξεργασία Κεφάλαιο 4 Επικοινωνία Διεργασιών

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

ιαφάνειες παρουσίασης #8

2/ (α) Να γράψετε τις αντίστοιχες εκφράσεις στη γλώσσα PASCAL για τις πιο κάτω µαθηµατικές εκφράσεις: (ι) z=

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ

Παράλληλη Επεξεργασία Κεφάλαιο 6 ο Σύγχρονος Παραλληλισμός

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Παράλληλη Επεξεργασία Κεφάλαιο 5 Μοίρασμα Δεδομένων

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Pascal Βασικοί τύποι δεδοµένων

Διδακτική της Πληροφορικής

Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός

Graphics.h Διασύνδεση με τη Βιβλιοθήκη Γραφικών

Εισαγωγή στον Προγραμματισμό

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Κων/νου Στυλιάδη Χρήστου Ιωάννου. Εφαρµογή Αποθήκης σε Pascal

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

ιαφάνειες παρουσίασης #6

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

Κεφάλαιο 13 : Τύποι Δεδοµένων

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Δομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών

Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος

Transcript:

ΗPascalμεπαραδείγματα GeorgeHadjikyriacou 2007 ghadjikyriacou@yahoo.com

Περιεχόμενα Μάθημα1 Εισαγωγή Μάθημα2 Μεταβλητές Μάθημα3 ΠροτάσειςΕλέγχου Μάθημα4 Βρόγχοι Μάθημα5 Πίνακες Μάθημα6 Διαδικασίες Συναρτήσεις Μάθημα7 ΣειριακάΑρχεία Μάθημα8 ΛίγοΧρώμα... Μάθημα9 Γραφικά(BGI) Μάθημα10 Γραφικά(BGI) Κίνηση Μάθημα11 Ήχος Παράρτημα ΛύσειςΑσκήσεων 2 3 8 13 19 25 29 34 39 44 53 58 61 65

Μάθημα1 Εισαγωγή 3

ΓιαναξεκινήσουμεναπρογραμματίζουμεστηνPascalτο πρώτοπράγμαπουχρειαζόμαστεναέχουμεένανcompiler τηςpascal.γιαταπαρακάτωπαραδείγματα χρησιμοποιήθηκεοcompilerbloodsheddev Pascalέκδοση1.9.2. Αςξεκινήσουμελοιπόν.. ΈναπρόγραμμαστηνPascalέχειτηνεξήςδομή. ProgramΟνομα_προγραμματος; Begin «πρόγραμμα» End. Πρόγραμμα1 Οσκοπόςτουπρώτουμαςπρογράμματοςείναινα παρουσιάσειστηνοθόνημαςτομήνυμα«helloworld!!!». Παρακάτωδίνετεηλίστα: ProgramLesson1_Program1; UsesCrt; Begin Clrscr; Write('HelloWorld!!!');{σχόλια} Readln; End. ΕπεξήγησηΠρογράμματος ProgramLesson1_Program1; Τοόνοματουπρογράμματοςστηνπερίπτωσημαςλέγετε Lesson1_Program1 4

Begin Αρχήτουπρογράμματος Clrscr; ΚαθαρισμόςτηςΟθόνης. Write('HelloWorld!!!'); Παρουσιάζειστηνοθόνητουμήνυμαπουβρίσκετεμέσα στα('.') Readln; ΤοReadlnεδώχρησιμοποιείτεγιανασταματήσειτο πρόγραμμακαιναπεριμένειτονχρήστηναπατήσειenter γιανατερματιστεί. End. Τέλοςτουπρογράμματος Παρατηρήσεις 1. Όλεςοιεντολέςτελειώνουνμετοελληνικό ερωτηματικό«;» 2. Ότιγράψουμεμέσαστιςαγκύλες{}θεωρούνεσχόλια καιδενεκτελούνταιαπότονcompiler. ΒήματαΥλοποίησης Βήμα1.ΑνοίγουμετοπρόγραμμαDev Pascal Βήμα2.ΑπότομενούFileεπιλεγούμεNewSourceFile Βήμα3.Πληκτρολογούμετοκώδικα 5

Βήμα4.Κάνουμεcompileτοπρόγραμμαπουμόλιςγράψαμε (αφούγίνειέλεγχοςγιατυχόνλάθη)απότομενούexecute Compile Βήμα5.Αφούπάνεόλακαλά(Totalerrors:0)τρέχουμετο πρόγραμμαμαςμεexecute Run.Στηνοθόνηπαρουσιάζετε: 6

Ορισμοί ΤέλοςΜαθήματος γλώσσαπρογραμματισμού.τεχνικήγλώσσασχεδιασμένηγιανα δημιουργείήναεκφράζειπρογράμματα. Compiler.Πρόγραμμαυπολογιστήπουχρησιμοποιείταιγιανα μεταγλωττίζει(απόγλώσσαπρογραμματισμούσεγλώσσαπου μπορείνακαταλάβειοηλεκτρονικόςυπολογιστής) 7

Μάθημα2 Μεταβλητές 8

Μεταβλητή(variable)στιςγλώσσεςπρογραμματισμού ονομάζουμεέναγλωσσικόαντικείμενοπουμπορείναλάβει διάφορεςτιμές,μίακάθεφορά.οιτιμέςμιαςμεταβλητής περιορίζονταισυνήθωςσεένατύποδεδομένων. ΒασικοίτύποιδεδομένωντηςPascal: 1. integer ακραίοι,παίρνουντιμέςαπό 32768μέχρι32767 2. LongInt ακραίοι,παίρνουντιμέςαπό 2^31μέχρι2^31 1 38 3. real πραγματικοί,παίρνουντιμέςαπό3.4x10 μέχρι 3.4x1038 4. char χαρακτήρες,όπωςγιαπαράδειγμα:'a','b', '+' 5. Boolean ΠαίρνειμόνοδυοτιμέςTrue/False 6. String Συμβολοσειρά(μέγιστουμεγέθους255 χαρακτήρων)όπωςγιαπαράδειγμα:«hello» Σταθερέςconstant ΣταθερέςείναιαντικείμεναταοποίαπαίρνουνμόνοΜΙΑ τιμή.καιτοποθετούνταιπάνωαπότιςμεταβλητές. Συντάσσονταιέτσι: Const Όνομα_σταθεράς=τιμή; Πρόγραμμα1 Οσκοπόςτουπρογράμματοςείναιναδιαβάσει(είσοδος) δυοακεραίουςαπότοπληκτρολόγιοκαινατυπώσει (έξοδος)τοαποτέλεσμα.παρακάτωδίνετεηλίστα: ProgramLesson2_Program1; 9

VarNum1,Num2,Sum:Integer; Begin Write('Inputnumber1:'); Readln(Num1); Write('Inputnumber2:'); Readln(Num2); Sum:=Num1+Num2; Writeln('Sum:',Sum); Readln; End. ΑκολουθήστεταβήματαυλοποίησηςτουΜαθήματος1 (σελίδα3)γιανατρέξετετοπρόγραμμα. ΕπεξήγησηΠρογράμματος VarNum1,Num2,Sum:Integer; ΔήλωσημεταβλητώναυτόγίνετεξεκινώνταςμετοVar (απότοvariable),δηλώνουμεταονόματατωνμεταβλητών πουθαχρησιμοποιήσουμε(num1,num2,sum)καιστοτέλος δηλώνουμετιτύπουείναιαυτέςοιμεταβλητές(:integer). Readln(Num1); ΜετηνReadln(όνομα_μεταβλητής)τοπρόγραμμαπεριμένει μέχριναδοθείτιμήστηνμεταβλητή. Sum:=Num1+Num2; ΕδώγίνετεεκχώρησητιμήςστηνμεταβλητήSumαφού κάνειτηνπράξημεταξύτηςnum1καιnum2(πρόσθεση). Writeln('Sum:',Sum); Τυπώνειτοαποτέλεσματηςπρόσθεσης,δηλαδήτηντιμή τηςμεταβλητήςsum. Παρατηρήσεις 10

3. ΗεντολήWriteτυπώνειστηνοθόνηκαιοκέρσορας δεναλλάζειγραμμή,ενώμετηνεντολήwriteln τυπώνειστηνοθόνηκαιμετάοκέρσοραςαλλάζει γραμμή. 4. Μετο:=κάνουμεεκχώρησητιμήςσεμεταβλητή μέσαστοπρόγραμμα. 5. Ισχύουνοιπράξεις:+(πρόσθεση), (αφαίρεση), *(πολλαπλασιασμός),/(διαίρεση),( )(παρενθέσεις) Πρόγραμμα2 Συμβολοσειρές ProgramLesson2_Program2; Varname:String; Begin Write('WhatisyourName?:'); Readln(name); Writeln('Hello,',name,'areyouOK?'); Readln; End. 11

Άσκηση ΝαγράψετεέναπρόγραμμασεPascalπουθαδιαβάζειτρεις ακεραίουςαριθμούςαπότοπληκτρολόγιοκαινατυπώνει τονμέσοόροτους. Αριθμός1+Αριθμός2+Αριθμός3 Μέσοςόρος= 3 12 ΤέλοςΜαθήματος

Μάθημα3 ΠροτάσειςΕλέγχου 13

HΠρότασηΕλέγχουIF THEN Συντάσσεταιέτσι: If«πρόταση»then Begin «εντολές» End; ΟσκοπόςτηςπρότασηςελέγχουIF THENείναιναελέγχει μιαέκφρασηανείναιαληθήςήψευδής.σεπερίπτωσηπου είναιαληθήςτότεεκτελούνταιοιεντολέςπουακολουθούν αλλιώτικαπαραλείπονταιάραδενεκτελούνται.για παράδειγμα: Ανημεταβλητήaείναιμεγαλύτερηαπό0τότετύπωσε στηνοθόνη«θετικός»ανείναιμικρότερηαπό0τότε τύπωσε«αρνητικός»καιανείναιίσημε0τότετύπωσε «Έδωσες0». Γιαναδούμετώραπωςμπορούμενατοπούμεαυτόστην Pascal. Πρόγραμμα3 ProgramLesson3_Program1; Vara:Integer; Begin Write('Dosearithmo:'); Readln(a); if(a>0)then Begin Write('Thetikos'); End; if(a<0)then Begin 14

Write('Arnitikos'); End; if(a=0)then Begin Write('Edoses0'); End; Readln; End. HΠρότασηΕλέγχουIF THEN ELSE Συντάσσεταιέτσι: If«πρόταση»then Begin «εντολές» End else Begin «εντολές» End; ΟσκοπόςπουβάζουμετοELSE(αλλιώτικα)σεμια πρότασηελέγχουif THENείναισεπερίπτωσηπουδεν ισχύουνοιifαλλάκάτιάλλο. Γιαπαράδειγμα: Ανημεταβλητήbείναιμεγαλύτερηηίσημε100τότε τύπωσε«οκ»αλλιώτικατύπωσε«error». Πρόγραμμα2 ProgramLesson3_Program2; Varb:Integer; Begin Write('Dosearithmo:'); Readln(b); if(b>=100)then 15

Begin Write('OK'); End else Begin Writeln('Error'); End; Readln; End. Σεπερίπτωσητώραπουέχουμεπάνωαπόμιασυνθήκεςνα ελέγξουμεχρησιμοποιούμετουςλογικούςτελεστέςand καιor.τοandτοχρησιμοποιούμεάμαισχύουνολεσοι προτάσειςενώτοorχρησιμοποιείτεανισχύειμιααπό τιςπροτάσεις. Γιαπαράδειγμα: Ανημεταβλητήcείναιμικρότερηαπό100KAI μεγαλύτερηαπό0τότετύπωσε«είσαιμέσασταόρια» αλλιώτικατύπωσε«είσαιεκτόςορίων». Πρόγραμμα3 ProgramLesson3_Program3; Varc:Integer; Begin Write('Dosearithmo:'); Readln(c); if(c>=0)and(c<=100)then Begin Write('Eisemesastaoria') End else Begin Write('Eiseektosoriwn'); End; Readln; End. 16

HΠρότασηΕλέγχουCASE ΠαίζειτονρόλοτωνπολλώνIF,απότιςοποίεςθα εκτελεστείμόνοημία. Πρόγραμμα4 ProgramLesson3_Program4; Varc:char; Begin Write('Dosea,borc:'); Readln(c); casecof 'a': Begin writeln('alpha'); End; 'b': Begin writeln('beta'); End; 'c': Begin writeln('gamma'); End; End; Readln; End. Παρατηρήσεις ΠροσέξτεσεποιαEndμπαίνει«;»σεποιοEndμπαίνει«.» καισεποιοendδενμπαίνειτίποτα. Ασκήσεις 17

1. ΝαγραφείπρόγραμμαστηPascalπουθαζητάδυο ακεραίουςαριθμούςκαινατυπώνειτονμεγαλύτερο. 2. ΝαγραφείπρόγραμμαστηPascalπουθαμετατρέπει ποσάαπόκυπριακήλύρασεευρώκαθώςκαιαπό ΕυρώσεΚυπριακήλύρα.Στηναρχήτου προγράμματοςναυπάρχειμενούόπουθαεπιλέγουμε τιμετατροπήθέλουμενακάνουμε. ΝαυλοποιηθείμεCase.Τομενούναείναιτηςμορφής: 1.EUR CYP 2.CYP EUR Select>_ 18 ΤέλοςΜαθήματος

Μάθημα4 Βρόγχοι 19

Ολόγοςπουχρησιμοποιούμεβρόγχουςείναιότανθέλουμε ναεπαναλάβουμεένακομμάτικώδικαπολλέςφορές.οι βρόγχοιπουθαεξετάσουμεείναιοι:for,while.doκαιο βρόγχοςrepeat.until. ΟΒρόγχοςFOR Συντάσσεταιέτσι: Forμεταβλητή:=αρχήtoτέλοςdo Begin «Κώδικαςγιαεπανάληψη»; End; Πρόγραμμα1 Τυπώνεικάθετατουςαριθμούςαπότο1ωςτο10. ProgramLesson4_Program1; varcount:integer; begin forcount:=1to10do begin writeln(count); end; Readln; End. Εδώέχουμετηνμεταβλητήcount(τύπουinteger) τηςόποιαςδίνουμεαρχικήτιμή1καιτελικήτιμή 10(άραοβρόγχοςμαςθαεκτελεστεί10φορές), αυτόπουγίνετεμέσαστονβρόγχοείναιοτι τυπώνετεητιμήπουπαίρνεικάθεφοράημεταβλητή countδηλαδή1,2,3,4,5,6,7,8,9,10. Πρόγραμμα2 Τυπώνεικάθετατουςαριθμούςαπότο10ωςτο1. 20

ProgramLesson4_Program2; varcount:integer; begin forcount:=10downto1do begin writeln(count); end; Readln; End. Κάνειτοίδιομετοπρόγραμμα1αλλάαυτήτην φοράομετρητήςcountμετράανάποδα(downto).άρα ημεταβλητήcountπαίρνειτιςτιμές: 10,9,8,7,6,5,4,3,2,1 ΟΒρόγχοςWhile. do Συντάσσεταιέτσι: while«συνθήκη»do Begin «Κώδικαςγιαεπανάληψη»; End; Πρόγραμμα3 Τυπώνεικάθετατουςαριθμούςαπότο0ωςτο9. ProgramLesson4_Program3; vara:integer; begin a:=0; whilea<10do begin writeln(a); a:=a+1; end; 21

Readln; End. Καταρχάςδίνουμεαρχικήτιμήστημεταβλητήa :=0;. Όσοτοaείναιμικρότεροτου10τυπώνειτοaκαι στησυνέχειαπροσθέτει1 Άρατοaθαπαίρνει τιςτιμές0,1,2,3,4,5,6,7,8,9. Στοa<10(δηλαδήτο9)θατερματιστείοβρόγχος γιατονλόγωότιδενθαισχύειησυνθήκηκαιστην συνέχειαθατερματιστείτοπρόγραμμα. 22

ΟΒρόγχοςRepeat Until Συντάσσεταιέτσι: Repeat «Κώδικαςγιαεπανάληψη»; Until«Συνθήκη»; Πρόγραμμα4 ProgramLesson4_Program4; vara:integer; begin a:=0; Repeat writeln(a); a:=a+1; Until(a>9); Readln; End. ΌπωςκαιστοΠρόγραμμα3δίνουμεαρχικήτιμήστη μεταβλητήa:=0;. Θαπροσθέτει1στοaμέχριτοaναπάρειτιμή μεγαλύτερητου9 Άρατοaθαπαίρνειτιςτιμές 0,1,2,3,4,5,6,7,8,9. Μόλιςτοaπάρειτηντιμή10(a>9)θα τερματιστείοβρόγχοςγιατονλόγωότιδενθα ισχύειησυνθήκηκαιστηνσυνέχειαθατερματιστεί τοπρόγραμμα. Προσοχή!Οιβρόγχοιμεσυνθήκηπρέπεινα περιλαμβάνουνκάτιπουνααλλάζειτηντιμήτης έκφρασης,ώστεαυτήναγίνειψευδήςκαιοβρόγχος ναλήξει,αλλιώςδενθατελειώσειποτε. 23

Άσκηση ΝαγραφείπρόγραμμαστηPascal(χρησιμοποιώντας βρόγχο)πουθαδιαβάζει10ακεραίουςαπότο πληκτρολόγιοκαινατυπώνειτοάθροισματους. ΤέλοςΜαθήματος 24

Μάθημα5 Πίνακες 25

Πίνακες Arrays Πίνακαονομάζουμεδιάταξηδεδομένωνμιαςή περισσοτέρωνδιαστάσεωνηοποίαείναισυγκεκριμένου τύπουδεδομένων. Γιαπαράδειγμαέχουμεέναπίνακαακραίων5θέσεωντον οποίοονομάζουμεmyarrayκαιτονδηλώνουμεέτσιστις μεταβλητέςμας: myarray:array[1..5]ofinteger;. myarray[1] 4 myarray[2] myarray[3] 7 1 myarray[4] 3 myarray[5] 6 Πρώτοστοιχειότουπίνακαmyarrayείναιοmyarray[1]που έχειτιμήτονακέραιο4καιτοτελευταίοστοιχείοείναιο myarray[5]πουέχειτιμήτονακέραιο6. Γιαναδώσουμετιμήσεέναστοιχειότουπίνακαmyarray γραφούμε: Π.χ Κατευθείαν myarray[2]:=7; ήμέσωπληκτρολογίου readln(myarray[2]); Γιαναπαρουσιάσουμεμιατιμήαπότονπίνακαmyarray γραφούμε: Π.χ write(myarray[3]); 26

Άμαείναιμεγάλοςοπίνακαςκαλόείναινα χρησιμοποιούμεβρόγχουςγιατηνπροσπέλασητου. Πρόγραμμα1 ΓέμισμακαιΠαρουσίασηστοιχείωντουπίνακαστην οθόνη. ProgramLesson5_Program1; var myarray:array[1..5]ofinteger; count1,count2:integer; begin forcount1:=1to5do begin readln(myarray[count1]); end; forcount2:=1to5do begin write(myarray[count2]); end; readln; end. Άσκηση 1. ΝαγραφείπρόγραμμαστηPascalπουθαγεμίζειέναν πίνακαακεραίωντονpin1οποιοςείναι10θέσεων, στηνσυνέχειαθααθροίζειταστοιχείακαιθα τυπώνειτοαποτέλεσμα. 2. ΝαγραφείπρόγραμμαστηPascalπουθαγεμίζειέναν πίνακαακεραίωντονpin2οποιοςείναι5θέσεων,και 27

στηνσυνέχειαθατυπώνειτουςαρνητικούςαριθμούς καθώςκαιτοπλήθοςτους(πόσοιείναι). 3. ΝαγραφείπρόγραμμαστηPascalπουθαγεμίζειέναν πίνακαακεραίωντονpin3οποιοςείναι5θέσεων, στηνσυνέχειαθαβρίσκειτομικρότεροστοιχείοκαι θατοτυπώνειστηνοθόνη. ΟιασκήσειςναυλοποιηθούνμεβρόγχουςFOR. ΤέλοςΜαθήματος 28

Μάθημα6 Διαδικασίες Συναρτήσεις 29

Διαδικασίες procedures Διαδικασίαονομάζετεμιαομάδαεντολώνμεήχωρίς παραμέτρους,ηεκτέλεσητηςοποίαςπροκαλείταιμέσω μιαςκλήσηςδιαδικασίας. Μαζίμετιςσυναρτήσεις(functions)μαςγλυτώνουναπότον επαναληπτικόπρογραμματισμό. Πρόγραμμα1 ProgramLesson6_Program1; proceduredia(aa,bb,cc,dd:integer); begin writeln('aa:',aa,'bb:',bb,'cc:',cc,'dd:',dd); end; begin dia(10,22,37,49); readln; end. Βήματαεκτέλεσης: 4. Γίνετεηκλήσητηςδιαδικασίαςdia(10,22,37,49);Με ορισματατουςακεραίους10,22,37,49. 5. Οιακέραιοι10,22,37,49περνούνσανορίσματαστην διαδικασίαdia(aa,bb,cc,dd:integer);στιςμεταβλητέςaa, bb,cc,dd 6. Γίνετεηπαρουσίασητωνμεταβλητώνστηνοθόνηκαι τερματίζετεηδιαδικασία. 7. Πατάμε[ENTER]γιανατερματιστείτοπρόγραμμα. Έναάλλοπαράδειγμα: Πρόγραμμα2 ProgramLesson6_Program2; 30

vara,b:integer; procedureprosthesi(aa,bb:integer); begin writeln('prosthesi:',aa+bb); end; procedureaferesi(aa,bb:integer); begin writeln('aferesi:',aa bb); end; begin Write('Doseton1oakereo:'); readln(a); Write('Doseton2oakereo:'); readln(b); prosthesi(a,b); aferesi(a,b); readln; end. Βήματαεκτέλεσης: 1. Τοπρόγραμμαμαςζητάδυοαριθμούςπου αποθηκεύονταιστιςμεταβλητέςaκαιb. 2. Στησυνέχειακαλείτεηδιαδικασίαprosthesi(a,b); όπουεκτυπώνειτηνπρόσθεσητωνδυομεταβλητών καιτερματίζετεηδιαδικασία. 3. Μετάκαλείτεηδιαδικασίαaferesi(a,b);όπου εκτυπώνειτηναφαίρεσητωνδυομεταβλητώνκαι τερματίζετεηδιαδικασία. 4. Πατάμε[ENTER]γιανατερματιστείτοπρόγραμμα. Συναρτήσεις functions 31

Δουλεύουνόπωςτιςδιαδικασίεςαλλάοισυναρτήσεις επιστρέφουνμιατιμήστοκυρίωςπρόγραμμαμέσωτου ονόματοςτης. Πρόγραμμα3 ProgramLesson6_Program3; vara,b,pro,afe:integer; functionprosthesi(aa,bb:integer):integer; begin prosthesi:=aa+bb; end; functionaferesi(aa,bb:integer):integer; begin aferesi:=aa bb; end; begin Write('Doseton1oakereo:'); readln(a); Write('Doseton2oakereo:'); readln(b); pro:=prosthesi(a,b); afe:=aferesi(a,b); writeln('prosthesh:',pro,'aferesh:',afe); readln; end. Βήματαεκτέλεσης: 1. Τοπρόγραμμαμαςζητάδυοαριθμούςπου αποθηκεύονταιστιςμεταβλητέςaκαιb. 2. Στησυνέχειακαλείτεησυνάρτησηprosthesi(a,b); όπουυπολογίζειτηνπρόσθεσητωνδυομεταβλητών τοαποτέλεσμαεπιστρέφεικαιγίνετεεκχώρησητιμής στημεταβλητήproτουκυρίωςπρογράμματος. 32

3. Μετάκαλείτεησυνάρτησηaferesi(a,b);όπου υπολογίζειτηναφαίρεσητωνδυομεταβλητώντο αποτέλεσμαεπιστρέφεικαιγίνετεεκχώρησητιμής στημεταβλητήafeτουκυρίωςπρογράμματος. 4. Γίνετεπαρουσίασητωναποτελεσμάτωνστηνοθόνη. 5. Πατάμε[ENTER]γιανατερματιστείτοπρόγραμμα. Ασκήσεις 1. ΤροποποιείστετοΠρόγραμμα1ούτωςώστεη διαδικασίαdia(10,22,37,49);ναεκτελεστεί10φορές(να κάνετεχρήσηβρόγχου). 2. Ναγραφείμιασυνάρτηση(function)στηPascalπουθα δέχεταισανορίσματαδυοακεραίουςκαινα επιστρέφειστοκυρίωςπρόγραμματονμικρότερο.το διάβασματωνδυοακεραίωνκαθώςκαιηκλήσητης συνάρτησηςναγίνετεστοκυρίωςπρόγραμμα. ΤέλοςΜαθήματος 33

Μάθημα7 ΣειριακάΑρχεία 34

Αρχείακειμένου Ηδυνατότητανααποθηκεύσειςσεένααρχείοδεδομέναή ναανοίξειςένααρχείοκειμένουκαιναδιαβάσειςτα περιεχόμενατουμπορείναμαςβοηθήσειπάραπολύστην ανάπτυξηπρογραμμάτων. Εδώθαασχοληθούμεμετηνεγράφηκαιτηνανάγνωση αρχείωνκειμένουήσειριακώναρχείων(sequentialfiles). Εγγραφήσεαρχείοκειμένου Πρόγραμμα1 ProgramLesson7_Program1; VarFName,Txt:String; UserFile:Text; Begin Write('Doseonomaarxeiou(px.C:\test.txt):'); readln(fname); Assign(UserFile,FName); Rewrite(UserFile); Writeln('Grapsetokimeno:'); Readln(Txt); Writeln(UserFile,Txt); Close(UserFile); End. ΕπεξήγησηΠρογράμματος UserFile:Text Δηλώνουμεότιτοαρχείοθαπεριέχεικείμενο(text). Assign(UserFile,FName); Αντιστοίχησητουαρχείου.Περνούνταορίσματατύπος αρχείουκαιόνομααρχείου(πλήρηςδιαδρομή).δηλαδήτο αρχείοfnameθαείναιτύπουuserfileδηλαδήκείμενο. 35

Rewrite(UserFile); ΆνοιγματουαρχείουFNameγιαεγγραφή(ανέχειήδη κείμενοτοαρχείοσβήνετεκαιγράφειτονέο). ΚάνονταςχρήσητουAppend(UserFile);προσθέτουμετο κείμενοστοτέλοςτουαρχείου(εφόσονυπάρχειτο αρχείο!!!)κρατώνταςτοπροηγούμενοκείμενο. Writeln(UserFile,Txt); Εγγραφήκειμένουστοαρχείο(όχιστηνοθόνη). Close(UserFile); ΚλείσιμοτουαρχείουFName(απαιτείτε). Ανάγνωσηαπόαρχείοκειμένου Πρόγραμμα2 ProgramLesson7_Program2; VarUserFile:Text; FileName,TFile:String; Begin Write('Doseonomaarxeiou(px.C:\test.txt):'); readln(filename); Assign(UserFile,FileName); Reset(UserFile); Repeat Readln(UserFile,TFile); Writeln(TFile); UntilEof(UserFile); Close(UserFile); Readln; End. ΕπεξήγησηΠρογράμματος 36

Reset(UserFile); ΆνοιγματουαρχείουFileNameγιαανάγνωση. Repeat Readln(UserFile,TFile); Writeln(TFile); UntilEof(UserFile); ΔιάβαζεαπότοαρχείοReadln(UserFile,TFile);Καινα παρουσιάζειςστηνοθόνηwriteln(tfile);μέχρινα φτάσειςστοτέλοςτουαρχείουuntileof(userfile);. (Eof Endoffile) Close(UserFile); ΚλείσιμοτουαρχείουFileName(απαιτείτε). Παρατηρήσεις Ηανάγνωσητουαρχείουγίνετεγραμμή γραμμήμέχριτο τέλοςτουeof. ΔιαγραφήΑρχείου(Προσοχή Κίνδυνος!!!) Πρόγραμμα3 ProgramLesson7_Program3; VarUFile:Text; FileName:String; Begin Write('Doseonomaarxeiou(px.C:\test.txt):'); readln(filename); Assign(UFile,FileName); 37

Erase(UFile); End. ΕπεξήγησηΠρογράμματος Erase(UFile); ΆνοιγματουαρχείουFileNameγιαδιαγραφή. Άσκηση Ναγράψετεμιαδιαδικασία(procedure)στηνpascalπουθα ζητάτιςπληροφορίες:όνομα,επίθετο,e mail,τηλέφωνοκαι νατιςαποθηκεύεισεαρχείοκειμένου(append).στη συνέχειαθαγίνεταιερώτησηανθέλουμενασυνεχίσουμε ναπροσθέτουμεδεδομέναστοαρχείο.ανηαπάντηση είναιθετικήθαξανακαλείταιηδιαδικασία,ενώανείναι αρνητικήθατερματίζεταιτοπρόγραμμα. Ταδεδομένανααποθηκεύονταιστοαρχείοστηνεξής μορφή: Onoma:Γιώργος Epitheto:Χ. e mail:ghadjikyriacou@yahoo.com Tilefono:99123456 ΤέλοςΜαθήματος 38

Μάθημα8 ΛίγοΧρώμα 39

Αςδώσουμελίγοχρώμα ΕδώπρέπειναχρησιμοποιήσουμεέναUnitστηPascalπου ενεργοποιείορισμένεςλειτουργίεςπουείναιυπεύθυνες γιατηνέξοδοπροςτηνοθόνη,τοcrt. Μπαίνειστηναρχήτουπρογράμματοςμαςκάτωαπότο Program Συντάσσετεέτσι: Usescrt; ΗεντολήTextcolor(int); Ηεντολήtextcolor(int);μαςδίνειτηνδυνατότητανα αλλάξουμετοχρώματωνγραμμάτωντουπρογράμματος μας. Συντάσσετεέτσι: textcolor(int); Όπουintδηλώνουμεένανακέραιοαπότο0ωςτο15που αντιστοιχείτοκάθεχρώμα. Ταχρήματα: 0 Black 1 DarkBlue 2 DarkGreen 3 DarkCyan 4 DarkRed 5 Purple 6 Brown 7 LightGrey 8 DarkGrey 9 LightBlue 10 LightGreen 11 Cyan 12 LightRed 13 Pink 40

14 Yellow 15 White Παράδειγμαηεντολήtextcolor(14);Κάνειταγράμματατου προγράμματοςκίτρινα! 41

Πρόγραμμα 1 programlesson8_program1; Usescrt; var i:integer; begin fori:=0to15do begin textcolor(i); delay(200); clrscr; writeln('helloworld!!!'); end; readln; end. ΕπεξήγησηΠρογράμματος delay(200); Δίνειχρονικήκαθυστέρηση200ms(1000ms=1sec) clrscr; Καθαρισμόςτηςοθόνης ΗεντολήtextBackground(int) Ηεντολήtextcolor(int);μαςδίνειτηνδυνατότητανα αλλάξουμετοχρώματουbackgroundτωνγραμμάτωντου προγράμματοςμας. Συντάσσετεέτσι: Background(int); 42

Όπουintδηλώνουμεένανακέραιοαπό0ως7που αντιστοιχείτοκάθεχρώμα. Ταχρώματα: 0 Black 1 DarkBlue 2 DarkGreen 3 DarkCyan 4 DarkRed 5 Purple 6 Brown 7 LightGrey Πρόγραμμα2 programlesson8_program2; Usescrt; var i:integer; begin fori:=0to7do begin textbackground(i); delay(100); writeln('helloworld!!!'); end; readln; end. ΤέλοςΜαθήματος 43

Μάθημα9 Γραφικά(BGI) 44

Γιαταπαρακάτωπαραδείγματαχρησιμοποιήθηκεο compilerτηςεταιρίαςborlandturbopascal7(γιαdos). ΤααρχικάBGIσημαίνουνBorlandGraphicsInterface. ΤαBGIγραφικάχρησιμοποιούνανάλυση640x480(pixels) Αρχικοποίησητωνγραφικών USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN InitGraph(GD,GM, '..\BGI'); { Πρόγραμμα } CloseGraph; END. ΕντολέςΣχεδιασμούστηνPascal Γραμμές Line(x,y,xx,yy); Κύκλοι Circle(x,y,size); Τετράγωνα Rectangle(x,y,xx,yy); Χρώματα SetColor(int); 45

SetBkColor(int); Γεμίσματα SetFillStyle(style,color); FloodFill(x,y,stop_color); Κειμενο Outtextxy(x,y,'TextHere'); Γραμμές Γιανακάνουμεμιαγραμμήχρησιμοποιούμετηνεντολή Line(x,y,xx,yy);.Όπουx,yείναιοι συντεταγμένες(σεpixel),τηςαρχήςτηςγραμμής ενώταxx,yyείναιοισυντεταγμένεςτουτέλους τηςγραμμής. Πρόγραμμα1 USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN InitGraph(GD,GM,'..\BGI'); line(0,0,100,100); readln; CloseGraph; END. Έξοδος: 46

Κύκλοι Γιανακάνουμεμιαγραμμήχρησιμοποιούμετηνεντολή Circle(x,y,size);.Όπουx,yείναιοι συντεταγμένες(σεpixel),τουκέντρουτουκύκλου ενώτοsizeείναιηακτίνατουκύκλου. Πρόγραμμα 2 USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN InitGraph(GD,GM,'..\BGI'); circle(100,100,50); readln; CloseGraph; END. Έξοδος : 47

Τετράγωνα Γιανακάνουμεένατεράγονοχρησιμοποιούμετηνεντολή Rectangle(x,y,xx,yy);.Όπουx,yείναιοι συντεταγμένες(σεpixel),τηςαρχήςτου τετραγώνου(πάνωαριστερά)ενώταxx,yyείναιοι συντεταγμένεςτουτέλουςτουτετραγώνου(κάτω δεξιά). Πρόγραμμα 3 USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN InitGraph(GD,GM,'..\BGI'); rectangle(50,50,100,100); readln; CloseGraph; END. Έξοδος: 48

Χρώματα Γιαναδώσουμεχρώμασεένασχήματότε χρησιμοποιούμετηνεντολήsetcolor(int);ενώγια ναδώσουμεχρώμαστοφόντοχρησιμοποιούμετην εντολήsetbkcolor(int);.όπουintοαριθμόςτου χρώματος(0 15)πουαναφέρουμεστοΜάθημα8. Πρόγραμμα4 USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN InitGraph(GD,GM,'..\BGI'); SetColor(14);{xromasxhmatoskitrino} SetBkColor(1);{xromafontoumple} rectangle(50,50,100,100); readln; CloseGraph; END. Έξοδος: 49

Γεμίσματα Γιαναγεμίσουμεένασχήμαμεχρώμα χρησιμοποιούμε2εντολές.μετηνεντολή SetFillStyle(style,color);Δηλώνουμεstyle γεμίσματος(1 10)καιχρώμαγεμίσματος(0 15 βλέπεμάθημα8),ενώμετηνεντολήfloodfill(x, y,stop_color);δίνουμετηνεντολήναγεμίζειαπό τοσημείοx,yμέχριναβρειτοχρώμαstop_color (0 15βλέπεμάθημα8). Πρόγραμμα5 USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN InitGraph(GD,GM,'..\BGI'); cleardevice; SetColor(4);{kokkino} Circle(100,100,50); SetFillStyle(1,3); FloodFill(101,101,4); readln; 50

CloseGraph; END. Έξοδος: Κάπωςέτσι : ) Κείμενο Γιαναγράψουμεκείμενομπορούμεναχρησιμοποιήσουμε τηνεντολήouttextxy(x,y,'texthere');οπουx,y είναιοισυντεταγμένεςπουθαεμφανιστείτο κείμενο. Πρόγραμμα6 USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN InitGraph(GD,GM,'..\BGI'); outtextxy(50,50,'george'); readln; CloseGraph; END. 51

Έξοδος: Άσκηση ΝαγράψετεέναπρόγραμμασεPascalπουνασχεδιάζειένα σπίτι(μεπόρτακαιπαράθυρα).όπωςτοσχήμα(περίπου): Γιαδικήσαςευκολίακαλόείναινα κάνετεχρήσητετραγωνισμένου χαρτιούγιατονυπολογισμότων σημείων. ΤέλοςΜαθήματος 52

Μάθημα10 Γραφικά(BGI) Κίνηση 53

Αςδώσουμελίγηκίνησητώρασταγραφικάμας. Πρόγραμμα1 Μπροστά PROGRAMLesson9_Program1; USESCRT,GRAPH; VAR GD,GM,i:INTEGER; BEGIN write('press[enter]tostart...'); readln; InitGraph(GD,GM,'..\BGI'); fori:=10to350do begin cleardevice; outtextxy(i,240,' =TEST'); delay(1000); end; outtextxy(0,0,'press[enter]toexit...'); readln; CloseGraph; END. Επεξήγησητουπρογράμματος cleardevice; Κάνεικαθαρισμότηςοθόνηςαπόταγραφικά. 54

Πρόγραμμα2 Καιπίσω PROGRAMLesson9_Program2; USESCRT,GRAPH; VAR GD,GM,i:INTEGER; BEGIN write('press[enter]tostart...'); readln; InitGraph(GD,GM,'..\BGI'); fori:=10to350do begin cleardevice; outtextxy(i,240,' =TEST'); delay(1000); end; fori:=350downto10do begin cleardevice; outtextxy(i,240,'test= '); delay(1000); end; outtextxy(0,0,'press[enter]toexit...'); readln; CloseGraph; END. 55

Πρόγραμμα3 ΈναScreensaver PROGRAMLesson9_Program3; USESCRT,GRAPH; VAR GD,GM,i:INTEGER; BEGIN Randomize; write('press[enter]tostart...'); readln; InitGraph(GD,GM,'..\BGI'); fori:=0to500do begin setcolor(random(15)); line(random(640),random(480),random(640),rando m(480)); delay(5000); end; cleardevice; setcolor(15); outtextxy(0,0,'press[enter]toexit...'); readln; CloseGraph; END. Επεξήγησητουπρογράμματος Randomize; 56

Αρχικοποίησητηςσυνάρτησηςπαραγωγήςτυχαίων αριθμών. random(int); Συνάρτησηπουπαράγειτυχαίουςαριθμούςαπό1ωςint. Άσκηση ΝαγράψετεέναπρόγραμμαστηνPascal(τύπουscreensaver) πουναεμφανίζεισετυχαίασημεία,τυχαίουμεγέθους κύκλους. ΤέλοςΜαθήματος 57

Μάθημα11 Ήχος 58

Γιαταπαρακάτωπαραδείγματαχρησιμοποιήθηκεο compilerτηςεταιρίαςborlandturbopascal7(γιαdos). ΓιαναβάλουμεήχοσεέναπρόγραμματηςPascal χρησιμοποιούμετηνσυνάρτησηsound(int),όπουint βάζουμετηνσυχνότητατουήχουσεhz(hertz). Πρόγραμμα1 ΟιΝότες programlesson11_program; USESCRT; {dilonoumetissixnotitessestatheres} const C=262; D=294; E=330; F=349; G=392; A=440; B=494; H=524; {dilonoumestatheratindiarkiasemillisecond} MS=20000; begin Sound(C); Delay(MS); NoSound; Sound(D); Delay(MS); NoSound; Sound(E); Delay(MS); NoSound; 59

Sound(F); Delay(MS); NoSound; Sound(G); Delay(MS); NoSound; Sound(A); Delay(MS); NoSound; Sound(B); Delay(MS); NoSound; Sound(H); Delay(MS); NoSound; end. ΤέλοςΜαθήματος 60

Παράρτημα 61

ΒασικέςΜαθηματικέςΠράξεις Πρόσθεση Αφαίρεση Πολλαπλασιασμός Διαίρεση Ακέραιαδιαίρεση Υπόλοιποδιαίρεσης x:=y+z; x:=y z; x:=y*z; x:=y/z; x:=ydivz; x:=ymodz; ΜαθηματικέςΣυναρτήσεις Τετράγωνο ΤετραγωνικήΡίζα Ημίτονο Συνημίτονο Συνεφαπτομένη 62 SQR(RealVariable) SQRT(RealVariable) SIN(Realvariable) COS(Realvariable) ARCTAN(Realvariable)

ΠίνακαςASCII 63

64

ΛύσειςΑσκήσεων 65

Μάθημα2 ProgramMathima2_Askisi1; Varnum1,num2,num3,sum:integer; Varmesos:real; Begin write('inputnumber1:'); readln(num1); write('inputnumber2:'); readln(num2); write('inputnumber3:'); readln(num3); mesos:=(num1+num2+num3)/3; writeln('mesosoros:',mesos); readln; End. Μάθημα3 ProgramMathima3_Askisi1; vara,b:integer; Begin write('dose1ari8mo:'); readln(a); write('dose2ari8mo:'); readln(b); If(a>b)then begin write(a); end; if(a=b)then begin write('isoi!'); end else begin write(b); end; readln; end. ProgramMathima3_Askisi2; Varsel:integer; Vara,met:real; Begin 66

Writeln('1.EUR CYP'); Writeln('2.CYP EUR'); Write('Select>'); Readln(sel); caseselof 1: Begin write('doseeur:'); readln(a); met:=a*0.58; writeln('cyp:',met) End; 2: Begin writeln('dosecyp:'); readln(a); met:=a*1.74; writeln('eur:',met); End; End; Readln; End. Μάθημα4 ProgramMathima4_Askisi1; varcount:integer; vara,sum:integer; Begin count:=1; sum:=0; whilecount<=10do begin readln(a); sum:=sum+a; count:=count+1; end; writeln('sum:',sum); readln; end. Μάθημα5 ProgramMathima5_Askisi1; varpin1:array[1..10]ofinteger; 67

varcount1,count2,sum:integer; begin forcount1:=1to10do begin readln(pin1[count1]); end; forcount2:=1to10do begin sum:=sum+pin1[count2]; end; writeln('sum:',sum); readln; end. ProgramMathima5_Askisi2; varpin2:array[1..5]ofinteger; varcount1,count2,count3:integer; begin forcount1:=1to5do begin readln(pin2[count1]); end; forcount2:=1to5do begin ifpin2[count2]<0then Begin Writeln(pin2[count2]); count3:=count3+1; End; end; writeln('oiarnitikoieinai:',count3); readln; end. ProgramMathima5_Askisi3; varpin3:array[1..5]ofinteger; varcount1,count2,min:integer; begin forcount1:=1to5do 68

begin readln(pin3[count1]); end; min:=pin3[1]; forcount2:=2to5do begin ifpin3[count2]<minthen Begin min:=pin3[count2]; End; end; writeln('omikroteroseinai:',min); readln; end. Μάθημα6 ProgramLesson6_Askisi1; varcount:integer; proceduredia(aa,bb,cc,dd:integer); begin writeln('aa:',aa,'bb:',bb,'cc:',cc,'dd:',dd); end; begin Forcount:=1to10do Begin dia(10,22,37,49); end; readln; end. ProgramLesson6_Askisi2; vara,b,mik:integer; functionmikroteros(aa,bb:integer):integer; begin if(aa<bb)then begin mikroteros:=aa; end; if(aa>bb)then 69

begin mikroteros:=bb; end; if(aa=bb)then begin mikroteros:=bb; end; end; begin Write('Doseton1oakereo:'); readln(a); Write('Doseton2oakereo:'); readln(b); mik:=mikroteros(a,b); writeln('mikroteros:',mik); readln; end. Μάθημα7 ProgramLesson7_Askisi; UsesCrt; procedureinsert(); Var UserFile:Text; name,surname,mail,phone:string; yn:char; begin Assign(UserFile,'C:\Phonebook.txt'); {ToarxeioC:\Phonebook.txtprepeinayparxei gianamporeseinagineiappend!!!} Append(UserFile); Write('Onoma:'); Readln(name); Write('Epitheto:'); Readln(surname); Write('E Mail:'); 70

Readln(mail); Write('Tilefono:'); Readln(phone); Writeln(UserFile,'Onoma:'+name); Writeln(UserFile,'Epitheto:'+surname); Writeln(UserFile,'E Mail:'+mail); Writeln(UserFile,'Tilefono:'+phone); Writeln(UserFile,' '); Close(UserFile); Write('Theletenasinexisete(y/n):'); Readln(yn); if(yn='y')then begin clrscr;{katharismostisothonis} insert(); end else begin Write('ByeBye...'); exit;{exodosapotoprogramma} end; end; begin insert(); readln; end. Μάθημα9 PROGRAMBGI_HOUSE; USESCRT,GRAPH; VAR GD,GM:INTEGER; BEGIN 71

InitGraph(GD,GM,'..\BGI'); setcolor(9); line(300,0,200,200); line(300,0,400,200); rectangle(200,200,400,400); setcolor(3); rectangle(220,220,270,270); rectangle(330,220,380,270); setcolor(3); rectangle(270,320,330,400); setcolor(14); outtextxy(170,420,'bgihousebygeorge HADJIKYRIACOU'); setcolor(7); outtextxy(220,440,'press[enter]toexit'); readln; CloseGraph; END. Μάθημα10 PROGRAMLesson10_Program; USESCRT,GRAPH; VAR GD,GM,i:INTEGER; BEGIN write('press[enter]tostart...'); readln; InitGraph(GD,GM,'..\BGI'); fori:=50to500do begin circle(random(640),random(480),random(100)); delay(5000); end; cleardevice; setcolor(15); outtextxy(0,0,'press[enter]toexit...'); readln; CloseGraph; 72

END. 73