Παράρτημα. Αρχεία δεδομένων

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Παράρτημα. Αρχεία δεδομένων"

Transcript

1 Παράρτημα Αρχεία δεδομένων Οπως είναι γνωστό, ε'να πρόγραμμα προκειμένου να χρησιμοποιήσει κάποια δεδομένα πρέπει αυτά να βρίσκονται στην κεντρική μνήμη. Ομως η τελευταία έχει περιορισμένο μέγεθος και επί πλέον δεν προσφέρεται για μόνιμη αποθήκευση στοιχείων. Για τους λόγους αυτούς χρησιμοποιούνται οι βοηθητικές μνήμες, που αν και πιο αργές, δεν έχουν τα προηγούμενα μειονεκτήματα. Οι πάσης φύσης πληροφορίες και δεδομένα αποθηκεύονται στις βοηθητικές μνήμες με τη μορφή αρχείων. Η έννοια του αρχείου δεν είναι καινούργια. Στη γενική μορφή ένα αρχείο είναι μια συλλογή πληροφοριών. Πριν την εμφάνιση των υπολογιστών τα διάφορα αρχεία τηρούνταν χειρογραφικά συνήθως σε χαρτί. Κάθε αρχείο έχει μικρή χρησιμότητα, αν οι πληροφορίες που περιέχει δεν βρίσκονται εύκολα και γρήγορα. Ετσι σταδιακά οι διάφορες επιχειρήσεις και οργανισμοί αντικαθιστούν τα αρχεία σε καρτέλες με σύνολα αρχείων σε υπολογιστές. Η ονομασία αρχείο παρέμεινε στα σύγχρονα υπολογιστικά συστήματα και σημαίνει ένα σύνολο δεδομένων οποιασδήποτε μορφής. Ετσι υπάρχουν αρχεία προγραμμάτων (program files), κειμένου (text files), αρχεία που περιέχουν προγράμματα σε γλώσσα μηχανής και ονομάζονται δυαδικά (binary files) ή εκτελέσιμα (executable) και αρχεία που έχουν μια αυστηρά καθορισμένη από το χρήστη μορφή και περιέχουν δεδομένα (data files). Από εδώ και στο εξής θα αναφερόμαστε κυρίως σε αυτό το είδος αρχείων. Τέλος ένα ιδιαίτερο είδος αρχείων είναι τα αρ-

2 256 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό περιβάλλον χεία που περιέχουν πληροφορίες για άλλα αρχεία και τις διευθύνοεις τους και ο- νομάζονται κατάλογοι ή ευρετήρια (directories). 1. Χαρακτηριστικά των αρχείων - Ορισμοί Χαρακτήρας (character) είναι η βασική μονάδα πληροφορίας. Αντιστοιχεί σε ένα byte και αποτελεί το ελάχιστο μέγεθος της απ' ευθείας προσπελάσιμης πληροφορίας. Πεδίο (field) είναι ένα σύνολο χαρακτήρων που περιγράφει ή αντιπροσωπεύει ένα δεδομένο. Το ονοματεπώνυμο, η διεύθυνση και το ΑΦΜ ενός πελάτη είναι παραδείγματα πεδίων. Κάθε πεδίο χαρακτηρίζεται από το μήκος του (το πλήθος των χαρακτήρων) και τον τόπο του (αν περιέχει δηλ. αριθμητικούς ή αλφαβητικούς ή άλλους χαρακτήρες). Υποπεδίο είναι ένα μέρος ενός πεδίου, το οποίο μπορεί να χρησιμοποιείται εναλλακτικά. Για παράδειγμα το πεδίο ημερομηνία μπορεί να χωρισθεί σε τρία υποπεδία ημέρα, μήνας, έτος. Λογική εγγραφή (logical record) ή απλά εγγραφή είναι ένα σύνολο αλληλοσυσχετιζομένων πληροφοριών που περιγράφουν μια οντότητα. Ολα τα διαθέσιμα πεδία π.χ. για την οντότητα πελάτης συγκροτούν την εγγραφή (record) πελάτη. Η διάταξη των πεδίων μέσα στην εγγραφή αποκαλείται γραμμογράφηση (layout). Εφιστούμε την προσοχή του αναγνώστη στο γεγονός ότι η λέξη εγγραφή είναι συνώνυμη με τη λογική εγγραφή. Αρχείο (file). Μετά από αυτά ένα αρχείο ορίζεται ως ένα σύνολο ομοειδών εγγραφών. Ετσι αποκαλούμε αρχείο πελατών, το σύνολο των εγγραφών πελατών που διαθέτουμε. Σημαντική τέλος είναι η έννοια του κλειδιού. Κλειδί (key) είναι ένα πεδίο της εγγραφής που προσδιορίζει τη λογική εγγραφή και αποτελεί τη βάση οργάνωσης του αρχείου. Για παράδειγμα σε ένα αρχείο πελατών κλειδί είναι ο κωδικός του πελάτη. Ας σημειωθεί ότι σε ένα αρχείο μπορεί να ορίζονται και περισσότερα κλειδιά (πχ. κωδικός, ονοματεπώνυμο, ΑΦΜ) ή και πιο σύνθετα, που αποτελούνται από συνδυασμό περισσότερων πεδίων. Η σχέση μεταξύ κλειδιού και εγγραφής στις πιο πολλές περιπτώσεις είναι αμφιμονοσήμαντη, δηλαδή ένα κλειδί αντιστοιχεί σε ακριβώς μία εγγραφή, όπως για

3 Αρχεία δεδομένων 257 παράδειγμα συμβαίνει με τον κωδικό του πελάτη. Σε άλλες περιπτώσεις όμως ένα κλειδί αντιστοιχεί σε περισσότερες από μια εγγραφές (διπλά κλειδιά - doublicate keys). Π.χ. αν σε ένα αρχείο τιμολογίων ορισθεί ως κλειδί η ημερομηνία, τότε όλες οι εγγραφές που έγιναν την βια ημέρα, θα έχουν το ίδιο κλειδί. Ακόμη μια εγγραφή μπορεί να καθορίζεται από περισσότερα κλειδιά, που το ένα λέγεται πρωτεύον (primary key) και το ή τα άλλα δευτερεύοντα (secondary ή alternate keys). Για παράδειγμα σε ένα αρχείο πελατών ο κωδικός πελάτη είναι το πρωτεύον κλειδί, ενώ το επώνυμο του πελάτη θα είναι δευτερεύον. 2. Είδη αρχείων Ανάλογα με το περιεχόμενο τους τα αρχεία που χρησιμοποιούνται για αποθήκευση και επεξεργασία δεδομένων κατατάσσονται στις εξής κατηγορίες: 1. Κύρια αρχεία (master files). Είναι τα βασικά αρχεία μιας εφαρμογής. Τα πεδία τους περιέχουν είτε περιγραφικές πληροφορίες (π.χ. κωδικός, όνομα, χρώμα, βάρος προϊόντος) είτε επεξεργασμένες πληροφορίες (διαθέσιμη ποσότητα, τιμή προϊόντος). Παραδείγματα κύριων αρχείων είναι: αρχείο πελατών, αρχείο προϊόντων, αρχείο υπαλλήλων κ.λπ. 2. Αρχεία κινήσεων ή μεταβολών ή δοσοληψιών (transaction files). Στο κύριο αρχείο μιας εφαρμογής χρειάζεται να γίνονται προσθήκες, διαγραφές ή τροποποιήσεις. Οι μεταβολές που αφορούν ένα κύριο αρχείο καταγράφονται σε ένα αρχείο μεταβολών. Κατά διαστήματα το κύριο αρχείο ενημερώνεται α- φού ληφθούν υπόψη τα περιεχόμενα του αρχείου μεταβολών. 3. Αρχεία δεικτών (index files). Τα αρχεία αυτά χρησιμοποιούνται σαν ένας κατάλογος ή πίνακας περιεχομένων και παρέχουν μέσω των αντίστοιχων κλειδιών-δεικτών τις θέσεις των διαφόρων εγγραφών σε άλλα αρχεία. 4. Βοηθητικά αρχεία (auxiliary files). Περιέχουν ειδικές πληροφορίες που χρησιμοποιούνται σε συνδυασμό με άλλα αρχεία π.χ. αρχεία πινάκων, παραμέτρων, σημειώσεων κ.λπ. 5. Προσωρινά (work) και ενδιάμεσα (intemediary). Τα αρχεία αυτά χρησιμοποιούνται στην επεξεργασία των πληροφοριών των υπόλοιπων αρχείων για την αποθήκευση προσωρινών αποτελεσμάτων.

