Διαδικασιακός Προγραμματισμός

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

Download "Διαδικασιακός Προγραμματισμός"

Transcript

1 Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 15 η Αρχεία Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου Αρχεία Τα αρχεία χωρίζονται σε δύο κατηγορίες: τα αρχεία κειμένου (text files) και τα δυαδικά αρχεία (binary files) Τα αρχεία κειμένου ονομάζονται και αρχεία σειριακής προσπέλασης, γιατί για να διαβάσουμε ή να γράψουμε σε ένα τέτοιο αρχείο πρέπει να ξεκινήσουμε από την αρχή του αρχείου (π.χ. για να διαβάσουμε τους χαρακτήρες της 50 ης γραμμής ενός αρχείου κειμένου πρέπει να έχουμε διαβάσει με τη σειρά τους χαρακτήρες των προηγούμενων 49 γραμμών του αρχείου) Αντίθετα, τα δυαδικά αρχεία ονομάζονται και αρχεία τυχαίας προσπέλασης, γιατί μπορούμε να διαβάσουμε ή να γράψουμε κατευθείαν σε οποιοδήποτε σημείο του αρχείου επιθυμούμε (π.χ. για να διαβάσουμε τους χαρακτήρες της 50 ης γραμμής ενός τέτοιου αρχείου δεν χρειάζεται να έχουμε διαβάσει με τη σειρά τους χαρακτήρες των προηγούμενων 49 γραμμών του αρχείου, αλλά μπορούμε να διαβάσουμε κατευθείαν τους χαρακτήρες της 50 ης γραμμής) 2 1

2 text files vs. binary files (Ι) Τα αρχεία κειμένου αποτελούνται από μία η περισσότερες γραμμές, οι οποίες περιέχουν χαρακτήρες Κάθε γραμμή τελειώνει με τον ειδικό χαρακτήρα που χρησιμοποιεί το λειτουργικό σύστημα για να καθορίσει το τέλος της γραμμής Ωστόσο, όταν αποθηκεύονται χαρακτήρες σε ένα αρχείο κειμένου είναι πιθανό να γίνει μετατροπή κάποιων χαρακτήρων Π.χ. ο ASCII κωδικός του χαρακτήρα νέας γραμμής '\n' (Line Feed) είναι 10 και στα Windows κάθε τέτοιος χαρακτήρας μετατρέπεται στον χαρακτήρα τέλους γραμμής, που είναι ο συνδυασμός των χαρακτήρων '\r' (Carriage Return) και '\n' (Line Feed), CR/LF, με ASCII κωδικούς 13 και 10 αντίστοιχα Αντίθετα, στα δυαδικά αρχεία τα περιεχόμενα του αρχείου δεν διαχωρίζονται σε γραμμές και δεν συμβαίνει καμία μετατροπή χαρακτήρων Π.χ. ο χαρακτήρας νέας γραμμής '\n' αποθηκεύεται απευθείας και δεν μετατρέπεται σε τέλος γραμμής 3 text files vs. binary files (ΙΙ) Στα αρχεία κειμένου μπορεί να προστεθεί ένας ειδικός χαρακτήρας που δηλώνει το τέλος του αρχείου Π.χ. στο Unix ο χαρακτήρας που δηλώνει το τέλος του αρχείου κειμένου είναι ο Control-D (CTRL-D) Στα δυαδικά αρχεία δεν υπάρχει κάποιος αντίστοιχος χαρακτήρας για τη δήλωση του τέλους του αρχείου Οι διαδικασίες εγγραφής και ανάγνωσης σε/από ένα δυαδικό αρχείο εκτελούνται πιο γρήγορα από ότι σε ένα αρχείο κειμένου 4 2

3 text files vs. binary files (ΙΙΙ) Το μέγεθος των δυαδικών αρχείων είναι συνήθως μικρότερο από το μέγεθος των αρχείων κειμένου, γιατί στα δυαδικά αρχεία κάθε τύπος δεδομένων αποθηκεύεται με τον αντίστοιχο αριθμό bytes που απαιτούνται Π.χ. το μέγεθος ενός αρχείου κειμένου που περιέχει τον αριθμό ( = ) θα είναι 5 bytes (αφού περιέχει 5 ψηφία), ενώ το μέγεθος ενός αντίστοιχου δυαδικού αρχείου θα είναι 2 bytes Αρχείο κειμένου: Δυαδικό αρχείο: o o Ο ASCII του κάθε ψηφίου o o o o o = o 5 Παρατηρήσεις Ο κύριος λόγος για να επιλέξουμε να αποθηκεύσουμε δεδομένα σε ένα αρχείο κειμένου είναι γιατί τα περιεχόμενά τους εμφανίζονται σε κατανοητή μορφή από τους επεξεργαστές κειμένων Αντίθετα, αν ανοίξετε ένα δυαδικό αρχείο με κάποιον επεξεργαστή κειμένου (π.χ. notepad) είναι πολύ πιθανό να εμφανίζονται κάποιοι παράξενοι χαρακτήρες και να μην μπορείτε να διαβάσετε τα περιεχόμενά του 6 3

4 Πρόσβαση Αρχείων Κάθε αρχείο πρέπει να έχει ένα όνομα σύμφωνα με τους κανόνες ονοματολογίας του λειτουργικού συστήματος που εκτελείται το πρόγραμμα Ένα αρχείο μπορεί να βρίσκεται στον ίδιο φάκελο με το εκτελέσιμο πρόγραμμα ή σε διαφορετικό Αν βρίσκεται σε διαφορετικό φάκελο και το λειτουργικό σύστημα χρησιμοποιεί τον χαρακτήρα της ανάστροφης κεκλιμένης (backslash) \ για τον διαχωρισμό των φακέλων (directories), όπως π.χ. στα Windows, τότε πρέπει να προστεθεί άλλoς ένας χαρακτήρας ανάστροφης κεκλιμένης (δηλ. \\) για τον διαχωρισμό των φακέλων, διότι ο απλός χαρακτήρας \ έχει ειδική σημασία στη C Π.χ. d:\\c\\code\\test.txt Αν το αρχείο βρίσκεται στον ίδιο φάκελο με το εκτελέσιμο πρόγραμμα, τότε γράφουμε μόνο το όνομα του αρχείου Π.χ. test.txt 7 Παρατηρήσεις Αν το όνομα του αρχείου εισάγεται στο πρόγραμμα μέσω της συνάρτησης scanf() ή gets(), τότε ο χρήστης δεν χρειάζεται να προσθέσει δεύτερο backslash \ για τον διαχωρισμό των φακέλων Π.χ. d:\c\code\test.txt Αν το αρχείο βρίσκεται στον ίδιο φάκελο με το εκτελέσιμο πρόγραμμα, τότε ο χρήστης πληκτρολογεί μόνο το όνομα του αρχείου Π.χ. test.txt 8 4

