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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τέλος Ενότητας.
Advertisements

Έλεγχος Ροής με την Εντολή Επανάληψης FOR 1/9
1 Μικροοικονομική Ενότητα 9 : Παραγωγική διαδικασία Καραμάνης Κωνσταντίνος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Αρχιτεκτονική υπολογιστών Ενότητα 12 : Δομή και Λειτουργία της CPU 2/2 Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Προγραμματισμός Ι Ενότητα 6 : Υποπρογράμματα III Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Χρηματοοικονομική των Επιχειρήσεων, Ενότητα : Βέλτιστη Κεφαλαιακή Δομή, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ, ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά Ακαδημαϊκά Μαθήματα.
1 Αρχές Μάρκετινγκ Δημιουργία και Δέσμευση Αξίας Πελατών Στάδιο 3 ο Προετοιμασία ενός σχεδίου και προγράμματος ολοκληρωμένου Μάρκετινγκ Τριάρχη Ειρήνη.
1 Διεθνή Λογιστικά Πρότυπα Διανομή – Διακοπείσες Δραστηριότητες Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Αντικειμενοστραφής Προγραμματισμός Ενότητα 12 : Επαναληπτικές Ασκήσεις (3/3) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Διεθνή Λογιστικά Πρότυπα Κατασκευαστικά Έργα Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Διεθνή Λογιστικά Πρότυπα Leasing Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Ακοολογία Ενότητα 13 : Κοχλιακά εμφυτεύματα Ναυσικά Ζιάβρα Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Ενοποιημένες Χρηματοοικονομικές Καταστάσεις Δομή ομίλου Εταιρειών και προσδιορισμός του ποσοστού συμμετοχής Δρ. Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό.
1 Μηχανογραφημένη Λογιστική ΙI Διαφύλαξη Λογιστικών Αρχείων (Άρθρο 7) Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΣΤΙΚΗ ΕΝΟΤΗΤΑ :Ισοζύγιο Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Εισαγωγή στη λογιστική, Ενότητα : Ημερολογιακές εγγραφές, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου.
1 Αντικειμενοστραφής Προγραμματισμός Ενότητα 12 : Επαναληπτικές Ασκήσεις (2/3) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Διεθνή Λογιστικά Πρότυπα Παραδείγματα της λογιστικής του Leasing σύμφωνα με το ελληνικό θεσμικό πλαίσιο και τα ΔΛΠ Χύτης Ευάγγελος Ελληνική Δημοκρατία.
1 Φωνολογική Ανάπτυξη και Διαταραχές Ενότητα 4 : Στάδια παραγωγής φωνημάτων Ζακοπούλου Βικτωρία Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Προγραμματισμός Ι Ενότητα 7 : Πίνακες I Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Ενοποιημένες Χρηματοοικονομικές Καταστάσεις Λογιστικές Διαδικασίες για την κατάρτιση ΕΟΚ Δρ. Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό.
1 Οικονοµική Εργασίας και Εργασιακές Σχέσεις Εργατικά Σωματεία Καραµάνης Κώστας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Οικονοµική Εργασίας και Εργασιακές Σχέσεις Εργατικά Σωματεία Καραµάνης Κώστας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΣΤΙΚΗ ΕΝΟΤΗΤΑ :Λογιστική ισότητα και ισολογισμός Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Τμήμα Τεχνολόγων Γεωπόνων Τίτλος Μαθήματος: ΚΑΛΛΩΠΙΣΤΙΚΑ ΔΕΝΤΡΑ ΚΑΙ ΘΑΜΝΟΙ Ενότητα 12: Οδηγίες δημιουργίας φυτολογίου Γρηγόριος Βάρρας Αν. Καθηγητής Άρτα,
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ενότητα 12 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙI) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Εισαγωγή στη λογιστική, Ενότητα :Προσδιοριστικοί παράγοντες του λογιστικού αποτελέσματος, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ, ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά.
Εισαγωγή στη λογιστική, Ενότητα :Μεταβολές της οικονομικής κατάστασης, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ, ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά Ακαδημαϊκά Μαθήματα.
Προγραμματισμός κινητών συσκευών
Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I) Ιωάννης Τσούλος
Συστήματα Τηλεκπαίδευσης
Προγραμματισμός κινητών συσκευών
Προγραμματισμός Διαδικτύου
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Προγραμματισμός κινητών συσκευών
Επικοινωνιακός Προγραμματισμός Ι
Λειτουργικά Συστήματα
Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι
Προγραμματισμός Διαδικτύου
Ενότητα 5 : Υποπρογράμματα II Αλέξανδρος Τζάλλας
Λειτουργικά Συστήματα
Προγραμματισμός Διαδικτύου
Ενότητα 9 : Κανονικές Εκφράσεις Αλέξανδρος Τζάλλας
Αντικειμενοστραφής Προγραμματισμός
Διεθνή Λογιστικά Πρότυπα
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διεθνή Λογιστικά Πρότυπα
Ενότητα 1 : Τονική ακοομετρία - Είδη βαρηκοΐας Ναυσικά Ζιάβρα
Ενότητα 10 : Συχνές ακοολογικές παθήσεις (Μέρος Α’) Ναυσικά Ζιάβρα
Ενότητα 13 Αξιολόγηση μαθήματος και διδάσκοντος από την εφαρμογή της Μονάδας Ολικής Ποιότητας (ΜΟΔΙΠ) του ΤΕΙ Αθήνας Αξιολόγηση του μαθήματος Αξιολόγηση.
Ενότητα 10 : Κατασκευή ΝΠΑ Αλέξανδρος Τζάλλας
Ενότητα 4 : Τελεστές της γλώσσας PHP Ιωάννης Τσούλος
Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II) Ιωάννης Τσούλος
Προγραμματισμός κινητών συσκευών
Επικοινωνιακός Προγραμματισμός Ι
Διεθνή Λογιστικά Πρότυπα
Εισαγωγή στις εικαστικές τέχνες
Προγραμματισμός κινητών συσκευών
Διεθνή Λογιστικά Πρότυπα
Γεωργική Χημεία Ενότητα 1 : Γενικές αρχές χημείας, άτομα και μόρια
Γεωργική Χημεία Ενότητα 6: Οξέα, βάσεις, pH, γινόμενο διαλυτότητας
Ειδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων -E
ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΣΤΙΚΗ
Προγραμματισμός Διαδικτύου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός κινητών συσκευών
Ενότητα 8 : Πίνακες IΙ Αλέξανδρος Τζάλλας
Ενότητα 1: ……………….. Όνομα Επώνυμο Τμήμα __
Ενότητα 4 : Υποπρογράμματα I Αλέξανδρος Τζάλλας
Επικοινωνιακός Προγραμματισμός Ι
Μεταγράφημα παρουσίασης:

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