4 258 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 6. Ιστορικά αρχεία (historical files). Περιέχουν στοιχεία προηγούμενων περιόδων. 7. Εφεδρικά αρχεία (backup files). Πρόκειται για αρχεία αντίγραφα άλλων αρχείων, που συνήθως αποθηκεύονται σε λιγότερο εύκολα προσπελάσιμη μορφή. Χρησιμοποιούνται στην περίπτωση που θα συμβεί κάτι στο κανονικό αρχείο. Κατά μια έννοια αποτελούν τα πλέον ανεκτίμητα αρχεία. 5. Επεξεργασία αρχείων Οι βασικότερες λειτουργίες που μπορούν να εκτελεστούν επί των αρχείων είναι οι εξής: Ανάκτηση (retrieval) πληροφοριών από αρχείο. Με τον όρο αυτό αναφερόμαστε στη λήψη του περιεχομένου μιας εγγραφής χωρίς να γίνει καμμιά μεταβολή επί του αρχείου. Γ ια να πραγματοποιηθεί η λειτουργία αυτή, πρώτα γίνεται ο εντοπισμός της εγγραφής με βάση συνήθως κάποιο κλειδί της και στη συνέχεια ακολουθεί η ανάγνωση της εγγραφής. Συχνά η λειτουργία της ανάκτησης αποκαλείται προβολή στα προγράμματα εφαρμογών, γιατί αφού βρεθεί η εγγραφή, το περιεχόμενο της προβάλλεται στην οθόνη. Σχετική είναι και η λειτουργία της ερώτησης (query). Ο όρος αυτός αναφέρεται στην αναζήτηση και ανάκτηση εγγραφών του αρχείου, οι οποίες πληρούν συγκεκριμένες συνθήκες που θέτει ο χρήστης. Τέτοιες ερωτήσεις σε ένα αρχείο υ- παλλήλων μπορεί να είναι: "Δώσε τους υπαλλήλους των τμημάτων 1 έως 6, που έχουν πανεπιστημιακή ή τεχνολογική εκπαίδευση, προϋπηρεσία μεγαλύτερη των 1Θ ετών και μισθό μικρότερο των δρχ.". Ενημέρωση (updating). Ενημέρωση ενός αρχείου ονομάζεται η με οποιονδήποτε τρόπο μεταβολή των χαρακτηριστικών ενός αρχείου (πλήθος ή/και περιεχόμενο των εγγραφών του). Ο όρος ενημέρωση καλύπτει τρία διαφορετικά είδη επέμβασης σε ένα αρχείο: προσθήκη ή δημιουργία (addition) νέων εγγραφών, διαγραφή ή ακύρωση (deletion) εγγραφών και μεταβολή ή τροποποίηση (modification) του περιεχομένου των εγγραφών. Η προσθήκη αναφέρεται στη δημιουργία μιας νέας εγγραφής μέσα σε ένα αρ-

5 Αρχεία δεδομένων 259 χείο. Με κατάλληλη μέθοδο η νέα εγγραφή τοποθετείται στη σωστή θέση επί του αρχείου με βάση συνήθως την τιμή του κλειδιού. Στη διαγραφή μιας εγγραφής ο χώρος που καταλαμβάνεται απελευθερώνεται και μπορεί να χρησιμοποιηθεί για τη δημιουργία μιας νέας (φυσική διαγραφή) ή τοποθετείται κατάλληλα ένας ενδείκτης διαγραφής (λογική διαγραφή). Η τροποποίηση τέλος, αναφέρεται στη μεταβολή του περιεχομένου ενός ή περισσότερων πεδίων μιας εγγραφής χωρίς να αλλάξει η θέση της εγγραφής μέσα στο αρχείο. Πρέπει να σημειωθεί ότι η οποιαδήποτε μεταβολή μπορεί να γίνει σε όλα τα πεδία μιας εγγραφής εκτός του κλειδιού, γιατί τότε αλλάζει η σχέση μεταξύ των εγγραφών (στις περισσότερες περιπτώσεις). Μια αλλαγή στο κλειδί μιας εγγραφής συνήθως οδηγεί στην ακύρωση της εγγραφής και στην ταυτόχρονη δημιουργία νέας με τις ίδιες πληροφορίες. Ταξινόμηση (sorting). Ταξινόμηση ενός αρχείου είναι η λειτουργία κατά την ο- ποία οι εγγραφές του αρχείου διατάσσονται κατά αύξουσα ή φθίνουσα σειρά με βάση την τιμή ενός πεδίου ή συνδυασμού από αυτά. Σύζευξη (merging). Σύζευξη αρχείων είναι η λειτουργία κατά την οποία δύο ή περισσότερα αρχεία ενώνονται και δημιουργούν ένα επίσης ταξινομημένο. Οι δύο τελευταίες λειτουργίες επειδή γίνονται πολύ τακτικά και απαιτούν συνήθως πολύ χρόνο, πραγματοποιούνται από έτοιμες ρουτίνες sort-merge που παρέχουν τα διάφορα υπολογιστικά συστήματα. Υπάρχουν ακόμη οι λειτουργίες της συνένωσης ή προσάρτησης (append) κατά την οποία δύο αρχεία δημιουργούν ένα νέο, καθώς και η αντίστροφη λειτουργία, από ένα αρχείο να δημιουργηθούν περισσότερα. Επίσης η αντιγραφή (copy) ενός αρχείου στο ίδιο ή άλλο μέσο, η δημιουργία αντιγράφων εφεδρείας (back-up), η δημιουργία προσωρινών ή ενδιάμεσων αρχείων κ.α. Η ενημέρωση ενός αρχείου αποτελεί μια από τις πιο συνηθισμένες ενέργειες. Σε όλες τις εφαρμογές υπάρχουν προγράμματα ενημέρωσης των βασικών ή και άλλων αρχείων. Οι λειτουργίες της ενημέρωσης παρουσιάζονται χωριστά από τα προγράμματα σε ένα μενού και ο χρήστης επιλέγει αυτή που επιθυμεί. Μπορούν όμως να υλοποιηθούν και από ένα μόνο πρόγραμμα. Σε κάθε περίπτωση δίνεται το επιθυμητό κλειδί και ακολουθεί η αναζήτηση της εγγραφής με το κλειδί αυτό. Η

6 260 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον συνέχεια εξαρτάται από το αποτέλεσμα της αναζήτησης και την ζητούμενη λειτουργία. Παρουσιάζουμε στη συνέχεια ένα αλγοριθμικό πλαίσιο για την ενημέρωση ε- νός αρχείου. Αλγόριθμος Update-File Ανοιγμα αρχείου Αρχή Εισαγωγή κλειδιού Αν κλειδί=0 τότε κλείσιμο αρχείου : Εξοδος Αναζήτηση εγγραφής Αν η εγγραφή υπάρχει τότε Προβολή μάσκας οθόνης Προβολή πεδίων εγγραφής Προβολή μηνύματος "Ακύρωση-Μεταβολή-Τίποτα" Εισαγωγή απάντησης χρήστη Επιλογή - Περίπτωση "Ακύρωση" Ακύρωση εγγραφής Πήγαινε στην αρχή - Περίπτωση "Μεταβολή" Εισαγωγή νέων δεδομένων Επανεγγραφή εγγραφής Πήγαινε στην αρχή - Περίπτωση αλλιώς (τίποτα) Πήγαινε στην αρχή Τέλος επιλογών αλλιώς λ Δημιουργία εγγραφής Προβολή μάσκας οθόνης Εισαγωγή δεδομένων Εγγραφή εγγραφής Πήγαινε στην αρχή Τέλος-αν Τέλος Τέλος Update-File Ο αλγόριθμος αυτός μπορεί να υλοποιηθεί σε κάθε γλώσσα προγραμματι-

7 Αρχεία δεδομένων 261 σμού, αλλά προφανώς θα πρέπει να ληφθούν υπόψη οι ιδιομορφίες κάθε μιας. Γίνεται φανερό ότι κάθε "εντολή" του αλγόριθμου παραπέμπει σε μια ρουτίνα, που μπορεί να έχει μεγάλη έκταση ανάλογα με τον αριθμό των πεδίων, το είδος των ε- λέγχων κλπ. Οπωσδήποτε όμως η λογική του διατηρείται και μπορεί να ακολουθείται σαν πρότυπο στις εφαρμογές. Ας σημειωθεί ακόμη ότι στην περίπτωση που η εγγραφή υπάρχει, πρώτα προβάλεται στην οθόνη και μετά μπορεί να ακολουθήσει η μεταβολή ή η διαγραφή της. Αν ο χρήστης δεν επιθυμεί τίποτα από τα δυο, τότε με την πίεση π.χ. του Enter επανέρχεται στην αρχή (περίπτωση αλλιώς). Ετσι συμπεριλαμβάνεται και η λειτουργία της προβολής, που γίνεται πολύ απλά, αφού έχει προηγηθεί η ανάκτησή της. Ας σημειωθεί τέλος ότι καθόλου προφανής δεν είναι η εντολή αναζήτηση εγγραφής του αλγόριθμου. Η λειτουργία αυτή που αποσκοπεί στην ανάκτηση της εγγραφής, γίνεται φανερό ότι είναι η πιο κρίσιμη στην όλη υπόθεση της διαχείρισης των αρχείων. Η αναζήτηση της εγγραφής εξαρτάται από την οργάνωση του αρχείου και τη χρησιμοποιούμενη μέθοδο προσπέλασης. 4. Κατηγορίες λογικών εγγραφών Σύμφωνα με μια από τις κατατάξεις οι λογικές εγγραφές σε σχέση με το μήκος τους χωρίζονται στις εξής κατηγορίες: Λογικές εγγραφές σταθερού μήκους. Είναι η πιο συνηθισμένη κατηγορία για αρχεία δεδομένων όπως π.χ. πελατών, ειδών αποθήκης, υπαλλήλων κλπ. Τα πεδία των εγγραφών αυτών είναι επίσης καθορισμένου μήκους. Είναι δυνατόν όμως στο ίδιο αρχείο να υπάρχουν εγγραφές διαφορετικού τύπου, δηλαδή αποτελούμενες από διαφορετικά πεδία. Στην περίπτωση αυτή επικεφαλής της εγγραφής τίθεται ένα πεδίο που καθορίζει τον τύπο της εγγραφής. Το πεδίο αυτό είναι σταθερού και γνωστού μήκους (π.χ. ένα byte). Μετά την ανάγνωση της εγγραφής το πρόγραμμα γνωρίζει τα πεδία ανάλογα με τον τύπο της εγγραφής. Λογικές εγγραφές μεταβλητού μήκους. Μια εγγραφή θεωρείται μεταβλητού μήκους αν ανήκει σε μια από τις επόμενες περιπτώσεις. α) Αν περιέχει ένα ή περισσότερα πεδία μεταβλητού μήκους. Για το χειρισμό τέτοιου είδους αρχείων χρησιμοποιείται η τεχνική της στίξης,