5 Άνοιγμα Αρχείου (Ι) Για το άνοιγμα ενός αρχείου χρησιμοποιείται η συνάρτηση fopen() Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: FILE* fopen(char* filename,char* mode); Αν η συνάρτηση fopen() εκτελεστεί επιτυχημένα, τότε επιστρέφει έναν δείκτη σε μία δομή τύπου FILE Το πρότυπο της δομής FILE δηλώνεται στο αρχείο stdio.h και στα πεδία αυτής της δομής αποθηκεύεται πληροφορία σχετικά με το αρχείο Όλες οι επόμενες λειτουργίες που θα εκτελεστούν στο αρχείο, π.χ. ανάγνωση ή εγγραφή σε αυτό, θα γίνονται με χρήση αυτού του δείκτη 9 Άνοιγμα Αρχείου (ΙΙ) Η παράμετρος filename περιέχει το όνομα του αρχείου και μπορεί να είναι: είτε το πλήρες όνομα του αρχείου μέσα σε διπλά εισαγωγικά (" ") Π.χ. char fname[] = "test.txt"; είτε ένας δείκτης σε έναν πίνακα χαρακτήρων που να περιέχει το πλήρες όνομα του αρχείου Π.χ. char* fname; fname = "test.txt"; 10 5

6 Άνοιγμα Αρχείου (ΙΙΙ) Η παράμετρος mode δηλώνεται όπως η παράμετρος filename και καθορίζει τις ενέργειες που μπορούν να εκτελεστούν στο αρχείο, σύμφωνα με τον παρακάτω πίνακα 11 Άνοιγμα Αρχείου (ΙV) Για το άνοιγμα ενός δυαδικού αρχείου πρέπει να προστεθεί ο χαρακτήρας b (το πρώτο γράμμα της λέξης binary), μετά την επιλογή ανοίγματος Παραδείγματα: Η παράμετρος "rb", ανοίγει ένα δυαδικό αρχείο για ανάγνωση Η παράμετρος "w+b", ανοίγει ένα δυαδικό αρχείο για ανάγνωση και εγγραφή Αν αποτύχει η εκτέλεση της συνάρτησης fopen(), τότε αυτή επιστρέφει την τιμή NULL Παραδείγματα αποτυχίας: Περίπτωση προσπάθειας ανάγνωσης ενός αρχείου, ενώ η παράμετρος filename περιέχει το όνομα ενός αρχείου που δεν υπάρχει Περίπτωση δημιουργίας ενός αρχείου, όταν η παράμετρος filename δεν περιέχει ένα έγκυρο όνομα κ.ο.κ

7 Παραδείγματα χρήσης της fopen() fopen("test.txt","r"); Ανοίγει για ανάγνωση το αρχείο κειμένου test.txt, το οποίο βρίσκεται στον ίδιο φάκελο με το εκτελέσιμο πρόγραμμα fopen("c:\\src\\test.txt","r"); Ανοίγει για ανάγνωση το αρχείο κειμένου test.txt, το οποίο βρίσκεται στον φάκελο c:\src fopen("test.txt","w"); Ανοίγει για εγγραφή το αρχείο κειμένου test.txt, που βρίσκεται στον ίδιο φάκελο με το εκτελέσιμο πρόγραμμα Αν το test.txt δεν υπάρχει, τότε δημιουργείται στον ίδιο φάκελο με το εκτελέσιμο πρόγραμμα fopen("d:\\src\\test.dat","a+b"); Ανοίγει για ανάγνωση και προσάρτηση το δυαδικό αρχείο test.dat, που βρίσκεται στον φάκελο d:\src Αν το test.dat δεν υπάρχει στον συγκεκριμένο φάκελο, τότε δημιουργείται μέσα στον φάκελο αυτόν (d:\src) 13 Παράδειγμα Τί κάνει το παρακάτω πρόγραμμα??? Διαβάζει το όνομα ενός αρχείου και εμφανίζει μήνυμα για το αν αυτό μπορεί να διαβαστεί ή όχι

8 Παρατηρήσεις Η τιμή επιστροφής της συνάρτησης fopen() πρέπει πάντα να ελέγχεται και μόνο αν αυτή είναι διαφορετική από NULL, θα πρέπει να επιτρέπεται να γίνουν διάφορες ενέργειες στο αρχείο Ο έλεγχος της επιστροφής της fopen() θα μπορούσε να γίνει σε μία γραμμή κώδικα ως εξής: if((fp = fopen(fname,"r")) == NULL) Οι εσωτερικές παρενθέσεις μπαίνουν για λόγους προτεραιότητας Όταν τελειώνει η επεξεργασία ενός αρχείου να το κλείνετε με χρήση της συνάρτησης fclose(), η οποία παρουσιάζεται παρακάτω Οι συναρτήσεις που περιγράφονται παρακάτω λειτουργούν και στους δύο τύπους αρχείων (αρχεία κειμένου και δυαδικά αρχεία) 15 Η τιμή EOF Η ειδική τιμή -1 χρησιμοποιείται για να μας ενημερώσει ότι: είτε φτάσαμε στο τέλος του αρχείου είτε συνέβη κάποιο λάθος στην εκτέλεση μίας λειτουργίας στο αρχείο (π.χ. εγγραφή) Η τιμή αυτή δηλώνεται με τη συμβολική σταθερά End Of File (EOF) στο αρχείο stdio.h Συγκεκριμένα, οι περισσότερες συναρτήσεις εγγραφής/ανάγνωσης επιστρέφουν την τιμή EOF, είτε όταν φτάσουν στο τέλος του αρχείου είτε αν συμβεί κάποιο λάθος κατά την εκτέλεσή τους 16 8