2 Τμήμα Μηχανικών Πληροφορικής Τ.Ε Προγραμματισμός Ι Ενότητα 9 : Εγγραφές, Σύνολα Αλέξανδρος Τζάλλας Λέκτορας Άρτα, 2015 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

3 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 3

4 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Χρηματοδότηση Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Ηπείρου» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

5 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Σκοποί ενότητας Να γίνει σαφής η αναγκαιότητα ορισμού των εγγραφών και συνόλων. Να περιγραφεί ο τρόπος ορισμού μια εγγραφής/συνόλου. Να αναλυθεί ο σκοπός/χρησιμότητα των εγγραφών και συνόλων στην pascal. 5

6 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Περιεχόμενα ενότητας Εγγραφές – Records Σύνολα Ορισμός Τύπων Συνόλων Εκχώρηση Στοιχείων Συνόλων σε Μεταβλητές 6

7 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 7 Η εγγραφή (record) είναι ένα σύνολο στοιχείων, τα οποία δεν είναι (υποχρεωτικά) του ίδιου τύπου μεταξύ τους. Τα στοιχεία του record λέγονται πεδία (fields). Η δήλωση ενός record είναι η ακόλουθη: TYPE = RECORD : ;... : ; END;

8 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 8 Παράδειγμα 1 Ας υποθέσουμε ότι θέλουμε να επεξεργαστούμε τα στοιχεία των σπουδαστών του Τμήματος Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών. Τα στοιχεία που θέλουμε να έχουμε είναι: Επώνυμο, Όνομα, Αριθμός Μητρώου, Χρονολογία Γέννησης, Φύλο και Βαθμολογία ενός Μαθήματος. SURNAMENAMEAMBIRTHDAYSEXGRADE ΣΩΤΗΡΙΟΥΓΕΩΡΓΙΟΣ ΑΓΟΡΙ7,5 ΓΕΩΡΓΙΟΥΜΑΡΙΑ ΚΟΡΙΤΣΙ8,2 ΣΤΑΜΑΤΙΟΥΝΙΚΟΛΑΟΣ ΑΓΟΡΙ6,7

