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

Σχετικά έγγραφα
ιαφάνειες παρουσίασης #8

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

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

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

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

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

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

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

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

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

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

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

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

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

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

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

Επεξεργασία κειμένου και συμβολοσειρών σε C

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

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

Μονοδιάστατοι Πίνακες

Δομές δεδομένων ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κανονική εξέταση, Φεβρουάριος 2005

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Μεταγλωττιστές Βελτιστοποίηση

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

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

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

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

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

Προχωρημένες έννοιες προγραμματισμού σε C

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

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

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

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013

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

Εργαστήριο 4_1 Λεκτική Ανάλυση - Flex Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

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

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

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

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

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

Κεφάλαιο 7: Υπορουτίνες

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ: ΔΙΑΧΕΙΡΙΣΗ ΚΑΤΑΛΟΓΟΥ ΑΡΧΕΙΩΝ ΕΝΟΣ DIRECTORY. Μέρος Α`

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

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

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

procedure Calculate (a: real; var Β: real; m: integer; var k,n: integer; var c: integer); begin... end;

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

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

ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

Μεταγλωττιστές Βελτιστοποίηση

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

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή DRAFT. Διαφάνειες παρουσιάσεων 05/10/05. Σκοπός του μαθήματος

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

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

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

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

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

Σκοπός. Εργαστήριο 5 Εντολές Επιλογής

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 7: ΑΝΑΔΡΟΜΗ

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

Δομές Διακλάδωσης. Κεφάλαιο 6 Trimos Mike


ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Ενότητα 1 Διάλεξη 3. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

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

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

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

Παρουσίαση Delphi. Μέμος-Μπαγκράτσας Ιωάννης 1232 Μαργαρίτης Νικόλαος 1226

Είσοδος -Έξοδος. Άνοιγµα αρχείου:

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #9!Εγγραφές!Σύνολα!Αρχεία Νίκος Παπασπύρου Εισαγωγή στον Προγραµµατισµό 1

Εγγραφές (i)! Εγγραφή (record): δοµηµένη µεταβλητή που αποτελείται από πλήθος επιµέρους µεταβλητών πιθανώς διαφορετικών τύπων! Οι επιµέρους µεταβλητές λέγονται πεδία και φέρουν ξεχωριστά ονόµατα! Σύνταξη 2

Εγγραφές (ii) 3

Εγγραφές (iii)! Παράδειγµα type StudentRecord = record firstname : array [1..20] of char; lastname : array [1..30] of char; class : 1..6; room : 1..3; grade : array [1..15] of 0..20 end; var student : StudentRecord... student.class := 3; writeln(student.firstname[1]) 4

Εγγραφές (iv)! Παράδειγµα function avg(s : StudentRecord) : real; var sum, i : integer; begin sum := 0; for i := 1 to 15 do sum := sum + s.grade[i]; avg := sum / 15.0 end 5

Εγγραφές µέσα σε εγγραφές (v) type DateRecord = record day : 1..31; month : 1..12; year : 1970..2100 end; type StudentRecord = record... birthdate : DateRecord;... end;... writeln(student.birthdate.day:0, '/', student.birthdate.month:0, '/', student.birthdate.year:0) 6

Μιγαδικοί αριθµοί type complex = record re, im : real end; function cmult(x,y:complex) : complex; begin cmult.re := x.re * y.re - x.im * y.im; cmult.im := x.re * y.im + x.im * y.re end function cnorm(c : complex) : real; begin cnorm := sqrt(c.re * c.re + c.im * c.im) end 7

Εντολή with (i)! Οικονοµία στην προσπέλαση των πεδίων εγγραφών! Σύνταξη 8

Εντολή with (ii)! Παράδειγµα function avg(s : StudentRecord) : real; var sum, i : integer; begin sum := 0; for i := 1 to 15 do with s do sum := sum + grade[i]; avg := sum / 15.0 end 9

Εγγραφές µε παραλλαγές! Το πεδίο επισήµανσης καθορίζει ποια πεδία θα υπάρχουν σε µια εγγραφή! Παράδειγµα type MaritalStatus = (single, married, divorced); type EmployeeRecord = record name : array [1..50] of char; case status : MaritalStatus of single : (); married, divorced : (children : integer) end 10

Σύνολα (i)! Τα στοιχεία τους πρέπει να ανήκουν σε ένα σχετικά µικρό τακτικό τύπο! Παράδειγµα type characters = set of char; languages = set of (english, french, german, russian, greek, turkish); numbers = set of 1..100; var x, y, z : languages;... x := []; y := [english]; z := [french, english, german]; 11

Σύνολα (ii)! Πράξεις µε σύνολα " έλεγχος µέλους συνόλου in " ένωση + " τοµή * " διαφορά - " ισότητα και ανισότητα = <> " σχέσεις υποσυνόλων < > <= >= 12

Αρχεία (i)! Αρχείο (file): δοµηµένη µεταβλητή που αποτελείται από " µεταβλητό πλήθος στοιχείων " του ίδιου τύπου " αποθηκευµένα το ένα µετά το άλλο " συνήθως στην περιφερειακή µνήµη (π.χ. στο δίσκο)! Παράδειγµα program students(input, output, f); var f : file of StudentRecord 13

Αρχεία (ii)! Αποθηκευτική µεταβλητή (buffer) f^ το τρέχον στοιχείο του αρχείου " σε περίπτωση αρχείου εισόδου το στοιχείο που µόλις διαβάστηκε " σε περίπτωση αρχείου εξόδου το στοιχείο που πρόκειται να γραφεί! Άνοιγµα και κλείσιµο αρχείων reset(f) rewrite(f) close(f) 14

Αρχεία (iii)! Λειτουργίες εισόδου και εξόδου get(f) put(f)! ιάβασµα και γράψιµο read(f,x) begin x := f^; get(f) end write(f,x) begin f^ := x; put(f) end! Έλεγχος τέλους αρχείου eof(f) 15

Αρχεία (iv)! Παράδειγµα program filesqrt(input, output, f, g); var f, g : file of real; x : real; begin reset(f); rewrite(g); while not eof(f) do begin read(f, x); write(g, sqrt(x)) end; close(f); close(g) end. 16

Αρχεία (v)! Παράδειγµα program phonedir(input, output, f); type StudentRecord = record firstname : array [1..20] of char; lastname : array [1..30] of char; birthdate : record day : 1..31; month : 1..12; year : 1970..2100 end end var f : file of StudentRecord; 17

Αρχεία (vi)! Παράδειγµα (συνέχεια) begin reset(f); while not eof(f) do begin with f^.birthdate do write(day : 0, '/', month : 0, '/', year : 0); get(f) end; close(f) end. 18

Αρχεία κειµένου (i)! Τύπος text ισοδυναµεί µε file of char! Στο τέλος κάθε γραµµής υπάρχει ένας ειδικός χαρακτήρας τέλους γραµµής " αν διαβαστεί, αντικαθίσταται από κενό ' '! Έλεγχοι τέλους γραµµής και τέλους αρχείου eoln(f) eof(f)! Για είσοδο και έξοδο, µπορούν να χρησιµοποιηθούν οι παρακάτω διαδικασίες write(f) read(f) writeln(f) readln(f) 19

Αρχεία κειµένου (ii)! Παράδειγµα: µέτρηση αριθµού γραµµών και χαρακτήρων program linecount(input, output, f); var f : text; lines, characters : integer; ch : char; begin lines := 0; characters := 0; reset(f); while not eof(f) do if eoln(f) then begin readln(f); lines := lines + 1 end 20