9 Κλείσιμο Αρχείου Η συνάρτηση fclose() χρησιμοποιείται για το κλείσιμο ενός ανοικτού αρχείου Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fclose(file* fp); Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() Η συνάρτηση fclose() επιστρέφει 0 αν το αρχείο έκλεισε επιτυχώς, αλλιώς επιστρέφει ΕΟF 17 Προσπέλαση Αρχείου Για κάθε ανοικτό αρχείο υπάρχει ένα πεδίο-δείκτης στη δομή FILE που δείχνει σε ποια θέση του αρχείου θα γίνει η επόμενη λειτουργία εγγραφής ή ανάγνωσης Π.χ. όταν ανοίγει ένα αρχείο για ανάγνωση ή εγγραφή, τότε αυτός ο δείκτης δείχνει στην αρχή του αρχείου Αν όμως ανοίγει ένα αρχείο μόνο για προσάρτηση, τότε αυτός ο δείκτης δείχνει στο τέλος του αρχείου Κάθε φορά που εκτελείται μία λειτουργία εγγραφής ή ανάγνωσης, η τιμή αυτού του δείκτη θέσης ενημερώνεται αυτόματα Π.χ. αν ανοίξει ένα αρχείο για ανάγνωση και με μία εντολή ανάγνωσης διαβαστούν 50 χαρακτήρες, τότε ο δείκτης μετακινείται δεξιά και δείχνει στη θέση του αρχείου που είναι 50 bytes μετά από την αρχή του αρχείου Αντίστοιχα, σε μία εγγραφή δεδομένων ο δείκτης μετακινείται δεξιά κατά τόσες θέσεις όσες και ο αριθμός των bytes που γράφτηκαν στο αρχείο Η συνάρτηση fseek() που θα παρουσιαστεί παρακάτω χρησιμοποιείται για να μετακινήσει τον δείκτη θέσης του αρχείου σε οποιοδήποτε σημείο του αρχείου 18 9

10 Εγγραφή σε Αρχείο Κειμένου Οι κυριότερες συναρτήσεις που χρησιμοποιούνται για εγγραφή δεδομένων σε ένα αρχείο κειμένου είναι οι: fprintf() fputs() fputc() Οι συναρτήσεις αυτές μπορούν να χρησιμοποιηθούν και για την εγγραφή δεδομένων σε δυαδικό αρχείο, αλλά δεν συνίσταται η χρήση τους 19 Η συνάρτηση fprintf() Η συνάρτηση fprintf() χρησιμοποιείται για την εγγραφή χαρακτήρων και αριθμητικών δεδομένων σε ένα αρχείο κειμένου Η σύνταξη και η χρήση της είναι πανομοιότυπη με τη συνάρτηση printf() με τη διαφορά ότι η συνάρτηση fprintf() δέχεται μία επιπλέον παράμετρο Αυτή η παράμετρος είναι ένας δείκτης σε μία δομή τύπου FILE, που συνδέεται με το αρχείο στο οποίο θέλουμε να αποθηκεύσουμε τα δεδομένα, και επιστρέφεται από τη συνάρτηση fopen() 20 10

11 Παράδειγμα Ι Τί κάνει το παρακάτω πρόγραμμα??? Γράφει 5 φορές το μήνυμα "Hello" και τον αντίστοιχο αύξοντα αριθμό στο αρχείο test.txt 21 Παράδειγμα ΙΙ Ποιο είναι το μέγεθος του αρχείου που δημιουργείται με το παρακάτω πρόγραμμα σε λειτουργικό σύστημα Windows??? Απάντηση: Για τον τριψήφιο αριθμό 123 αποθηκεύονται στο αρχείο τρεις χαρακτήρες. Ο χαρακτήρας '1' με ASCII τιμή 49, ο χαρακτήρας '2' με ASCII τιμή 50 και ο χαρακτήρας '3' με ASCII τιμή 51. Επίσης, στα Windows: '\n' '\r' '\n' (άρα τελικά: 5 bytes) 22 11

12 Παρατηρήσεις Σημειώστε ότι, αν στο τελευταίο παράδειγμα αλλάζαμε το προσδιοριστικό μετατροπής στην fprintf() και αντί για %d χρησιμοποιούσαμε %c, δηλαδή: fprintf(fp,"%c\n",123); τότε θα αποθηκευόταν στο αρχείο μόνο ένας χαρακτήρας, αυτός που έχει ASCII τιμή 123 Άρα, σε αυτή την περίπτωση το μέγεθος του αρχείου είναι 3 bytes ένα byte για τον χαρακτήρα με ASCII τιμή 123 ένα byte για το Carriage Return ('\r') και ένα byte για το Line Feed ('\n') Στη γενική περίπτωση, όταν αποθηκεύεται στο αρχείο ένας ακέραιος αριθμός με το προσδιοριστικό %d, τότε αποθηκεύονται τόσοι χαρακτήρες, όσα και τα ψηφία του αριθμού 23 Η συνάρτηση fputs() Η συνάρτηση fputs() χρησιμοποιείται για την εγγραφή μίας ακολουθίας χαρακτήρων σε ένα αρχείο κειμένου Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fputs(char* str,file* fp); Η παράμετρος str είναι ένας δείκτης στη μνήμη που περιέχει τους χαρακτήρες που θα αποθηκευτούν στο αρχείο Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() Η fputs() δεν προσθέτει αυτόματα τον χαρακτήρα νέας γραμμής στο τέλος της ακολουθίας Η συνάρτηση fputs() επιστρέφει μία μη αρνητική τιμή, αν η εγγραφή στο αρχείο ήταν επιτυχής, αλλιώς επιστρέφει EOF 24 12

13 Παράδειγμα Τί κάνει το παρακάτω πρόγραμμα??? Γράφει 5 φορές το μήνυμα "Hello" στο αρχείο test.txt αλλάζοντας και γραμμή κάθε φορά Η συνάρτηση fputc() Η συνάρτηση fputc() χρησιμοποιείται για την εγγραφή ενός χαρακτήρα σε ένα αρχείο κειμένου Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fputc(int ch,file* fp); Η παράμετρος ch είναι ο χαρακτήρας που θα αποθηκευτεί στο αρχείο Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() Αν η εγγραφή στο αρχείο ήταν επιτυχής η συνάρτηση fputc() επιστρέφει την ΑSCII τιμή του χαρακτήρα που αποθηκεύτηκε, αλλιώς EOF 26 13

14 Παρατηρήσεις Αν στα προηγούμενα παραδείγματα η παράμετρος fp των συναρτήσεων fprintf(), fputs() και fputc() αντικατασταθεί με τη λέξη stdout, τότε τα δεδομένα θα εμφανίζονται στην οθόνη Το stdout (standard output) αποτελεί το αρχείο εξόδου, το οποίο ανοίγει όταν ξεκινάει η εκτέλεση του προγράμματος και συνδέεται με την οθόνη 27 Διάβασμα από Αρχείο Κειμένου Οι κυριότερες συναρτήσεις που χρησιμοποιούνται για διάβασμα δεδομένων από ένα αρχείο κειμένου είναι οι: fscanf() fgets() fgetc() Τις συναρτήσεις αυτές τις χρησιμοποιούμε συγκρίνοντας την τιμή επιστροφής των με την τιμή που δηλώνει την επιτυχή ανάγνωση, ώστε, αν δεν είναι ίσες, να καταλάβουμε ότι είτε φτάσαμε στο τέλος του αρχείου είτε συνέβη κάποιο άλλο λάθος Ένας εναλλακτικός τρόπος για να διαπιστώσουμε αν φτάσαμε στο τέλος του αρχείου είναι με τη χρήση της συνάρτησης feof(), την οποία θα δούμε παρακάτω 28 14