9 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 9 Στη παραπάνω δήλωση τύπου (type) ορίζουμε τον τύπο STUDENT με στοιχεία: Το επώνυμο(SUR) και το όνομα (NAME) του σπουδαστή ως συμβολοσειρές μήκους 20 χαρακτήρων, τον αριθμό μητρώου (ΑΜ) και την χρονολογία γέννησης (BIRTH) ως ακέραιους αριθμούς, το φύλο (SEX) ως χαρακτήρα και τη βαθμολογία (GRADE) ως πραγματικό αριθμό. Type student = record Sur,name:string[20]; Am,birth:integer; Sex:char; Grade:real; End; Var stud:student; Type student = record Sur,name:string[20]; Am,birth:integer; Sex:char; Grade:real; End; Var stud:student;

1010 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 10 Στη VAR δηλώνουμε μια μεταβλητή STUD η οποία είναι τύπου STUDENT. Το όνομα STUDENT δεν μπορεί να χρησιμοποιηθεί στις εντολές του προγράμματος, αφού έχει δηλωθεί ως τύπος δεδομένων και όχι ως μεταβλητή. Η αναφορά των πεδίων ενός RECORD γίνεται με τον τελεστή. TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:STUDENT; TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:STUDENT;

1 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 11 Η εντολή STUD.SUR := 'ΣΩΤΗΡΙΟΥ'; δίνει στο πεδίο SUR του RECORD STUD την τιμή ΣΩΤΗΡΙΟΥ. Η εντολή STUD.NAME := 'ΓΕΩΡΓΙΟΣ'; δίνει στο πεδίο NAME του RECORD STUD την τιμή ΓΕΩΡΓΙΟΣ. Η εντολή STUD.ΑΜ := 145; δίνει στο πεδίο ΑΜ του RECORD STUD την τιμή 145. Η εντολή STUD.BIRTH := 1982; δίνει στο πεδίο BIRTH του RECORD STUD την τιμή Η εντολή STUD.SEX := 'M'; δίνει στο πεδίο SEX του RECORD STUD την τιμή M (Male -> Αγόρι). Η εντολή STUD.GRADE := 7.5; δίνει στο πεδίο GRADE του RECORD STUD την τιμή 7.5. TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:STUDENT; TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:STUDENT;

1212 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 12 Πεδία του RECORD μπορεί να είναι και πίνακες. Στο πιο πάνω παράδειγμα θα μπορούσαμε να είχαμε τους βαθμούς (GRADE) 5 μαθημάτων οπότε η δήλωση του RECORD θα γινόταν ως εξής: TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:ARRAY[1..5] OF REAL; END; VAR STUD:STUDENT; Η εντολή STUD.GRADE[1] := 7,5 δίνει στο πεδίο GRADE[1] του RECORD STUD την τιμή 7.5. (Βαθμό για το 1ο μάθημα). TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:ARRAY[1..5] OF REAL; END; VAR STUD:STUDENT; Η εντολή STUD.GRADE[1] := 7,5 δίνει στο πεδίο GRADE[1] του RECORD STUD την τιμή 7.5. (Βαθμό για το 1ο μάθημα).

1313 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 13 Επίσης στοιχεία ενός πίνακα μπορεί να είναι RECORDS. Στο πρώτο παράδειγμα που χρησιμοποιήσαμε θα μπορούσαμε να είχαμε τα στοιχεία για 50 μαθητές οπότε η δήλωση του RECORD θα γινόταν ως εξής: TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT; TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT;

1414 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 14 Η εντολή STUD[1].SUR := 'ΣΩΤΗΡΙΟΥ'; δίνει στο πεδίο SUR του RECORD STUD[1] την τιμή ΣΩΤΗΡΙΟΥ. (Για το 1ο Σπουδαστή) Η εντολή STUD[1].NAME := 'ΓΕΩΡΓΙΟΣ'; δίνει στο πεδίο NAME του RECORD STUD[1] την τιμή ΓΕΩΡΓΙΟΣ. (Για το 1ο Σπουδαστή) Η εντολή STUD[1].ΑΜ := 145; δίνει στο πεδίο ΑΜ του RECORD STUD[1] την τιμή 145. (Για το 1ο Σπουδαστή) Η εντολή STUD.BIRTH := 1982; δίνει στο πεδίο BIRTH του RECORD STUD[1] την τιμή (Για το 1ο Σπουδαστή) TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT; TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT;