8 262 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κατά την οποία ειδικοί χαρακτήρες χρησιμοποιούνται ως διαχωριστές των μεταβλητού μήκους πεδίων και εγγραφών. Οι συνηθέστερα χρησιμοποιούμενοι χαρακτήρες διαχωρισμού είναι το κενό και το κόμμα για τα πεδία και ο συνδυασμός των χαρακτήρων αλλαγής γραμμής και επιστροφής (line feed-carriage return) για τις εγγραφές. Ακόμη ένας επιπλέον χαρακτήρας τέλους αρχείου (EOF-End Of File) προσδιορίζει το φυσικό τέλος του αρχείου. Ενα παράδειγμα τέτοιου αρχείου είναι τα αρχεία κειμένου, όπου κάθε γραμμή κειμένου είναι μια εγγραφή που αποτελείται από ένα πεδίο προφανώς διαφορετικού μήκους. β) Αν περιέχει μεταβλητό αριθμό πεδίων σταθερού μήκους. Σε αυτά τα αρχεία χρησιμοποιείται το λεγόμενο πεδίο μήκους, στο οποίο περιέχεται ο αριθμός των πεδίων σταθερού μήκους που ακολουθούν. Το πεδίο μήκους είναι σταθερού και γνωστού μήκους (π.χ. δύο ψηφία) και τίθεται στην αρχή της εγγραφής. Διαβάζοντας αυτό γνωρίζουμε πόσα ακόμα πεδία πρέπει να αναγνωσθούν για να συμπληρωθεί η εγγραφή. Δεν είναι στην ουσία διαφορετική η περίπτωση του μικτού σχήματος, κατά το οποίο μπορεί να υπάρχει ένα σταθερό τμήμα, ακολουθούμενο από ένα μεταβλητό τμήμα που αποτελείται από μεταβλητό αριθμό εγγραφών σταθερού μήκους. Στην περίπτωση αυτή το πεδίο μήκους είναι ένα πεδίο του σταθερού τμήματος. Εδώ τα υπόλοιπα πεδία αποκαλούνται ρυμουλκούμενα (trailers). Ας σημειωθεί ότι το πεδίο μήκους μπορεί να καθορίζει το μήκος ενός πεδίου ή και όλης της εγγραφής. Ετσι μπορούν να δημιουργηθούν εγγραφές, οι οποίες περιέχουν μεταβλητό αριθμό πεδίων, που το καθένα είναι μεταβλητού μήκους. Ο συνολικός αριθμός των πεδίων καθορίζεται από ένα πεδίο μήκους στην αρχή της εγγραφής, αλλά το μήκος κάθε πεδίου καθορίζεται από ένα άλλο πεδίο μήκους που μπαίνει στην αρχή κάθε πεδίου. Λογικές εγγραφές απροσδιορίστου μήκους. Πρόκειται για εγγραφές των οποίων το μήκος καθώς και η γραμμογράφησή τους καθορίζονται κατά τη στιγμή της επεξεργασίας τους. Στην ουσία πρόκειται για σειρές χαρακτήρων χωρίς διαχωριστές πεδίων ή εγγραφών. Μερικοί κατασκευαστές τα αποκαλούν και δυαδικά (binary) και μπορούν να θεωρηθούν ως εκφυλισμένη περίπτωση κατά την οποία η εγγραφή είναι μήκους 1 byte.

9 Αρχεία δεδομένων Φυσική αποθήκευση των αρχείων Οι εγγραφές των αρχείων καταλαμβάνουν διάφορες περιοχές του μαγνητικού μέσου που αποθηκεύονται. Στις ταινίες κάθε εγγραφή τίθεται μετά την άλλη στη σειρά. Στους δίσκους οι εγγραφές καταλαμβάνουν θέσεις ενός τομέα, όταν αυτός συμπληρωθεί, παίρνουν θέσεις από τον επόμενο, όταν γεμίσει όο το ίχνος, πηγαίνουμε στο επόμενο κ.ο.κ. Πρέπει να σημειωθεί ότι ειδικά στους δίσκους η κατάσταση δεν είναι πάντα ό- πως περιγράφηκε πριν. Και για την ακρίβεια είναι έτσι μόνο στην αρχή. Οταν αργότερα υπάρχει μια δραστηριότητα επί του δίσκου, δηλαδή διαγράφονται κάποια αρχεία, ενώ δημιουργούνται νέα, ταυτόχρονα μπορεί να προστίθονται καινούργιες εγγραφές σε κάποια από αυτά, τότε η εικόνα αυτή αλλάζει. Ενα αρχείο μπορεί να μη καταλαμβάνει συνεχόμενες περιοχές του δίσκου αλλά διάσπαρτες. Το φαινόμενο αυτό ονομάζεται κατάτμηση (fragmentation). Ευτυχώς όμως το λειτουργικό σύστημα φροντίζει, ώστε εμείς να νομίζουμε πάντα το αρχείο μας σαν μια συνεχή παράθεση εγγραφών (σαν έναν πίνακα δηλαδή). Εδώ ίσως είναι η κατάλληλη θέση για να ορίσουμε τη λεγόμενη φυσική εγγραφή. Ανάλογα με τις ανάγκες μας εμείς μπορούμε να καθορίζουμε λογικές εγγραφές διαφόρων μεγεθών. Οταν ζητάμε να διαβάσουμε ή να γράψουμε μια εγγραφή, τότε το σύστημα εκτελεί μια ενέργεια εισόδου-εξόδου και πραγματοποιεί τη μεταφορά των δεδομένων μεταξύ κύριας μνήμης και δίσκου. Ομως για τεχνικούς λόγους που έχουν να κάνουν με τη βελτιστοποίηση της απόδοσης, κατά την ενέργεια αυτή δεν μεταφέρεται η λογική εγγραφή, αλλά μια συγκεκριμένη ποσότητα πληροφοριών που καθορίζεται από το σύστημα. Η ποσότητα αυτή αποτελεί τη φυσική εγγραφή. Μια φυσική εγγραφή μπορεί να είναι για παράδειγμα το περιεχόμενο ενός (ή περισσοτέρων) τομέων του δίσκου. Τα περιεχόμενα της φυσικής εγγραφής, μετά τη μεταφορά τους από το δίσκο, αποθηκεύονται σε μια περιοχή μνήμης που αφιερώνεται για το σκοπό αυτό και που αποκαλείται ενδιάμεση μνήμη (buffer). Προφανώς το σύστημα φροντίζει ώ- στε μέσα σε αυτή τη φυσική εγγραφή να βρίσκεται και η λογική εγγραφή που μας ενδιαφέρει. Ετσι το πρόγραμμά μας την παραλαμβάνει από την ενδιάμεση μνήμη για τα περαιτέρω. Το γεγονός αυτό έχει μια σημαντική επίπτωση που πρέπει να γνωρίζει ο χρήστης. Οταν ολοκληρωθεί η επεξεργασία μιας (λογικής) εγγραφής, δεν σημαίνει κατ' ανάγκη ότι το ενημερωμένο περιεχόμενο της έχει μεταφερθεί στο δίσκο. Αυτό