15 Παρατηρήσεις Οι συναρτήσεις fscanf(), fgets() και fgetc() μπορούν να χρησιμοποιηθούν και για το διάβασμα δεδομένων από δυαδικό αρχείο, αλλά δεν συνίσταται η χρήση τους Για λόγους ευκολίας, προτείνουμε τα δεδομένα να διαβάζονται με τον ίδιο τρόπο με τον οποίο αποθηκεύτηκαν 29 Η συνάρτηση fscanf() Η συνάρτηση fscanf() χρησιμοποιείται για το διάβασμα χαρακτήρων και αριθμητικών δεδομένων από ένα αρχείο κειμένου Η σύνταξη και η χρήση της είναι πανομοιότυπη με τη συνάρτηση scanf() με τη διαφορά ότι η fscanf() δέχεται μία επιπλέον παράμετρο Αυτή η παράμετρος είναι ένας δείκτης σε μία δομή τύπου FILE, που συνδέεται με το αρχείο στο οποίο θέλουμε να αποθηκεύσουμε τα δεδομένα, και επιστρέφεται από τη συνάρτηση fopen() Όταν διαβάζονται διαφορετικά δεδομένα από το αρχείο η συνάρτηση fscanf(), όπως και η scanf(), χρησιμοποιεί το κενό διάστημα, για να ξεχωρίσουν οι τιμές μεταξύ των Η συνάρτηση fscanf() επιστρέφει το πλήθος των στοιχείων που διάβασε επιτυχημένα από το αρχείο, ενώ, όταν φτάσουμε στο τέλος του αρχείου ή αν συμβεί κάποιο άλλο λάθος, τότε η fscanf() επιστρέφει την τιμή EOF 30 15

16 Παράδειγμα Τί κάνει το παρακάτω πρόγραμμα??? Διαβάζει τους ακέραιους που περιέχονται στο αρχείο test.txt και τους εμφανίζει στην οθόνη 31 Παρατηρήσεις Όταν χρησιμοποιείτε την fscanf() πρέπει να γνωρίζετε με ποιον τρόπο είναι αποθηκευμένα τα δεδομένα στο αρχείο και τους αντίστοιχους τύπους δεδομένων Για παράδειγμα, αν κάθε γραμμή του αρχείου test.txt περιέχει έναν χαρακτήρα, έναν ακέραιο και έναν πραγματικό αριθμό, τότε ένα πρόγραμμα (όπως το επόμενο) θα μπορεί να διαβάσει σωστά τα δεδομένα από το αρχείο μόνο αν γνωρίζει τη συγκεκριμένη διάταξη, ώστε να χρησιμοποιήσει τους αντίστοιχους τύπους των δεδομένων δηλαδή char, int και float 32 16

17 Παράδειγμα Παρατηρείστε το '\n' στην fscanf(). Απαιτείται??? Ο χαρακτήρας '\n' προστίθεται έτσι ώστε να αγνοήσει η fscanf() τον χαρακτήρα '\n' που υπάρχει στο τέλος της γραμμής και να διαβάσει τον χαρακτήρα που υπάρχει στην επόμενη γραμμή. Αν δεν μπει, δεν θα λειτουργήσει σωστά το πρόγραμμα. 33 Η συνάρτηση fgets() Η συνάρτηση fgets() χρησιμοποιείται για το διάβασμα μίας ακολουθίας χαρακτήρων σε ένα αρχείο κειμένου Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: char* fgets(char* str,int size,file* fp); Η παράμετρος str είναι ένας δείκτης στη μνήμη, στην οποία θα αποθηκευτεί η ακολουθία των χαρακτήρων Η παράμετρος size δηλώνει τον αριθμό των χαρακτήρων που θα αποθηκευτούν στη δεσμευμένη μνήμη και προφανώς - δεν πρέπει να είναι μεγαλύτερος από το μέγεθος της δεσμευμένης μνήμης (Σημ. η fgets() προσθέτει στο τέλος τον τερματικό χαρακτήρα '\0') Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() Η συνάρτηση fgets() σταματάει να διαβάζει χαρακτήρες από το αρχείο, όταν διαβάσει τον χαρακτήρα νέας γραμμής ή όταν διαβάσει size-1 χαρακτήρες ενώ η επόμενη κλήση της fgets() συνεχίζει το διάβασμα των χαρακτήρων από εκεί που σταμάτησε η τελευταία Όταν φτάσουμε στο τέλος του αρχείου ή αν συμβεί κάποιο άλλο λάθος, τότε η fgets() επιστρέφει την τιμή NULL 34 17

18 Παρατηρήσεις Το μέγεθος της μνήμης που δεσμεύεται για την αποθήκευση των χαρακτήρων πρέπει να είναι μεγαλύτερο από το πλήθος των χαρακτήρων της κάθε γραμμής 35 Παράδειγμα Τί κάνει το παρακάτω πρόγραμμα??? Διαβάζει ένα αλφαριθμητικό μέχρι 100 χαρακτήρες, το αποθηκεύει στο αρχείο test.txt και κλείνει το αρχείο. Στη συνέχεια, ανοίγει πάλι το αρχείο, διαβάζει το αλφαριθμητικό και το εμφανίζει στην οθόνη 36 18

19 Η συνάρτηση fgetc() Η συνάρτηση fputc() χρησιμοποιείται για το διάβασμα ενός χαρακτήρα από ένα αρχείο κειμένου Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fgetc(file* fp); Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() H συνάρτηση fgetc() επιστρέφει τον χαρακτήρα που διαβάστηκε Όταν φτάσουμε στο τέλος του αρχείου ή αν συμβεί κάποιο άλλο λάθος, τότε η fgetc() επιστρέφει την τιμή EOF 37 Τέλος Αρχείου Υπενθυμίζεται ότι στα αρχεία κειμένου υπάρχει ένας ειδικός χαρακτήρας που καθορίζει το τέλος του αρχείου, ενώ στα δυαδικά αρχεία δεν υπάρχει κάποιος αντίστοιχος χαρακτήρας Για λειτουργικά συστήματα Windows ο ειδικός αυτός χαρακτήρας είναι ο Ctrl+Z με ASCII τιμή 26 Για λειτουργικά συστήματα Unix ο ειδικός αυτός χαρακτήρας είναι ο χαρακτήρας Ctrl+D με ASCII τιμή