1515 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 15 Η εντολή STUD[1].GRADE := 7.5; δίνει στο πεδίο GRADE του RECORD STUD[1] την τιμή 7.5. (Για το 1ο Σπουδαστή) Επίσης θα μπορούσαμε να είχαμε συνδυασμό ή συνδυασμούς των πιο πάνω περιπτώσεων. π.χ. να είχαμε τα στοιχεία για 50 μαθητές και τους βαθμούς (GRADE) 5 μαθημάτων οπότε η δήλωση του RECORD θα γινόταν ως εξής: TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:ARRAY[1..5] OF REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT; TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:ARRAY[1..5] OF REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT;

1616 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 16 Η εντολή STUD[1].GRADE := 7.5; δίνει στο πεδίο GRADE του RECORD STUD[1] την τιμή 7.5. (Για το 1ο Σπουδαστή) Επίσης θα μπορούσαμε να είχαμε συνδυασμό ή συνδυασμούς των πιο πάνω περιπτώσεων. π.χ. να είχαμε τα στοιχεία για 50 μαθητές και τους βαθμούς (GRADE) 5 μαθημάτων οπότε η δήλωση του RECORD θα γινόταν ως εξής: Η εντολή STUD[1].GRADE[1] := 7.5; δίνει στο πεδίο GRADE[1] του RECORD STUD[1] την τιμή 7.5. (Το πρώτο μάθημα για το 1ο Σπουδαστή) TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:ARRAY[1..5] OF REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT; TYPE STUDENT = RECORD SUR,NAME:STRING[20]; AM,BIRTH:INTEGER; SEX:CHAR; GRADE:ARRAY[1..5] OF REAL; END; VAR STUD:ARRAY[1..50] OF STUDENT;

1717 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 17 Παράδειγμα 2 Να γραφεί πρόγραμμα σε γλώσσα Pascal το οποίο να διαβάζει τα στοιχεία 5 σπουδαστών (επώνυμο, αριθμό μητρώου, χρονολογία γέννησης και βαθμό στο μάθημα Προγραμματισμός) του Τμήματος Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών. Να υπολογίζει το μέσο όρο στο μάθημα Δομές Δεδομένων και να τυπώνει τα στοιχεία των σπουδαστών που έχουν βαθμό μεγαλύτερο από το μέσο όρο.

1818 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εγγραφές - Records 18 Program paradeigma_21; Uses crt; Type student=record Sur:string[20]; Am,birth:integer; Dd:real; End; Var stud:array[1..5] of student; I:integer;sum,mo:real; Begin Clrscr; Sum:=0; For i:=1 to 5 do Begin Write('dose eponymo ',i,' ou spoudasth : '); Readln(stud[i].sur); Write('dose ar. Mhtroou ',i,' ou spoudasth : '); Readln(stud[i].am); Write('dose hm. Gennhshs ',i,' ou spoudasth : '); Readln(stud[i].birth); Write('dose bathmo ',i,' ou spoudasth : '); Readln(stud[i].dd); Sum := sum + stud[i].dd; End; Writeln; Mo := sum / 5; Writeln('o mesos oros einai : ',mo:0:2); Writeln; For i:=1 to 5 do If stud[i].dd > mo then Writeln('eponymo:',stud[i].sur,'a.m.:',stud[i].am,' Hm.gennhshs:',stud[i].birth,'bathmos:',stud[i].dd:0:2); End. Program paradeigma_21; Uses crt; Type student=record Sur:string[20]; Am,birth:integer; Dd:real; End; Var stud:array[1..5] of student; I:integer;sum,mo:real; Begin Clrscr; Sum:=0; For i:=1 to 5 do Begin Write('dose eponymo ',i,' ou spoudasth : '); Readln(stud[i].sur); Write('dose ar. Mhtroou ',i,' ou spoudasth : '); Readln(stud[i].am); Write('dose hm. Gennhshs ',i,' ou spoudasth : '); Readln(stud[i].birth); Write('dose bathmo ',i,' ou spoudasth : '); Readln(stud[i].dd); Sum := sum + stud[i].dd; End; Writeln; Mo := sum / 5; Writeln('o mesos oros einai : ',mo:0:2); Writeln; For i:=1 to 5 do If stud[i].dd > mo then Writeln('eponymo:',stud[i].sur,'a.m.:',stud[i].am,' Hm.gennhshs:',stud[i].birth,'bathmos:',stud[i].dd:0:2); End.