10 264 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον θα γίνει όταν ολοκληρωθεί η επεξεργασία της φυσικής εγγραφής. Γι' αυτό δεν πρέπει να αποσύρεται μια δισκέτα ή να κλείνει ο υπολογιστής, αν το πρόγραμμα ε- φαρμογής δεν έχει τερματιστεί κανονικά. Φυσικά ο ίδιος κίνδυνος απώλειας κάποιων δεδομένων υπάρχει και όταν σημειωθεί κάποια πτώση τάσης. Σχετική είναι και η έννοια της ομαδοποίησης (blocking) εγγραφών που χρησιμοποιείται για την καλύτερη αποτελεσματικότητα των μαγνητικών μέσων. Η ο- μαδοποίηση συνίσταται στη δημιουργία φυσικών εγγραφών ή ομάδων (blocks) που αποτελούνται από περισσότερες λογικές εγγραφές. Το πλήθος των λογικών εγγραφών ανά ομάδα καθορίζεται είτε από το σύστημα είτε συνηθέστερα από το χρήστη και ονομάζεται συντελεστής ομαδοποίησης (blocking factor). Αν το αρχείο θεωρηθεί ότι βρίσκεται σε ταινία, τότε μεταξύ των ομάδων υπάρχει και ένα κενό που λέγεται διάκενο μεταξύ εγγραφών (inter record gap-irg). To μέγεθος του διακένου εξαρτάται από τα τεχνικά χαρακτηριστικά της μονάδας μαγνητικής ταινίας. Τυπικό μέγεθος είναι 3/4 της ίντσας. 6. Οργάνωση και προσπέλαση αρχείων Ο τρόπος με τον οποίο οργανώνονται και αποθηκεύονται τα δεδομένα στα φυσικά μέσα αποθήκευσης (δισκέτες, ταινίες, δίσκοι) είναι καθοριστικός για τη μορφή της επεξεργασίας που θα ακολουθήσει, με στόχο πάντα τη γρήγορη λήψη απαντήσεων. Οι εγγραφές των αρχείων οργανώνονται μεταξύ τους με σκοπό να διευκολύνουν τον εντοπισμό και την ανάκτησή τους και γενικά τη συντήρηση του αρχείου. Για την επιλογή της μεθόδου οργάνωσης λαμβάνονται υπόψη μερικά από τα βασικά χαρακτηριστικά του αρχείου. Τα κυριότερα από αυτά είναι: είδος επεξεργασίας (διαλογική - interactive, κατά δοσοληψία - transaction processing, κατά δέσμες - batch) μέγεθος και προβλεπόμενος ρυθμός αύξησης του αρχείου συχνότητα των εργασιών ενημέρωσης (εισαγωγή, διαγραφή, τροποποίηση) ποσοστό χρησιμοποιούμενων εγγραφών από τα προγράμματα κατηγορίες εγγραφών που χρησιμοποιούνται τακτικότερα.

11 Αρχεία δεδομένων 265 Οι συνηθέστερες οργανώσεις αρχείων -που αποκαλούνται και κλασικές ή παραδοσιακές σε αντιδιαστολή με την οργάνωση των Βάσεων Δεδομένων- είναι οι ε- ξής τρεις: σειριακή, σειριακή με δείκτες και απευθείας οργάνωση. 7. Μέθοδοι Προσπέλασης Η θεώρηση που έχουν οι χρήστες για τη μορφή των δεδομένων κατά την επεξεργασία τους δεν συμφωνεί πάντοτε με το φυσικό τρόπο οργάνωσης και αποθήκευσης αυτών στη βοηθητική μνήμη. Οι τεχνικές και ειδικές ρουτίνες που διαχειρίζονται την αποθήκευση και την α- νάκτηση των δεδομένων, ονομάζονται μέθοδοι προσπέλασης (access methods) και αναλαμβάνουν όλες τις λειτουργίες εισόδου/εξόδου και τη μεταφορά μεταξύ κύριας μνήμης και περιφερειακών συσκευών. Ο όρος προσπέλαση στην γενικότερη του έννοια δηλώνει τον εντοπισμό μιας εγγραφής με στόχο την ανάκτηση, διαγραφή ή τροποποίησή της. Ο χρόνος προσπέλασης αναφέρεται στο απαιτούμενο χρονικό διάστημα. Είδη προσπέλασης υπάρχουν δύο, η σειριακή ή διαδοχική (sequential) και η ά- μεση (random). Στη σειριακή προσπέλαση ο χρόνος προσπέλασης εξαρτάται από τη θέση της εγγραφής, ενώ στην άμεση προσπέλαση είναι ανεξάρτητος από τη θέση της εγγραφής. Οι δυνατότητες προσπέλασης στις διάφορες βοηθητικές μνήμες διαφέρουν. Ε- τσι στις μαγνητικές ταινίες μπορούμε να έχουμε μόνο σειριακή προσπέλαση, α- φού για να βρεθεί μια εγγραφή, πρέπει να γίνει η ανάγνωση όλων όσων προηγούνται. Αντίθετα στους δίσκους έχουμε δυνατότητα για σειριακή και άμεση προσπέλαση. Οι εγγραφές ενός αρχείου σε ένα δίσκο καταλαμβάνουν διαδοχικούς τομείς, ίχνη και κυλίνδρους. Μπορούμε να διαβάσουμε με τη σειρά όλους τους τομείς ενός ίχνους, στη συνέχεια όλους τους τομείς του επόμενου ίχνους κοκ μέχρι εξάντλησης του κυλίνδρου και να συνεχίσουμε στον επόμενο κύλινδρο κλπ. Επιτυγχάνουμε έτσι τη σειριακή προσπέλαση. Είναι δυνατό όμως να γνωρίζουμε τη θέση κάθε εγγραφής επί του δίσκου (φυσικές διευθύνσεις), δηλαδή σε ποιο κύλινδρο, ίχνος και τομέα βρίσκεται. Ετσι μπορούμε να διαβάσουμε αμέσως μια εγγραφή, χωρίς να κάνουμε το ίδιο για όσες