20 Εγγραφή και διάβασμα σε/από δυαδικό αρχείο Στα δυαδικά αρχεία οι συναρτήσεις που χρησιμοποιούνται για την εγγραφή και την ανάγνωση δεδομένων είναι: για εγγραφή δεδομένων η συνάρτηση fwrite() για διάβασμα δεδομένων η συνάρτηση fread() 39 Η συνάρτηση fwrite() (I) Η συνάρτηση fwrite() χρησιμοποιείται κυρίως για άμεση αποθήκευση δεδομένων από τη μνήμη σε δυαδικό αρχείο Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fwrite(void* buf,int size,int count,file* fp); Η παράμετρος buf είναι ένας δείκτης στη διεύθυνση μνήμης που βρίσκονται τα δεδομένα που θα αποθηκευτούν στο αρχείο Ο τύπος του δείκτη είναι void, ώστε να μπορεί να αποθηκευτεί οποιοσδήποτε τύπος δεδομένων Η παράμετρος size καθορίζει το μέγεθος ενός μεμονωμένου στοιχείου σε bytes, ενώ η παράμετρος count καθορίζει το πλήθος των στοιχείων που θα αποθηκευτούν στο αρχείο Για να βρούμε το μέγεθος ενός μεμονωμένου στοιχείου χρησιμοποιούμε τον τελεστή sizeof() Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() 40 20

21 Η συνάρτηση fwrite() (II) int fwrite(void* buf,int size,int count,file* fp); Το γινόμενο των παραμέτρων size και count πρέπει να είναι ίσο με τον αριθμό των bytes που επιθυμούμε να αποθηκευτούν στο αρχείο Π.χ. αν θέλαμε να αποθηκεύσουμε σε ένα δυαδικό αρχείο έναν πίνακα 10 ακεραίων, τότε η τιμή του size θα ήταν όσο και το μέγεθος μίας μεταβλητής ακέραιου τύπου σε bytes, δηλαδή 4, και η τιμή του count ίση με 10 Η συνάρτηση fwrite() επιστρέφει το πλήθος των στοιχείων που αποθηκεύτηκαν επιτυχημένα στο αρχείο Αν αυτή η τιμή δεν είναι ίση με count, τότε σημαίνει ότι η εγγραφή δεν ήταν επιτυχής 41 Παραδείγματα χρήσης της fwrite() Π.χ. Αποθήκευση του πραγματικού αριθμού a σε δυαδικό αρχείο: float a; fwrite(&a,sizeof(float),1,fp); Π.χ. Αποθήκευση των 100 ακεραίων που περιέχονται στον πίνακα arr σε δυαδικό αρχείο: int arr[100]; fwrite(arr,sizeof(int),100,fp); ΠΑΡΑΤΗΡΗΣΕΙΣ: Η συνάρτηση fwrite() είναι η πλέον κατάλληλη συνάρτηση για την άμεση αποθήκευση μεγάλου όγκου δεδομένων, όπως πίνακες, δομές, πίνακες δομών,..., από τη μνήμη σε δυαδικό αρχείο 42 21

22 Η συνάρτηση fread() (I) Η συνάρτηση fwrite() χρησιμοποιείται κυρίως για άμεσο διάβασμα δεδομένων από ένα δυαδικό αρχείο στη μνήμη Το πρωτότυπο της συνάρτησης δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fread(void* buf,int size,int count,file* fp); Η παράμετρος buf είναι ένας δείκτης στη διεύθυνση μνήμης που θα αποθηκευτούν τα δεδομένα που θα διαβαστούν από το αρχείο Ο τύπος του δείκτη είναι void, ώστε να μπορεί να διαβαστεί οποιοσδήποτε τύπος δεδομένων Η παράμετρος size καθορίζει το μέγεθος ενός μεμονωμένου στοιχείου σε bytes, ενώ η παράμετρος count καθορίζει το πλήθος των στοιχείων που θα αποθηκευτούν στη μνήμη Για να βρούμε το μέγεθος ενός μεμονωμένου στοιχείου χρησιμοποιούμε τον τελεστή sizeof() Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() 43 Η συνάρτηση fread() (IΙ) int fread(void* buf,int size,int count,file* fp); Η συνάρτηση fread() επιστρέφει το πλήθος των στοιχείων που διαβάστηκαν επιτυχημένα από το αρχείο Αν αυτή η τιμή δεν είναι ίση με count, τότε σημαίνει είτε ότι η ανάγνωση δεν ήταν επιτυχής είτε ότι φτάσαμε στο τέλος του αρχείου 44 22

23 Παραδείγματα χρήσης της fread() Π.χ. Διάβασμα ενός πραγματικού αριθμού από δυαδικό αρχείο και αποθήκευση στη μεταβλητή a: float a; fread(&a,sizeof(float),1,fp); Π.χ. Διάβασμα 100 ακεραίων από δυαδικό αρχείο και αποθήκευση στον πίνακα ακεραίων arr : int arr[100]; fread(arr,sizeof(int),100,fp); ΠΑΡΑΤΗΡΗΣΕΙΣ: Η συνάρτηση fwrite() είναι η πλέον κατάλληλη συνάρτηση για τo άμεσο διάβασμα μεγάλου όγκου δεδομένων, όπως πίνακες, δομές, πίνακες δομών,..., από δυαδικό αρχείο στη μνήμη Οι συναρτήσεις fwrite() και fread() προτείνεται να χρησιμοποιούνται σε δυαδικά αρχεία και όχι σε αρχεία κειμένου Π.χ. μία εντολή εγγραφής 50 χαρακτήρων σε ένα αρχείο κειμένου θα εγγράψει λιγότερους χαρακτήρες αν αυτοί δεν είναι στην ίδια γραμμή, λόγω της ενδεχόμενης αντικατάστασης του χαρακτήρα νέας γραμμής από δύο χαρακτήρες 45 Η συνάρτηση feof() Έως τώρα, για να διαπιστώσουμε αν φτάσαμε στο τέλος κάποιου αρχείου, ελέγχαμε την τιμή επιστροφής της συνάρτησης που χρησιμοποιούσαμε για διάβασμα από το αρχείο Π.χ. η συνάρτηση fgets() επιστρέφει NULL, όταν φτάσουμε στο τέλος του αρχείου Ένας εναλλακτικός τρόπος για να ανιχνεύσουμε το τέλος κάποιου αρχείου είναι με τη χρήση της συνάρτησης feof() Το πρωτότυπό της δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int feof(file* fp); Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() Η συνάρτηση feof() επιστρέφει μη μηδενική τιμή όταν φτάσουμε στο τέλος του αρχείου, αλλιώς επιστρέφει την τιμή