1919 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Σύνολα 19 Τα σύνολα είναι τύποι δεδομένων που ορίζονται από τον χρήστη και οι οποίοι έχουν κάποιο βαθμό δόμησης. Όπως και στα μαθηματικά, έτσι και στην Pascal, ένα σύνολο (set) είναι μια διατεταγμένη συλλογή στοιχείων. Ένα σύνολο αποτελείται από μια πεπερασμένη συλλογή (μοναδικών) στοιχείων τα οποία βρίσκονται στον ίδιο προκαθορισμένο τύπο, ο οποίος καλείται βασικός. Η γενική μορφή δήλωσης ενός συνόλου είναι η εξής : Type 'Ονομα_Συνόλου = Set of Τακτικός_Τύπος Ο Τακτικός_Τύπος είναι ένα διατεταγμένο σύνολο τιμών, τα στοιχεία του πρέπει να είναι όλα του ίδιου τύπου και πρέπει να αποτελεί ένα απλό στοιχείο ή ένα υποδιάστημα. Ο Τακτικός_Τύπος δεν μπορεί να έχει πάνω από 256 πιθανές τιμές

2020 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Σύνολα 20 Παράδειγμα Const vowels = ['A', 'E', 'I', 'O', 'U']; upper_case = Set of 'A'..'Z' = ['A'..'Z'];  Αφού οριστεί κάποιο σύνολο, ο τελεστής in χρησιμεύει για να εξετάσει την παρουσία ή την απουσία κάποιου συγκεκριμένου στοιχείου από το σύνολο, ως εξής If ch In upper_case Then... If ch In vowels Then...  Στα παραπάνω παραδείγματα, το In επιστρέφει την τιμή true αν το ch είναι στοιχείο του αντίστοιχου συνόλου και false αν δεν είναι.

2121 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Ορισμός Τύπων Συνόλων 21 Τα σύνολα μπορούν να οριστούν με πολλούς τρόπους :  Προκαθορισμένοι τακτικοί τύποι : Type boolean_set = Set of Boolean; char_set = Set of Char; byte_set = Set of Byte;

2 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Ορισμός Τύπων Συνόλων 22  Υποδιαστήματα προκαθορισμένων τύπων : Type bits = 1..7; byte_bitrs = Set of bits; up_case = Set of 'A'..'Z'; lo_case = Set of 'a'..'z';  Απαριθμητοί τύποι : Type transportation = (bicycle, motorcycle, car, truck, bus); four_wheels = car..bus; trans_set = Set of transportation; four_wheel_set = Set of four_wheels;

2323 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Ορισμός Τύπων Συνόλων 23 Μεταβλητές : Var fast_trans : four_wheels; lower_letters : lo_case; num1, num2 : byte_bits; Σταθερές : Const vowels : Set of Char = ['A', 'E', 'I', 'O', 'U']; up_chars : Set of Char = ['A'..'Z']; lo_chars : Set of Char = ['a'..'z'];

2424 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εκχώρηση Στοιχείων Συνόλων σε Μεταβλητές 24 Για την εκχώρηση στοιχείων συνόλων σε μεταβλητές χρησιμοποιούνται οι αγκύλες, ως εξής : Μεταβλητή_Συνόλου := [Στοιχείο_Συνόλου] Το κενό σύνολο είναι το [ ] και με τη βοήθειά του μπορούμε να μηδενίσουμε μεταβλητές συνόλων. Ένα σύνολο μπορεί να αποτελείται από μια σειρά στοιχείων, ένα υποδιάστημα ή από τον συνδυασμό και των δύο, ως εξής : set1 := [1, 3, 5, 7, 9] set2 := [0..7]; set3 := [0..7, 14, 15, 16]; char_list := ['A'..'Z', 'a'..'z', '0'..'9'];

2525 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εκχώρηση Στοιχείων Συνόλων σε Μεταβλητές 25 Οι Τελεστές Συνόλων Οι τελεστές συνόλων προσφέρουν τρόπους για την δημιουργία νέων συνόλων με στοιχεία από ήδη υπάρχοντα σύνολα. Οι τελεστές συνόλων που υποστηρίζει η Pascal είναι οι εξής : Οι Σχεσιακοί Τελεστές Οι σχεσιακοί τελεστές έχουν ως σκοπό την εύρεση της σχέσης δύο ή περισσοτέρων συνόλων. Βασισμένος στις πιθανές καταστάσεις κάποιας σχέσης, ο τελεστής επιστρέφει την τιμή True ή False.