12 266 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό περιβάλλον προηγούνται. Προς τούτο αρκεί να διατάξουμε τις κεφαλές του δίσκου να κινηθούν στο δεδομένο κύλινδο, να επιλέξουμε το επιθυμητό ίχνος και να διαβάσουμε το συγκεκριμένο τομέα που περιέχει τη ζητούμενη πληροφορία. Αυτό σημαίνει ότι ο χρόνος προσπέλασης στο δίσκο είναι άθροισμα των επόμενων δύο χρόνων: α) Τ1 ο χρόνος εντοπισμού κυλίνδρου (seek time), που απαιτείται για τη μετακίνηση των μαγνητικών κεφαλών στο συγκεκριμένο κύλινδρο και β) 12 ο χρόνος αναμονής μέχρι ο υπόψη τομέας περάσει κάτω από την κεφαλή. Ετσι ο συνολικός χρόνος είναι Τ Από αυτούς ο 12 είναι κατά μέσον όρο ί- σος με το χρόνο μισής περιστροφής του δίσκου, ενώ ο Τ1 δεν μπορεί να καθοριστεί, γιατί δεν είναι γνωστή η θέση εκκίνησης των μαγνητικών κεφαλών. Ετσι ενώ φαινομενικά ο Τ1 εξαρτάται από τη θέση της εγγραφής, κάτι τέτοιο δεν συμβαίνει γιατί η προηγούμενη θέση των κεφαλών ήταν τυχαία, με την έννοια ότι δεν είναι γνωστή. Για το λόγο αυτό η άμεση προσπέλαση αποκαλείται και τυχαία μεταφράζοντας τον όρο random. Ομως σε καμία περίπτωση δεν υπονοείται ότι η επιλογή της θέσης γίνεται "στην τύχη". Πιστεύουμε ότι ο όρος άμεση προσπέλαση είναι προτιμότερος. Στην επόμενη παράγραφο παρουσιάζονται η σειριακή οργάνωση και παραδείγματα σχετικών προγραμμάτων. 8. Σειριακή οργάνωση (sequential organization). Σε αυτή τη μέθοδο οργάνωσης οι εγγραφές είναι οργανωμένες με τέτοιον τρόπο, ώστε για να διαβαστεί η ν-οστή εγγραφή, πρέπει να διαβαστούν οι προηγούμενες ν-1 εγγραφές. Δηλαδή οι φυσικές θέσεις στις οποίες αποθηκεύονται οι λογικές εγγραφές ακολουθούν κάποια αλληλουχία ή σειρά σε σχέση με τις αντίστοιχες (ρυσικές θέσεις των προηγούμενων ή επόμενων λογικών εγγραφών. Η σειρά αυτή δημιουργείται με βάση κάποιο χαρακτηριστικό που όταν είναι ένα πεδίο της εγγραφής, ονομάζεται κλειδί (key) και είναι ο κώδικας ταξινόμησης. Η προσπέλαση, ανάγνωση και ενημέρωση γίνονται με τη σειρά αυτή. Κατά συνέπεια η προσπέλαση μιας εγγραφής συνήθως δεν είναι γρήγορη, γιατί απαιτούνται κατά μέσον όρο ν/2 άχρηστες προσπελάσεις πριν εντοπισθεί η ζητούμενη, ενώ η προσθήκη και η διαγραφή εγγραφών γίνεται μόνο με τη δημιουργία νέου αρχείου.

13 Αρχεία δεδομένων 267 Είναι όμως δυνατό να υπάρχουν και μη ταξινομημένα σειριακά αρχεία. Στα αρχεία αυτά οι εγγραφές καταχωρούνται με σειρά άφιξης. Πρόκειται συνήθως για αρχεία μεταβολών ή προσωρινά αρχεία, τα οποία τις πιο πολλές φορές ταξινομούνται προκειμένου να είναι χρήσιμα (για την ενημέρωση π.χ. άλλων αρχείων). Μια ειδική περίπτωση τέτοιων αρχείων αποτελούν τα αρχεία κειμένου (text files). Η σειριακή μέθοδος οργάνωσης συνιστάται σε περιπτώσεις όπου οι απαιτήσεις επιβάλλουν τη "σάρωση" και ανάκτηση για επεξεργασία του μεγαλύτερου πλήθους των εγγραφών ενός αρχείου όπως π.χ. διάβασμα ολοκλήρου του αρχείου υπαλλήλων για τον υπολογισμό της μισθοδοσίας τους. Η σειριακή οργάνωση είναι η μόνη που επιτρέπεται για αρχεία σε μαγνητικές ταινίες (και γι' αυτό ή- ταν πολύ δημοφιλής μέθοδος την εποχή των διάτρητων δελτίων και της επεξεργασίας με ταινίες), αλλά χρήσιμη και σε μαγνητικούς δίσκους και δισκέτες. Στους δίσκους οι εγγραφές αποθηκεύονται η μια μετά την άλλη σε διαδοχικά αυξανόμενες φυσικές διευθύνσεις. Γενικά στις συσκευές άμεσης προσπέλασης η σειριακή οργάνωση χρησιμοποιείται ευρύτατα για τη δημιουργία αρχείων πινάκων, ευρετηρίων, λεξικών ή ταξινομημένων κινήσεων παρά για τα κύρια αρχεία των εφαρμογών. 8.1 Επεξεργασία σειριακών αρχείων Στα σειριακά αρχεία η άμεση ανάκτηση πληροφοριών είναι πρακτικά αδύνατη. Μπορεί να είναι αποδοτική μόνο σε πολύ μικρού μεγέθους αρχεία. Συχνά στις εφαρμογές τέτοια μικρά αρχεία πινάκων ή παραμέτρων "ανεβαίνουν" με την έ- ναρξη της διαδικασίας στην κύρια μνήμη και η αναζήτηση γίνεται από εκεί με σημαντικά μεγαλύτερη ταχύτητα. Στην περίπτωση που σε μια εφαρμογή υπάρχει κύριο σειριακό αρχείο, η ενημέρωσή του γίνεται με την επόμενη διαδικασία. Ολες οι μεταβολές που πρόκειται να συμβούν στο βασικό αρχείο, συγκεντρώνονται σε ένα σειριακό αρχείο μεταβολών, το οποίο ταξινομείται με τον ίδιο τρόπο που είναι ταξινομημένο το βασικό αρχείο. Ακολουθεί ένας έλεγχος ορθότητας (validation) των μεταβολών αυτών. Κάθε εγγραφή του αρχείου μεταβολών, εκτός από τα υπόλοιπα στοιχεία, διαθέτει και έναν κωδικό λειτουργίας ΚΑ, ο οποίος αν είναι:

14 268 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 1, σημαίνει ότι η εγγραφή αυτή είναι καινούργια και πρέπει να ενταχθεί στο κύριο αρχείο (δημιουργία). 2, σημαίνει ότι η εγγραφή αυτή δεν είναι καινούργια, αλλά θα μεταβάλλει ένα ή περισσότερα πεδία της αντίστοιχης εγγραφής του βασικού αρχείου (τροποποίηση) 3, σημαίνει ότι η εγγραφή αυτή θα διαγράψει την αντίστοιχη στο βασικό αρχείο. Η συνέχεια είναι η ακόλουθη. Τα δύο αρχεία διαβάζονται παράλληλα, ελέγχεται η ταύτιση των κλειδιών (matching) και παράγεται το ενημερωμένο βασικό αρχείο ως εξής: Κάθε εγγραφή του βασικού αρχείου για την οποία δεν υπάρχει αντίστοιχη εγγραφή στο αρχείο μεταβολών, μεταφέρεται αυτούσια στο αρχείο εξόδου. Κάθε εγγραφή που υπάρχει στο αρχείο μεταβολών, ενώ δεν υπάρχει στο βασικό αρχείο (ΚΛ=1), μεταφέρεται στη σωστή θέση στο αρχείο εξόδου. Οι εγγραφές του αρχείου μεταβολών με ΚΛ=2 μεταφέρονται στο αρχείο εξόδου αντικαθιστώντας τις αντίστοιχες του βασικού αρχείου, ενώ δεν αντιγράφονται οι ακυρωμένες εγγραφές (ΚΛ=3). Ανάλογη είναι η διαδικασία όταν το αρχείο μεταβολών περιέχει στοιχεία δοσοληψιών, που πρέπει να μεταβάλουν μερικά πεδία του βασικού αρχείου. Για παράδειγμα σε ένα αρχείο πελατών ποσά που προέρχονται από πωλήσεις ή εισπράξεις πρέπει να ενημερώσουν τη χρέωση και πίστωση των πελατών. Αλλες συνήθεις λειτουργίες σε σειριακά αρχεία είναι η έκδοση καταστάσεων, η συγχώνευση (merging) δύο ή περισσότερων αρχείων για τη δημιουργία ενός νέου κλπ. 8.2 Υλοποίηση των σειριακών αρχείων στις γλώσσες προγραμματισμού Turbo Pascal Ο τύπος αρχείων κειμένου (text files) είναι ένας τύπος αρχείων που υποστηρίζεται από την Turbo Pascal. Ένα αρχείο κειμένου αποτελείται από σειρές χαρα-

15 Αρχεία δεδομένων 269 κτήρων που χωρίζονται σε γραμμές. Κάθε γραμμή τερματίζεται με το σύμβολο τέλος-γραμμής (end of line, eoln) που στην πραγματικότητα είναι οι χαρακτήρες CR και LF. Το τέλος του αρχείου σημειώνεται με το σύμβολο τέλος-αρχείου (end-of-file, eof). Υπάρχουν δύο προκαθορισμένες μεταβλητές αρχείου οι Input και Output οι ο- ποίες αναφέρονται στην είσοδο από το πληκτρολόγιο και την έξοδο στην οθόνη. Εκτός από αυτά τα δύο προκαθορισμένα αρχεία μπορούν σε κάθε πρόγραμμα να χρησιμοποιηθούν και άλλα αρχεία κειμένου. Οι βασικές αρχές οι οποίες καθορίζουν τη χρήση των αρχείων κειμένου στη Turbo Pascal, εκτός των αρχείων Input, Output, είναι οι παρακάτω: Επικεφαλίδα προγράμματος: Μία καλή πρακτική είναι όλα τα αρχεία, τα ο- ποία πρόκειται να χρησιμοποιηθούν σε ένα πρόγραμμα να αναφέρονται στη λίστα αρχείων στην επικεφαλίδα του προγράμματος. Στη λίστα αυτή αναφέρονται και τα προκαθορισμένα αρχεία Input, Output. Program Όνομαπρογράμματος (λίστα Μεταβλητών Αρχείου) Δηλώσεις: Όλα τα αρχεία που χρησιμοποιούνται, οι μεταβλητές αρχείου, πρέπει να ορίζονται στο τμήμα δηλώσεων του προγράμματος. Για τα αρχεία τύπου κειμένου χρησιμοποιείται ο τύπος μεταβλητής text. var Με ταβλ η τή _Αρχε ίο υ :tcxt Συσχέτιση μεταβλητών με τα πραγματικά αρχεία: Κάθε μεταβλητή αρχείου προτού χρησιμοποιηθεί πρέπει να συσχετισθεί με ένα φυσικό αρχείο που βρίσκεται στο δίσκο. Η συσχέτιση γίνεται με τη χρήση της προκαθορισμένης συνάρτησης της Turbo Pascal assign. Assign (Μεταβλητή Αρχείου, όνομα-αρχείου) Άνοιγμα αρχείων για είσοδο δεδομένων: Για να διαβαστούν δεδομένα από ο- ποιοδήποτε αρχείο, αυτό πρέπει να ανοιχθεί για είσοδο με την προκαθορισμένη συνάρτηση reset. Η εντολή reset τοποθετεί το δείκτη του αρχείου στην αρχή του αρχείου. Reset (Μεταβλητή Αρχείου)

16 270 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Άνοιγμα αρχείων για έξοδο δεδομένων: Όλο τα αρχεία τα οποία χρησιμοποιούνται για έξοδο δεδομένων πρέπει να ανοίξουν με τις διαδικασίες rewrite ή append. Και οι δύο ανοίγουν ένα αρχείο για γράψιμο αλλά η rewrite αδειάζει το αρχείο και τοποθετεί το δείκτη στην αρχή ενώ η append τοποθετεί τον δείκτη του αρχείου στο τέλος επιτρέποντας έτσι την πρόσθεση νέων εγγραφών. Rewrite (Μεταβλητή Αρχείου) Αρρβηό(Μεταβλητή_Αρχείου) Είσοδος: Τα δεδομένα διαβάζονται από το αρχείο με χρήση των read, readln. Ρβαά(ΜεταβλητήΑρχείου, Λίστα μεταβλητών) Έξοδος: Τα δεδομένα καταχωρούνται στο αρχείο με τη χρήση των write, writeln. \Α/Γίΐβ(Μεταβλητή Αρχείου, Λίστα Μεταβλητών) Κλείσιμο αρχείων: όλα τα αρχεία τα οποία χρησιμοποιούνται σε ένα πρόγραμμα πρέπει να κλείνουν με την εντολή close. ΟοεβίΜεταβλητή Αρχείου) Για τον έλεγχο του τέλους γραμμής και του τέλους του αρχείου χρησιμοποιούνται δύο προκαθορισμένες συναρτήσεις οι eoln και eof. Η συνάρτηση eoln ελέγχει την ύπαρξη του χαρακτήρα τέλους-γραμμής και τότε επιστρέφει την τιμή True. Αντίστοιχα η συνάρτηση eof ελέγχει το τέλος του αρχείου. Eoln (Μεταβλητή Eof (Μεταβλητή Αρχείου) Αρχείου) QuickBASIC Τα σειριακά αρχεία στη γλώσσα αυτή έχουν μεταβλητού μήκους εγγραφές με διαχωριστές μεταξύ των πεδίων. Διαχωριστές εγγραφών είναι το ζεύγος των χαρακτήρων CR και LF, ενώ το τέλος αρχείου προσδιορίζεται από το χαρακτήρα EOF (Ascii 26).

17 Αρχεία δεδομένων 271 Με την εντολή OPEN ανοίγει ένα σειριακό αρχείο ως αρχείο εισόδου ή εξόδου ή για προσάρτηση. Η σύνταξη της εντολής είναι: OPEN ονομα_αρχείου [FOR τύπος] AS [#]αριθμος_αρχεlou όπου τύπος μπορεί να είναι INPUT, OUTPUT ή APPEND αντίστοιχα. Εντολές εγγραφής είναι οι PRINT και WRITE με σύνταξη: PRINT #αριθμος_αρχεlou, λίστα_μεταβλητών Η ένταξη των διαχωριστικών χαρακτήρων γίνεται με ευθύνη του προγραμματιστή. Η εντολή WRITE έχει παρόμοια σύνταξη, αλλά θέτει αυτόματα κόμματα ως διαχωριστικές. Η εντολή ανάγνωσης είναι η INPUT με σύνταξη: INPUT #αρlθμος_αρχείου, λιστα_μεταβλητών Η συνάρτηση ΕΟΕ(αριθμος αρχείου) εξεταζόμενη πριν την INPUT δίδει τιμή α- ληθής, αν έχει επέλθει το τέλος αρχείου. 8.3 Παραδείγματα 1. Το επόμενο πρόγραμμα δέχεται από το πληκτρολόγιο τιμές πεδίων ενός α- πλοϊκού αρχείου αποθήκης και τις εγγράφει στο αρχείο. Turbo Pascal program filesl(input,output); uses crt; var cod:integer; per:string[20]; tm:integer; g:real; stock:text; clrscr; assign(stock,'stock.dat'); rewrite(stock); write( Λ Κωδ lκός:');

18 272 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον readln(cod); while cod>0 do write('περιγραφή readln(per); write ('Τιμή Μονάδας :'); readln(tm); write('ποσότητα ='); readln(g) ; writein (stock,cod:3,per:20,tm:4,g:6); clrscr; write( λ Κωδικός :'); readln(cod); end; close (stock); end. Quick Basic λ Δημιουργία σειριακού αρχείου OPEN "STOCK.DAT" FOR OUTPUT AS #1 INPUT "Κωδικός =",cod$ IF cod$="" THEN EXIT DO INPUT "Περιγραφή =",per$ INPUT "Τιμή μονάδος =",tm INPUT "Ποσότητα =",g! PRINT#1,cod$;";per$;",";tm;",";g! LOOP CLOSE END 2. To επόμενο πρόγραμμα πραγματοποιεί μια απλή εκτύπωση (dump) του προηγούμενου αρχείου. Turbo Pascal program files2(input,output); uses crt; var

19 Αρχεία δεδομένων 273 χχ:char; grami:string[80]; stock:text; clrscr; assign(stock,'stock.dat'); reset(stock); while not eof(stock) do readln(stock,grami); writeln(grami); end; close(stock); write('πίεσε οποιοδήποτε πλήκτρο για συνέχεια...'); χχ:=readkey; end. Quick Basic Λ Εκτύπωση σειριακού αρχείου OPEN "STOCK.DAT" FOR INPUT AS #1 CLS WHILE NOT EOF(1) LINE INPUT#1,ζ $ PRINT ζ $ WEND CLOSE END Ας σημειωθεί ότι το ίδιο πρόγραμμα εκτελείται για κάθε σειριακό αρχείο μια και δεν είναι απαραίτητο να είναι γνωστή η γραμμογράφησή του (οι εντολε'ς readln και LINE INPUT διαβάζουν γραμμε'ς δηλ. ολόκληρη την εγγραφή). 3. Το επόμενο πρόγραμμα πραγματοποιεί μια μορφοποιημένη εκτύπωση του αρχείου με τίτλους και αριθμό σελίδας στην οθόνη ή τον εκτυπωτή.

20 274 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Turbo Pascal program files3(input,output,1st,stock); uses crt; const. max_crt=22; max_prn=63; var xx:char; cod,lines,choice,max_lines,pages:integer; per:string[20]; tm:integer; g:real; stock,1st:text; procedure PRINT_TITLES(var lst:text;var lines,pages:integer), writeln (1st,'ΚΩΔΙΚΟΣ ΠΕΡΙΓΡΑΦΗ ΤΙΜΗ ΠΟΣΟΤΗΤΑ') lines:=0; pages:=pages+l end; clrscr; assign(stock,'stock.dat'); reset(stock); clrscr; pages:=0; writeln ( 'ΕΚΤΥΠΩΣΗ ΑΡΧΕΙΟΥ'); writeln; writeln (' 1.0Θ0ΝΗ'); writeln Γ 2.ΕΚΤΥΠΩΤΗΣ'); repeat gotoxy(5,5); write('enιλογή:');readln(choice); until (choice=l) or (choice=2); if choice=l then assign (1st,'con');

21 Αρχεία δεδομένων 275 max_lines:=max_crt end else assign(1st,'lpt1'); max_lines:=max_prn; end; rewrite(1st); print_titles(1st,lines,pages); while not eof (stock) do readln(stock,cod,per,tm,g); if linesmax_lines then writeln (1st,'ΣΕΛΙΔΑ: ',pages:2); if choice=l then write( Λ Πίεσε ένα πλήκτρο για συνέχεια..'); xx:=readkey; clrscr; {Νέα οθόνη} end else writeln(1st,chr(12)); {Αλλαγή σελίδας) print_titles(1st,lines,pages); end; writeln (1st,cod:5,' \per:20,' \tm:4,' Λ^:10:2); lines:=lines+l; end; writeln (1st,'ΣΕΛΙΔΑ: x,pages:2); write('τέλος Δεδομένων. Πίεσε ένα πλήκτρο..'); xx:=readkey; close (stock); close(1st); end.

22 276 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Quick Basic χ Εκτύπωση σειριακού αρχείου k$ = CLS page = 1: lines = 100 PRINT "ΕΚΤΥΠΩΣΗ ΑΡΧΕΙΟΥ" PRINT PRINT "1. ΟΘΟΝΗ" PRINT "2. ΕΚΤΥΠΩΤΗΣ" LOCATE 7, 1: PRINT "Επιλογή : DO WHILE VAL(k$) 1 OR VAL(k$) 2 k$ = INKEY$: LOCATE 7, 11, 1: PRINT k$; LOOP k = VAL(k$) IF k = 1 THEN OPEN "0", #3, "SCRN:": maxl = 22 ELSE OPEN "0", #3, "LPT1:": maxl = 66 END IF OPEN "I", #1, "STOCK.DAT" λ Printing WHILE NOT EOF(1) GOSUB ReadNextRecord GOSUB PrintOneLine WEND CLOSE : END ReadNextRecord: INPUT #1, cod$, per$, tm, q! RETURN PrintOneLine: IF lines maxl THEN GOSUB PrintTitle PRINT #3, cod$; " per$; TAB(30); PRINT #3, USING "#####"; tm; PRINT #3, USING lines = lines + 1 RETURN PrintTitle: IF k = 1 THEN GOSUB Press: CLS

23 Αρχεία δεδομένων 277 ELSE PRINT #3, CHR$(12); END IF PRINT #3, "ΚΩΔ. Π Ε Ρ Ι Γ Ρ Α Φ Η PRINT #3, TAB(70); "ΣΕΛ:"; page PRINT #3, STRING$(79, "-") page = page + 1: lines = 3 ΤΙΜΗ MON. ΠΟΣΟΤΗΤΑ"; RETURN Press: LOCATE 24, 1 PRINT "Πίεσε οποιοδήποτε πλήκτρο για συνέχεια..."; w$ = INPUT$(1): RETURN ΣΤΟ πρόγραμμα αυτό η εντολή OPEN χρησιμοποιείται με τη συνεπτυγμε'νη ε- ναλλακτική μορφή της. Ως αρχείο #3 ανοίγει η οθόνη ή ο εκτυπωτής ανάλογα με την επιλογή του χρήστη. Αν το πρόγραμμα χρησιμοποιηθεί μόνο για εμφάνιση στην οθόνη, τότε αυτό το βήμα δεν είναι απαραίτητο και οι εντολές PRINT #3 θα αντικατασταθούν με απλές PRINT. Αντίστοιχα αν πρόκειται για εκτύπωση, τότε θα χρησιμοποιηθούν εντολές LPRINT. Το πρόγραμμα χρησιμοποιεί ανεξάρτητες ρουτίνες για την ανάγνωση μιας εγγραφής και για την εκτύπωση κάθε γραμμής και των τίτλων. Η μεταβλητή lines έ- χει ως αρχική τιμή 100, ώστε να προκληθεί αμέσως εκτύπωση των τίτλων. Ο αλγόριθμος του προγράμματος είναι υποδειγματικός για τις περισσότερες περιπτώσεις εκτυπώσεων και συνιστάται η υιοθέτησή του από τον αναγνώστη. 4. "Φόρτωμα" τιμών σε πίνακα Turbo Pascal program files4(input, output, myfile); uses crt; Var Pinakas:array[1..50,1..50] of integer; i,j,μ,ν:integer; myfile:text; clrscr; assign (myfile,'arxeio.dat'); reset (myfile);

24 278 Ανάπτυξη Εφαρμογών σε προγραμματιστικό Περιβάλλον {ΜΕΤΑΦΟΡΑ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥ ΑΡΧΕΙΟΥ ΣΤΟΝ ΠΙΝΑΚΑ} readln (myfile, Μ, Ν); for i:=l to Μ do for j:=1 to Ν do read(myfile,pinakas[i, j ]) ; readln (myfile); end; {ΕΚΤΥΠΩΣΗ TOY ΠΙΝΑΚΑ} for i:=l to Μ do for j:=1 to Ν do write (pinakas[i,j], ' λ ); writeln end; readln; end. Quick Basic DIM a (20, 20) OPEN "I", #1, "data.dat" INPUT #1, m, η FOR i = 1 TO m FOR j = 1 TO η INPUT #1, a (i, j) NEXT j NEXT i CLOSE : END a. Με το πρόγραμμα αυτό τα δεδομε'να του αρχείου μεταφε'ρονται στον πίνακα Το πρόγραμμα αυτό (ή άλλο ανάλογο) μπορεί να βοηθήσει την εκπαιδευτική διαδικασία στο εργαστήριο. Ο καθηγητής μπορεί να πρετοιμάσει δεδομε'να σε ε'να αρχείο (με πρόγραμμα εισαγωγής ή και με έναν editor), τα οποία να παραδόσει στους μαθητές. Οι τελευταίοι εντάσσουν στο πρόγραμμά τους το προηγούμενο

25 Αρχεία δεδομένων 279 πρόγραμμα και μπορούν να συνεχίσουν με την επεξεργασία του πίνακα. Ετσι δεν δαπανάται χρόνος για την εισαγωγή των δεδομένων σε κάθε επανεκτέλεση του προγράμματος των μαθητών κατά τη σύνταξη και διόρθωσή του. 5. Αποθήκευση πίνακα σε αρχείο Turbo Pascal program files5(input, output, myfile); uses crt; const {ΟΡΙΑ TOY ΠΙΝΑΚΑ} N=4 ; M=5; Var Pinakas:array[1..M,1..N] of integer; i,j,mm,nn:integer; myfile:text; assign (myfile,'arxeio.dat'); rewrite (myfile); {ΕΙΣΑΓΩΓΗ ΣΤΟΙΧΕΙΩΝ ΣΤΟΝ ΠΙΝΑΚΑ} for i:=1 to Μ do for j:=1 to Ν do write ('PINAKAS[\ I:2,',',J:2,'] readln(pinakas[i,j]); end; v ); {ΜΕΤΑΦΟΡΑ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΣΤΟ ΑΡΧΕΙΟ} write(myfile,μ:4,ν:4); for i:=l to Μ do writeln(myfile); for j:=1 to Ν do end; write(myfile,pinakas[i,j]:5);

26 280 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον close (myfile); writeln ( λ readln end. Τα στοιχεία του πίνακα μεταφέρθηκαν'); Quick Basic * Save table OPEN "0",#1,"ARRAY.DAT" PRINT #1,m,n FOR i=l TO m FOR j =1 TO n NEXT j PRINT #1 NEXT i CLOSE:RETURN PRINT #1,a(i,j); Η ρουτίνα αυτή αποθηκεύει στην πρώτη γραμμή του αρχείου τις τιμε'ς των διαστάσεων του πίνακα και σε κάθε επόμενη τα στοιχεία κάθε γραμμής του πίνα-

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

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record) Διαχείριση Αρχείων Αρχεία Για να είναι δυνατή η επεξεργασία μεγάλου αριθμού δεδομένων τα δεδομένα είναι αποθηκευμένα σε ψηφιακά μέσα κατάλληλα οργανωμένα. Η αποθήκευση γίνεται σε αρχεία. Πολλά προγράμματα

Διαβάστε περισσότερα

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή - Βασικές έννοιες....1 1.1 Εσωτερική παράσταση δεδομένων....2 1.1.1 Παράσταση θέσης....3 1.1.2 Μετατροπές μεταξύ συστημάτων διαφορετικών βάσεων....5 1.1.3 Οι αριθμητικές

Διαβάστε περισσότερα

Σύστηµα Αρχείων και Καταλόγων

Σύστηµα Αρχείων και Καταλόγων ΕΠΛ 003 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σύστηµα Αρχείων και Καταλόγων ιάλεξη 7 (Κεφάλαιο 11 του βιβλίου) Στόχοι Κεφαλαίου Περιγραφή της έννοιας του αρχείου, συστήµατος

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Χειρισμός Αρχείων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αρχεία Συλλογές δεδομένων. Αποθηκεύονται στην περιφερειακή μνήμη: π.χ.

Διαβάστε περισσότερα

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού

Διαβάστε περισσότερα

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα; Λίστα για ψώνια Έννοιες: αρχεία- άνοιγμα- εγγραφή διάβασμα Προαπαιτούμενα : δομή επιλογής, επανάληψης, συναρτήσεις, λίστες Ο Άκης, τώρα που έμαθε και τις λίστες στην Python αποφάσισε να φτιάξει μια λίστα

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) ..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 - 2 - Κεφάλαιο 2 ο Δευτερεύουσα μνήμη Οι εύκαμπτοι μαγνητικοί δίσκοι (floppy disks) ή δισκέτες Οι σκληροί μαγνητικοί δίσκοι (hard disks) Οι

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Αρχείων Βασίλης Σακκάς 11/12/2013 1 Διαχείριση Αρχείων 1 Μακρόχρονη αποθήκευση πληροφοριών 1. Αποθήκευση μεγάλου όγκου δεδομένων 2. Οι αποθηκευμένες πληροφορίες πρέπει

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Επικοινωνία Προγράμματος Περιβάλλοντος Λογικές Μονάδες Μεταφορά εδομένων Μορφοποίηση εδομένων Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

Διαβάστε περισσότερα

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων. ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Χειµερινό Εξάµηνο 2002 Αποθήκευση Εγγραφών - Ευρετήρια ρ Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Επίπεδα Αφαίρεσης Σ Β Επίπεδο Όψεων Όψη Όψη

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

Διαβάστε περισσότερα

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Μακροχρόνια

Διαβάστε περισσότερα

8 FORTRAN 77/90/95/2003

8 FORTRAN 77/90/95/2003 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.

Διαβάστε περισσότερα

Δείχτες Επιτυχίας και Δείχτες Επάρκειας

Δείχτες Επιτυχίας και Δείχτες Επάρκειας Δείχτες Επιτυχίας και Δείχτες Επάρκειας Γ Τάξη Θεματικές Περιοχές: 1. Βασικές έννοιες της Πληροφορικής και της Επιστήμης Ηλεκτρονικών Υπολογιστών 2. Υλικό / Αρχιτεκτονική Ηλεκτρονικού Υπολογιστή 3. Λειτουργικά

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α. ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α. ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α ΦΥΛΛΟ ΑΣΚΗΣΕΩΝ : 11 Αρχεία κειµένου - Αρχεία µε τύπο ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη Παρατηρήσεις:

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

ΔΕΔΟΜΕΝΑ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ

ΔΕΔΟΜΕΝΑ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ ΔΕΔΟΜΕΝΑ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ Δεδομένα (data) είναι μια παράσταση, όπως γράμματα, αριθμοί, σύμβολα κ.ά. στα οποία μπορούμε να δώσουμε κάποια σημασία (έννοια). Πληροφορία (information) είναι η σημασία που δίνουμε

Διαβάστε περισσότερα

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Διαχείριση Βάσης Δεδομένων (dbadmin) > Αρχεία Αρχεία Εισαγωγή από αρχείο ASCII Με την εργασία αυτή έχετε την δυνατότητα να εισάγετε

Διαβάστε περισσότερα

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15) (Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη

Διαβάστε περισσότερα

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

Εργαστήριο 10 Πίνακες. Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός Εργαστήριο 10 Πίνακες Πίνακες. Η έννοια της δόμησης δεδομένων στη PASCAL. Σκοπός 10.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ Σ αυτή την άσκηση, εξετάζουμε μία βασική δομή του προγραμματισμού, το πίνακα. Στις μέχρι τώρα

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

Διαβάστε περισσότερα

Προγραμματισμός και Εφαρμογές Υπολογιστών

Προγραμματισμός και Εφαρμογές Υπολογιστών Προγραμματισμός και Εφαρμογές Υπολογιστών Ενότητα 9: Διαχείριση Αρχείων Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Κ.Π. Γιαλούρης Μαθησιακοί Στόχοι 1/2 Γνώση των βασικών ενσωματωμένων συναρτήσεων

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

Διαβάστε περισσότερα

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

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE ΕΡΓΑΣΤΗΡΙΟ 7 Ο Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE Βασικές Έννοιες: Δομή Επανάληψης, Εντολές Επανάληψης (For, While do, Repeat until), Αλγόριθμος, Αθροιστής, Μετρητής, Παράσταση

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Λειτουργικό Σύστημα:

Διαβάστε περισσότερα

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Έως τώρα σε ένα πρόγραμμα έχουμε μάθει να εισάγουμε δεδομένα από το πληκτρολόγιο χρησιμοποιώντας την συνάρτηση scanf() και να εκτυπώνουμε δεδομένα

Διαβάστε περισσότερα

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΔΕΔΟΜΕΝΑ ΑΛΓΟΡΙΘΜΟΙ -ΠΛΗΡΟΦΟΡΙΑ: Δεδομένα: Αναπαράσταση της Πραγματικότητας Μπορούν να γίνουν αντιληπτά με μια από τις αισθήσεις μας Πληροφορία: Προκύπτει από

Διαβάστε περισσότερα

Εργαστήριο 9: Αρχεία

Εργαστήριο 9: Αρχεία Εργαστήριο 9: Αρχεία Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αρχεία, Είσοδος/Έξοδος από/προς αρχεία - Δυαδικά αρχεία - Παραδείγματα ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ.

Διαβάστε περισσότερα

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΑΡΑΣΚΕΥΗ 22 ΣΕΠΤΕΜΒΡΙΟΥ 2017 ΘΕΜΑ Α ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ:

Διαβάστε περισσότερα

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3 ο : ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΚΕΦΑΛΑΙΟ 9 ο : ΠΙΝΑΚΕΣ ΜΕΡΟΣ 1 ο : ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΙΝΑΚΕΣ 1 & 2 ΔΙΑΣΤΑΣΕΩΝ http://eclass.sch.gr/courses/el594100/

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

Διαβάστε περισσότερα

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Γενικά. Change Reference

Γενικά. Change Reference ΣΕΝΑΡΙΑ ΜΕΤΑΣΧΗΜΑΤΙΣΜΩΝ Date Change Reference 27-06-2001 Αρχικό 17-09-2001 Προσθήκες Διαχωρισμός των σεναρίων σε αγορές και πωλήσεις Μεταβλητή ADDWHERE για σενάρια μαζικών μετασχηματισμών 24-09-2001 Προσθήκες

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας Ενότητα 9 Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας Πληροφοριακά Συστήματα Διοίκησης ΙI Ι Διδάσκων: Νίκος Καρακαπιλίδης 9-1 Στόχοι & αντικείμενο ενότητας Σχεδιασμός επεξεργασίας Επεξεργασία κατά δεσμίδες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων ΠΕΡΙΕΧΟΜΕΝΑ Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων Εισαγωγή Η χρήση των μεταβλητών με δείκτες στην άλγεβρα είναι ένας ιδιαίτερα

Διαβάστε περισσότερα

Academia Financials ΕΣΟΔΑ ΕΞΟΔΑ

Academia Financials ΕΣΟΔΑ ΕΞΟΔΑ Academia Financials ΕΣΟΔΑ ΕΞΟΔΑ copyright DATA COMMUNICATION 3 ΠΕΡΙΕΧΟΜΕΝΑ Δ. ΜΕΤΑΦΟΡΑ ΔΕΔΟΜΕΝΩΝ... 1 1. ΕΙΣΑΓΩΓΗ... 1 2. ΜΕΤΑΦΟΡΑ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΕΦΑΡΜΟΓΕΣ ΕΣΟΔΩΝ - ΕΞΟΔΩΝ... 1 2.1 ΜΕΤΑΦΟΡΑ ΑΠΟ ΤΙΣ ΕΦΑΡΜΟΓΕΣ

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2009 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΤΑΞΗ : Β ΗΜΕΡΟΜΗΝΙΑ: Τετάρτη, 3 Ιουνίου 2009 ΩΡΑ: 07:45 10:15 ΟΔΗΓΙΕΣ: Το εξεταστικό δοκίμιο αυτό αποτελείται

Διαβάστε περισσότερα

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

Διαβάστε περισσότερα

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων... Μέρος 2 Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων... 211 Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων... 241 Kεφάλαιο 13 Ανάλυση δεδομένων... 257 Kεφάλαιο 14 Συναρτήσεις Μέρος Β... 285 Kεφάλαιο 15 Ευρετήριο

Διαβάστε περισσότερα

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

Διαβάστε περισσότερα

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

Διαβάστε περισσότερα

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

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Δυνατότητα ανάπτυξης, μεταγλώττισης και εκτέλεσης προγραμμάτων στη PASCAL. Κατανόηση της σύνταξης των προτάσεων της PASCAL. Κατανόηση της εντολής εξόδου για

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

Διαβάστε περισσότερα

Δημιουργία Παραστατικού Αγοράς- Πώλησης και Μετασχηματισμοί

Δημιουργία Παραστατικού Αγοράς- Πώλησης και Μετασχηματισμοί Δημιουργία Παραστατικού Αγοράς- Πώλησης και Μετασχηματισμοί Περιεχόμενα Δημιουργία Παραστατικού Αγοράς... 3 Καρτέλα Παραστατικού Αγοράς... 3 Καρτέλα Βασικό... 4 Καρτέλα Πρόσθετα Στοιχεία... 5 Καρτέλες

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal Δοµή προγράµµατος 1. Δοµή προγράµµατος program όνοµα_προγράµµατος(αρχείο_1, αρχείο_2,...αρχείο_ν); ΕΠΙΚΕΦΑΛΙΔΑ ΒΙΒΛΙΟΘΗΚΕΣ uses όνοµα_βιβλιοθήκης,όνοµα_βιβλιοθήκης;

Διαβάστε περισσότερα

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3 1 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Διαφάνειες σύμφωνα με

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού Strange

Η γλώσσα προγραμματισμού Strange Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού Strange Η Strange είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική αυτή γλώσσα περιέχει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Pascal. 15 Νοεμβρίου 2011 Pascal 15 Νοεμβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

Διαβάστε περισσότερα

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2018-19 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

Διαβάστε περισσότερα

Συνεργείο Αυτοκινήτων

Συνεργείο Αυτοκινήτων Συνεργείο Αυτοκινήτων v2.102, Οκτώβριος 2015 Σύντοµες οδηγίες χρήσης Εισαγωγή Το πρόγραµµα Συνεργείο Αυτοκινήτων έχει σκοπό τη διαχείριση και παρακολούθηση του πελατολογίου, των αυτοκινήτων και των εργασιών

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

πινάκων Σύγχρονα Προγραματιστικά Περιβάλλοντα ΠΕΡΙΕΧΟΜΕΝΑ

πινάκων Σύγχρονα Προγραματιστικά Περιβάλλοντα ΠΕΡΙΕΧΟΜΕΝΑ Κεφάλαιο 7 Βασικές Έννοιες Προγραμματισμού Κεφάλαιο 8 Επιλογή και Επανάληψη Εντολές επιλογής Εντολές επανάληψης Κεφάλαιο 9 Πίνακες Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012 ΘΕΜΑ Α Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: 1. Κάθε βρόγχος που υλοποιείται με την εντολή Για μπορεί να

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

Διαβάστε περισσότερα

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

Διαβάστε περισσότερα

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: (Μον.2) Η ηλικία είναι μεταξύ των 15 και 18 συμπεριλαμβανομένων (β) Αν Χ= 4, Υ=2, Κ=2 να βρείτε το αποτέλεσμα

Διαβάστε περισσότερα

Διάλεξη 18η: Διαχείρηση Αρχείων

Διάλεξη 18η: Διαχείρηση Αρχείων Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh

Διαβάστε περισσότερα