24 Παρατηρήσεις Η ανίχνευση του τέλους ενός αρχείου προτείνεται να γίνεται ελέγχοντας την τιμή επιστροφής της συνάρτησης που χρησιμοποιείται για το διάβασμα των περιεχομένων του (π.χ. fgets(), fscanf(),...) και όχι με την feof() Άρα πότε πρέπει να χρησιμοποιείται η feof()? Η feof() πρέπει να χρησιμοποιείται όταν θέλετε να επιβεβαιώσετε ότι μία εντολή ανάγνωσης απέτυχε, επειδή φτάσατε στο τέλος του αρχείου και όχι για κάποιον άλλον λόγο Π.χ. if(fgets(text,sizeof(text),fp) == NULL) { if(feof(fp) printf("end of file\n"); else printf("fgets() failed\n"); } Η συνάρτηση feof() μπορεί να χρησιμοποιηθεί και σε δυαδικά αρχεία και σε αρχεία κειμένου 47 Άμεση εγγραφή δεδομένων στο αρχείο Οι συναρτήσεις fprintf(), fputs(), fputc() και fwrite() που είδαμε, χρησιμοποιούνται για την εγγραφή δεδομένων σε αρχεία κειμένου και σε δυαδικά αρχεία Στην πραγματικότητα, τα δεδομένα δεν αποθηκεύονται κατευθείαν στο αρχείο που βρίσκεται στον δίσκο, αλλά αποθηκεύονται προσωρινά σε ένα τμήμα μνήμης που έχει δεσμευτεί γι αυτόν τον σκοπό Δηλαδή, για κάθε αρχείο που ανοίγει για εγγραφή, το λειτουργικό σύστημα δεσμεύει ένα μπλοκ μνήμης, στο οποίο αποθηκεύονται προσωρινά τα δεδομένα, πριν αυτά εγγραφούν στο αρχείο Όταν αυτή η μνήμη γεμίσει με δεδομένα, τότε το λειτουργικό σύστημα αυτόματα παίρνει τα δεδομένα από τη μνήμη και τα αποθηκεύει στο αρχείο Ωστόσο, αν συμβεί κάποιο πρόβλημα στη λειτουργία του προγράμματος (π.χ. crash) ή στη λειτουργία του υπολογιστή (π.χ. διακοπή ή πτώση τάσης), τότε τα δεδομένα που βρίσκονται στη μνήμη μπορεί να χαθούν και να μην αποθηκευτούν στο αρχείο 48 24

25 Η συνάρτηση fflush() Τη συνάρτηση fflush() την έχουμε ήδη χρησιμοποιήσει, πριν από το διάβασμα νέων δεδομένων, για τη διαγραφή των χαρακτήρων που πιθανόν να έχουν παραμείνει στη μνήμη που συνδέεται με το πληκτρολόγιο Μία άλλη χρήση της συνάρτησης fflush() είναι για την άμεση εγγραφή των δεδομένων στο αρχείο Όταν δηλαδή καλείται η συνάρτηση fflush() τα δεδομένα που βρίσκονται στη μνήμη αποθηκεύονται άμεσα στο αρχείο Το πρωτότυπό της δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fflush(file* fp); Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() Η συνάρτηση fflush() επιστρέφει την τιμή 0, αν η άμεση αποθήκευση των δεδομένων στο αρχείο ήταν επιτυχής, αλλιώς επιστρέφει την τιμή EOF 49 Παρατηρήσεις Η κλήση της συνάρτησης fflush() με παράμετρο NULL, δηλαδή fflush(null); αποθηκεύει όλα τα δεδομένα που υπάρχουν στις μνήμες στα αντίστοιχα ανοικτά αρχεία Το stdin δηλώνεται στο αρχείο stdio.h και είναι ένας δείκτης στο αρχείο εισόδου, το οποίο ανοίγει όταν ξεκινάει η εκτέλεση του προγράμματος και συνδέεται με την εισαγωγή δεδομένων από το πληκτρολόγιο, δηλ. με την εντολή fflush(stdin); διαγράφονται οι χαρακτήρες που μπορεί να έχουν παραμείνει στο αρχείο εισόδου (ΠΡΟΣΟΧΗ όμως, η συγκεκριμένη χρήση της fflush() δεν υποστηρίζεται από το πρότυπο) 50 25

26 Η συνάρτηση fseek() (Ι) Η συνάρτηση fseek() χρησιμοποιείται για να μετακινήσει τον δείκτη που δείχνει σε κάποια θέση του αρχείου, σε οποιοδήποτε σημείο του αρχείου Το πρωτότυπό της δηλώνεται στο αρχείο stdio.h και είναι το ακόλουθο: int fseek(file* fp,long offset,int origin); Η παράμετρος fp είναι ο δείκτης σε μία δομή τύπου FILE, που επιστρέφεται από τη συνάρτηση fopen() Η παράμετρος offset δηλώνει πόσα bytes θα απέχει η νέα θέση του δείκτη από τη θέση που καθορίζεται στο πεδίο origin Η τιμή του offset μπορεί να είναι και αρνητική, γεγονός που σημαίνει ότι η μετατόπιση του δείκτη γίνεται προς τα πίσω μέσα στο αρχείο) 51 Η συνάρτηση fseek() (ΙΙ) int fseek(file* fp,long offset,int origin); Η παράμετρος origin καθορίζει το σημείο εκκίνησης από το οποίο θα μετακινηθεί ο δείκτης και οι επιτρεπτές τιμές φαίνονται στον πίνακα Σταθερά Τιμή Περιγραφή SEEK_SET 0 ο δείκτης θέσης του αρχείου μεταφέρεται offset bytes από την αρχή του αρχείου SEEK_CUR 1 ο δείκτης θέσης του αρχείου μεταφέρεται offset bytes από την τρέχουσα θέση του SEEK_END 2 ο δείκτης θέσης του αρχείου μεταφέρεται offset bytes από το τέλος του αρχείου Η συνάρτηση fseek() επιστρέφει την τιμή 0, αν ο δείκτης μετακινήθηκε επιτυχώς, αλλιώς επιστρέφει μία μη μηδενική τιμή 52 26

