ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου

Slides:



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

Προγραμματισμός PASCAL
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ
Προγραμματισμός PASCAL
Πίνακες.
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 4: Δείκτες, συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Διαφάνειες παρουσίασης #5
Προγραμματισμός PASCAL
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Δομές Διακλάδωσης.
Παράδειγμα 5: Θερμοκρασίες
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος ε
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος δ
Γενική μορφή προγράμματος Pascal
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Ολυμπιάδα Πληροφορικής
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ
Προγραμματισμός PASCAL
Διαφάνειες παρουσίασης #3
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Επανάληψη.
Διαφάνειες παρουσίασης #2
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Διαφάνειες παρουσίασης Ορθότητα (συνέχεια) Τακτικοί τύποι και τύποι υποπεριοχής Πίνακες.
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
1 Προγραμματισμός Ι Ενότητα 7 : Πίνακες I Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Η Γλώσσα Pascal Εντολή If
Εφαρμογές Υπολογιστών
Ενισχυτική διδασκαλία
Εφαρμογές Υπολογιστών
Η Γλώσσα Pascal Υποπρογράμματα
Κεφάλαιο 7 10/11/2018 Ξένιος Αντωνιάδης.
Μεταγράφημα παρουσίασης:

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΕισαγωγή στον Προγραμματισμό Διαφάνειες παρουσίασης #9 Εγγραφές Σύνολα Αρχεία

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

3Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εγγραφές(ii)

4Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εγγραφές(iii) u Παράδειγμα 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 end; var student : StudentRecord... student.class := 3; writeln(student.firstName[1])

5Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εγγραφές(iv) u Παράδειγμα 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

6Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εγγραφές μέσα σε εγγραφές(v) type DateRecord = record day : 1..31; month : 1..12; year : end; type StudentRecord = record... birthDate : DateRecord;... end;... writeln(student.birthDate.day:0, '/', student.birthDate.month:0, '/', student.birthDate.year:0)

7Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Μιγαδικοί αριθμοί 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

8Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή with(i) u Οικονομία στην προσπέλαση των πεδίων εγγραφών u Σύνταξη

9Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εντολή with(ii) u Παράδειγμα 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

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

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

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

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

14Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Αρχεία(ii) u Αποθηκευτική μεταβλητή (buffer) f^ το τρέχον στοιχείο του αρχείου l σε περίπτωση αρχείου εισόδου το στοιχείο που μόλις διαβάστηκε l σε περίπτωση αρχείου εξόδου το στοιχείο που πρόκειται να γραφεί u Άνοιγμα και κλείσιμο αρχείων reset(f) rewrite(f) close(f)

15Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Αρχεία(iii) u Λειτουργίες εισόδου και εξόδου get(f) put(f) u Διάβασμα και γράψιμο read(f,x)  begin x := f^; get(f) end write(f,x)  begin f^ := x; put(f) end u Έλεγχος τέλους αρχείου eof(f)

16Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Αρχεία(iv) u Παράδειγμα 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.

17Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Αρχεία(v) u Παράδειγμα 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 : end var f : file of StudentRecord;

18Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Αρχεία(vi) u Παράδειγμα (συνέχεια) 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.

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

20Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Αρχεία κειμένου(ii) u Παράδειγμα: μέτρηση αριθμού γραμμών και χαρακτήρων 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