2626 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εκχώρηση Στοιχείων Συνόλων σε Μεταβλητές 26 Ο παρακάτω πίνακας παρουσιάζει τους σχεσιακούς τελεστές που χρησιμοποιούνται στα σύνολα : ΤΕΛΕΣΤΗΣΣΥΝΤΑΞΗΕΠΙΣΤΡΕΦΕΙ TRUE ΑΝ =Σύνολο Α = Σύνολο ΒΤα Α και Β είναι ταυτόσημα. <>Σύνολο Α <> Σύνολο ΒΈνα από τα σύνολα περιέχει τουλάχιστον ένα στοιχείο που δεν βρίσκεται στο άλλο. <=Σύνολο Α <= Σύνολο ΒΚάθε στοιχείο του Α είναι και στο Β. <Σύνολο Α < Σύνολο ΒΚάθε στοιχείο του Α είναι και στο Β και επιπλέον στο Β υπάρχει τουλάχιστον ένα στοιχείο που δεν βρίσκεται στο Α. >=Σύνολο Α >= Σύνολο ΒΚάθε στοιχείο του Β είναι και στο Α. >Σύνολο Α > Σύνολο ΒΚάθε στοιχείο του Β είναι και στο Α και επιπλέον στο Α υπάρχει τουλάχιστον ένα στοιχείο που δεν βρίσκεται στο Β. ΙΝΣτοιχείο στο Σύνολο ΑΤο στοιχείο υπάρχει στο σύνολο Α.

2727 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Εκχώρηση Στοιχείων Συνόλων σε Μεταβλητές 27 Ο Τελεστής Ιn Ο τελεστής Ιn εξετάζει την σχέση δύο ή περισσοτέρων συνόλων. Επιστρέφει ένα αποτέλεσμα τύπου Boolean, ανάλογα με το αν κάποιο στοιχείο είναι μέρος του συνόλου. Το εξεταζόμενο στοιχείο θα πρέπει να είναι του ιδίου τύπου ή συμβατού με τον βασικό τύπο του συνόλου. Η σύνταξή του είναι η εξής : Όνομα_Στοιχείου Ιn Όνομα_Συνόλου Ακολουθούν παραδείγματα : ch In vowels 'i' In consonants operator In ['+', '-', '/', '*']

2828 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Βιβλιογραφία Βλαχάβας Ι. (1994). Η γλώσσα προγραμματισμού Pascal. Εκδόσεις Γαρταγάνης Διονύσιος. Κάβουρας Ι.Κ. (1999). Δομημένος Προγραμματισμός με Pascal. Εκδόσεις Κλειδάριθμος. Αλεβίζου Θ., & Καμπουρέλης Α. (1995). Μαθήματα Προγραμματισμού: Εισαγωγή με τη Γλώσσα Pascal. Εκδόσεις Παπασωτηρίου. Cooper D. (1993). Oh! Pascal!, An Introduction to Computing, του. Εκδόσεις Norton. Larry R.N. (1998). Advanced Programming in Pascal with Data Structures. Εκδόσεις Macmillan USA. Τσελίκης Γ.Σ., Τσελίκας Ν.Δ. (2012). C: από τη Θεωρία στην Εφαρμογή (B' Έκδοση). Εκδόσεις Παπασωτηρίου. Aho A.V., Hopcroft J.E., & Ullman J.D. (1974). The design and analysis of computer algorithms. Εκδόσεις Addison Wesley. Abelson Η., Sussman G.J., Sussman J. (1985). Structure and Interpretation of Computer Programs, MIT Press, McGraw Hill Book Company.

2929 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου ΔΙΑΤΑΡΑΧΕΣ ΦΩΝΗΣ, Ενότητα 0, ΤΜΗΜΑ ΛΟΓΟΘΕΡΑΠΕΙΑΣ, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου 29 Σημείωμα Αναφοράς Copyright Τεχνολογικό Ίδρυμα Ηπείρου. Αλέξανδρος Τζάλλας. Προγραμματισμός Ι. Έκδοση: 1.0 Άρτα, Διαθέσιμο από τη δικτυακή διεύθυνση:

3030 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 4.0 Διεθνές [1] ή μεταγενέστερη. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, Διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

3131 Προγραμματισμός Ι – Εγγραφές, Σύνολα, Τμήμα Μηχανικών Πληροφορικής, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τέλος Ενότητας Επεξεργασία: Ευάγγελος Καρβούνης Άρτα, 2015

3232 Τέλος Ενότητας Εγγραφές, Σύνολα