27 Παρατηρήσεις Η συνάρτηση fseek() χρησιμοποιείται κυρίως σε δυαδικά αρχεία και όχι σε αρχεία κειμένου, γιατί, εξαιτίας της μετατροπής του χαρακτήρα νέας γραμμής ('\n') στον χαρακτήρα τέλους γραμμής και αντίστροφα, μπορεί να μην λειτουργήσει σωστά Σε αρχεία κειμένου η fseek() θα λειτουργήσει σίγουρα σωστά, αν η τιμή του πεδίου offset είναι μηδέν (0) και για οποιαδήποτε τιμή του πεδίου origin 53 Παραδείγματα Ποια είναι η έξοδος του παρακάτω προγράμματος??? 54 27

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

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

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

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

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Δέκατη-τρίτη (13 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ FILE SYSTEM >_ ΔΙΚΑΙΩΜΑΤΑ >_ ΔΙΚΑΙΩΜΑΤΑ? >_ ΜΕΤΑΒΟΛΗ ΔΙΚΑΙΩΜΑΤΩΝ +- chmod

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Διαχείριση

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

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

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

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

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

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

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

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

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

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 9 η Χαρακτήρες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

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

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Αλφαριθμητικά και Αρχεία Αλφαριθμητικά (strings) Αρχεία (files) τα βασικά στοιχεία Αλφαριθμητικά της C Συμβολοσειρές (= ακολουθίες

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 13 Αρχεία Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αρχεία Συλλογές δεδομένων Αποθηκεύονται στην περιφερειακή μνήμη π.χ. σκληρός

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 10 η Αλφαριθμητικά Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

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

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 8 η Δείκτες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Αλφαριθμητικά θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

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

Προγραμματισμός H/Y Ενότητα 7: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 7: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 7: Αρχεία Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

FILE *fopen(const char *fname, const char *mode) void fclose(file *f) void fflush(file *f)

FILE *fopen(const char *fname, const char *mode) void fclose(file *f) void fflush(file *f) Προγραµµατισµός Ι (ΗΥ120) ιάλεξη 19: Αρχεία Μόνιµη αποθήκευση δεδοµένων Η µνήµη (RAM) του Η/Υ κρατά δεδοµένα µόνο όσο της δίνεται µια ικανοποιητική παροχή ρεύµατος. Τα περιεχόµενα της µνήµης χάνονται (αµέσως)

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

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct) Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct) Αρχεία Το γενικό πλαίσιο: data stream (ρεύμα δεδομένων). stdin, stdout, stderr data stream ως προς τα δεδομένα βάσει προσπέλασης

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

Περιεχόµενα. Πρόλογος... 15

Περιεχόµενα. Πρόλογος... 15 Πρόλογος... 15 Κεφάλαιο 1: Εισαγωγή... 17 Πώς να διαβάσετε αυτό το βιβλίο...18 Η γλώσσα C Ιστορική αναδροµή...19 Τα χαρακτηριστικά της C...20 C Μια δοµηµένη γλώσσα...20 C Μια γλώσσα για προγραµµατιστές...21

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

Η γλώσσα προγραμματισμού C Χειρισμός αρχείων

Η γλώσσα προγραμματισμού C Χειρισμός αρχείων Η γλώσσα προγραμματισμού C Χειρισμός αρχείων Γιατί αρχεία; Τα δεδομένα που χρησιμοποιούνται σε ένα πρόγραμμα βρίσκονται στην κύρια μνήμη του υπολογιστή όσο εκτελείται το πρόγραμμα. Μετά τη εκτέλεση του

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

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

ιαφάνειες παρουσίασης #6 (β) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη

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

Επεξεργασία Αρχείων Κειµένου

Επεξεργασία Αρχείων Κειµένου Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά

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

S, (5, -3, 34, -23, 7) ( /, @, *, _

S, (5, -3, 34, -23, 7) ( /, @, *, _ 1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ (Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα

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

ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο

ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο (File) τη συστηµατική συγκέντρωση δεδοµένων. Τα περισσότερα προγράµµατα στη γλώσσα C, τα οποία διαπραγµατεύονται είσοδο, αποθήκευση και επεξεργασία δεδοµένων χρησιµοποιούν

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

Περιεχόμενα. Πρόλογος... 21

Περιεχόμενα. Πρόλογος... 21 Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31

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

Βιβλιοθήκη stdio. Προγραμματισμός II 1

Βιβλιοθήκη stdio. Προγραμματισμός II 1 Βιβλιοθήκη 1 lalis@inf.uth.gr Δεδομένα και ερμηνεία (ξανά) Τα δεδομένα στον Η/Υ έχουν δυαδική μορφή (bytes) Η ερμηνεία των bytes εξαρτάται από το πρόγραμμα που παράγει/καταναλώνει τα δεδομένα Μια δημοφιλής

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

Αρχεία εδοµένων. Προγραµµατισµός Ι 1

Αρχεία εδοµένων. Προγραµµατισµός Ι 1 Αρχεία εδοµένων Προγραµµατισµός Ι lalis@inf.uth.gr 1 Μόνιµη αποθήκευση δεδοµένων Η µνήµη (RAM) του Η/Υ κρατάδεδοµένα µόνο όσο της δίνεται µια ικανοποιητική παροχή ρεύµατος. Τα περιεχόµενα της µνήµης χάνονται

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

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files)

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files) ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files) Αρχείο είναι μια συλλογή δεδομένων του ίδιου τύπου. Ενα αρχείο αποθηκεύεται στην περιφερειακή μνήμη (σκληρό δίσκο, δισκέττα). Τα αρχεία είναι μόνιμα. Τα δεδομένα

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

Βιβλιοθήκη stdio. Προγραμματισμός II 1

Βιβλιοθήκη stdio. Προγραμματισμός II 1 Βιβλιοθήκη 1 lalis@inf.uth.gr Σύνοψη Ορίστηκε από τον Dennis Ritchie το 1975 Μέρος του προτύπου ANSI C Λειτουργίες εισόδου/εξόδου υψηλού επίπεδου και ανεξάρτητες λειτουργικού συστήματος Υποστήριξη για

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

C: Από τη Θεωρία στην Εφαρμογή

C: Από τη Θεωρία στην Εφαρμογή Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1

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

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

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

Προγραμματισμός σε C. Αρχεία κειμένου (Text files)

Προγραμματισμός σε C. Αρχεία κειμένου (Text files) Προγραμματισμός σε C Αρχεία κειμένου (Text files) Εισαγωγή Στη C έχουμε ειδικές συναρτήσεις για να επεξεργαζόμαστε αρχεία κειμένου που αποθηκεύονται στο δίσκο Τα αρχεία είναι σημαντικά για μόνιμη αποθήκευση

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

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο. Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο. Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή στη C Η γλώσσα προγραμματισμού C είναι υψηλού επιπέδου με δυνατότητες

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Παρατηρήσεις

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην

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

4ο σετ σημειώσεων - Χειρισμός αρχείων και structs

4ο σετ σημειώσεων - Χειρισμός αρχείων και structs 4ο σετ σημειώσεων - Χειρισμός αρχείων και structs 5 Ιουνίου 2012 1 Αρχεία Η στάνταρ βιβλιοθήκη stdio.h της γλώσσας μας δίνει τη δυνατότητα να χειριστούμε αρχεία του λειτουργικού συστήματος. Οι συναρτήσεις

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

Εισαγωγή στον Προγραµµατισµό «C»

Εισαγωγή στον Προγραµµατισµό «C» Εισαγωγή Στον Προγραµµατισµό «C» Δείκτες Πανεπιστήµιο Πελοποννήσου Τµήµα Επιστήµης & Τεχνολογίας Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Μνήµη Υπολογιστή Η µνήµη RAM (Random Access Memory) ενός υπολογιστή

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 3ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΕΚΤΥΠΩΣΗ ΚΕΙΜΕΝΟΥ Ένα κείμενο μπορεί να εκχωρηθεί ως τιμή μιας μεταβλητής

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 8η εβδομάδα. Κοζάνη, 26 Νοεμβρίου 2008. Οι ασκήσεις αυτής της σειράς βασίζονται σε παραδείγματα από το βιβλίο του Β. Σεφερίδη C για αρχάριους

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

Αρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr

Αρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Τύποι αρχείων Ρεύματα Άνοιγμα ρευμάτων Εγγραφή και ανάγνωση δεδομένων προς/από ένα ρεύμα Διαχείριση και κλείσιμο ρευμάτων Παραδείγματα

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία Τα δεδομένα που επεξεργαζόμαστε, καθώς και ο κώδικας που τρέχουμε, βρίσκονται αποθηκευμένα στη μνήμη RAM (Random Access Memory) του υπολογιστή. Τα δεδομένα

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

Προγραµµατισµός Ι Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι 1 Νικόλαος Δ.

Προγραµµατισµός Ι Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι 1 Νικόλαος Δ. Αλφαριθµητικά Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι 1 Αλφαριθµητικά - Εισαγωγή Ένα αλφαριθµητικό (string) είναι µία

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

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

Διαδικαστικός Προγραμματισμός

Διαδικαστικός Προγραμματισμός Ενότητα 11: Αρχεία κειμένου Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή

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

Προγραµµατισµός. Αρχεία

Προγραµµατισµός. Αρχεία Προγραµµατισµός Αρχεία Προγραµµατισµός Η Βιβλιοθήκη Εισόδου/Εξόδου Στο stdio.h ηλώνεται ο τύπος δεδοµένων FILE (µε typedef) µε όλες τις πληροφορίες που χρειάζονται για προσπέλαση του αρχείου από τις αντίστοιχες

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

Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II

Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II Ασκήσεις - Μελέτες περίπτωσης για το μάθημα Προγραμματισμός II (1) Να καταστρωθεί πρόγραμμα, το οποίο θα διαβάζει δύο αλφαριθμητικά από το πληκτρολόγιο και θα τα μεταβιβάζει στη συνάρτηση str_index(char

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

H ΓΛΩΣΣΑ C. Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Eξόδου. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Eξόδου. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Eξόδου ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος A. Συναρτήσεις ροής εξόδου stdout 1. Γενικά 2. Η συνάρτηση putchar() 3. Οι συναρτήσεις putc() και fputc()

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

αρχεία Εξωτερικά αρχεία Ηµερολόγιο υπολογισµών (log-file) εδοµένα από αρχεία m Επιστροφή στο λειτουργικό σύστηµα Επιπρόσθετες εντολές εισόδου/εξόσου

αρχεία Εξωτερικά αρχεία Ηµερολόγιο υπολογισµών (log-file) εδοµένα από αρχεία m Επιστροφή στο λειτουργικό σύστηµα Επιπρόσθετες εντολές εισόδου/εξόσου Ηµερολόγιο υπολογισµών (log-file) εδοµένα από αρχεία m Επιστροφή στο λειτουργικό σύστηµα Εγγραφή δεδοµένων σε εξωτερικά αρχεία Ανταλλαγή δεδοµένων µε το Excel Επιπρόσθετες εντολές εισόδου/εξόσου εξόσου

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 1: Συγχώνευση Εγγραφών Δυαδικών Αρχείων Προθεσμία: 2 Μαΐου 2011, 5:00μμ

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

Προγραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Δομές & Ενώσεις Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι 1 Δομές (Structures) Δομή (structure) στη C είναι μία συλλογή από μεταβλητές οποιουδήποτε

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

Διαδικασιακός Προγραμματισμός

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 6 η Βρόχοι Επανάληψης Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 5 η Έλεγχος Προγράμματος Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2015 2016 Ι. Ιωαννίδης Άσκηση 3: Αποθήκευση κατά στήλες Προθεσμία: 25 Ιανουαρίου 2016, 11:59μμ Ο σκοπός της εργασίας

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 13 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

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

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 Ευρετήριο Η γλώσσα C σε βάθος # #define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579 A abs(), 625 AND, 64 ASCII πίνακας

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Χειρισμός χαρακτήρων, συμβολοσειρές Συμβολοσειρές Συμβολοσειρά ονομάζουμε μια οποιαδήποτε ακολουθία αλφαριθμητικών χαρακτήρων: «Κώστας», «Κώστας Βασιλάκης», «Δαιδάλου 23» Στην

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Εισαγωγή στον προγραμματισμό Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Δομή Προγράμματος Όλα τα προγράμματα που γράψαμε έχουν λίγο πολύ την ακόλουθη μορφή: Κάποιος κώδικας εδώ main( ) {

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα Αλφαριθμητικά Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό

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

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

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

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Μονοδιάστατοι Πίνακες (tables) Μια συλλογή μεταβλητών ίδιου τύπου οι οποίες είναι αποθηκευμένες

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 3: Είσοδος / Έξοδος, Βασικοί Τύποι, Δήλωση Μεταβλητών Ένα Ακόμα Παράδειγμα #include int main(int argc, char* argv[]) { } putchar('h'); putchar('e'); putchar('l');

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

Προγραμματισμός σε C. Αρχεία κειμένου (Text files)

Προγραμματισμός σε C. Αρχεία κειμένου (Text files) Προγραμματισμός σε C Αρχεία κειμένου (Text files) Εισαγωγή Στη C έχουμε ειδικές συναρτήσεις για να επεξεργαζόμαστε αρχεία κειμένου που αποθηκεύονται στο δίσκο Τα αρχεία είναι σημαντικά για μόνιμη αποθήκευση

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2011 2012 Καθηγητές Μ. Χατζόπουλος, Δ. Γουνόπουλος Άσκηση 1 Παράδοση 4 Μαϊου Σκοπός της εργασίας αυτής είναι η κατανόηση

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