Προγραμματισμός ΙI (E)

Σχετικά έγγραφα
Προγραμματισμός ΙI (E)

Προγραμματισμός ΙI (E)

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ)

Προγραμματισμός I (Θ)

Προγραμματισμός ΙI (Θ)

Προγραμματισμός I (Θ)

Προγραμματισμός I (Θ)

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Προγραμματισμός ΙI (Θ)

Προγραμματισμός I (E)

Προγραμματισμός I (Θ)

Εξοικ Εξ ε οικ ίωση ε με το το πρόγ ραμμα πρόγ DEV C++ Επικοι Επικ νωνία οι Χρήσ Χρήστη τη Υπολ Υπο ογισ λ τή

Προγραμματισμός II. stdio.h> #include <conio.h< conio.h> #include <stdlib.h< stdlib.h> static int j=0; j=j*n; ("j=%d\t",j); return ((*py.

Προγραμματισμός I (Θ)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

Προγραμματισμός I (E)

Προγραμματισμός I (Θ)

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

Προγραμματισμός I (Θ)

Προγραμματισμός ΙI (Θ)

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

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

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

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

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

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

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

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

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

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

Γλώσσα Προγραμματισμού C

int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει

Προγραμματισμός I (Θ)

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

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

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

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

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

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

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

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

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

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

Προγραμματισμός ΙI (Θ)

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

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

Πίνακες. Χρησιμοποιούνται για αποθήκευση συνόλου δεδομένων του ίδιου τύπου. Γραμμική Διάταξη Δήλωση Τύπος Δεδομένων ΌνομαΠίνακα[ length ]

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος Διάλεξη Νο8

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Τμ. Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Α Εξεταστική Περίοδος, 25 Ιουνίου 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ Ηλίας. Κ. Σάββας

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

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

Συναρτήσεις. Εισαγωγή

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

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

ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΑΣΚΗΣΗ #5 Προτεινόμενη Λύση

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραμματισμός II Τα κανάλια stdin, stdout, stderr κανάλι καθιερωμένης εισόδου stdin κανάλι καθιερωμένης εξόδου stdout κανάλι σφαλμάτων stderr

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

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

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

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

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

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

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

Ηλεκτρονικοί Υπολογιστές

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

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

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

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

Transcript:

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (E) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2015 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 1 / 10

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙI (Ε) 1 Λύση Άσκησης 2 Δυαδικά Αρχεία Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 2 / 10

Αρχεία - Άσκηση Άσκηση Να αναπτύξετε πρόγραμμα το οποίο 1 θα δέχεται 20 πραγματικούς αριθμούς από ένα αρχείο κειμένου (θα πρέπει να το δημιουργήσετε) 2 θα τους αποθηκεύει σε πίνακα και μέσω μιας συνάρτησης θα υπολογίζει και θα επιστρέφει το άθροισμα των στοιχείων του πίνακα στην main 3 Το άθροισμα θα εκτυπώνεται στην main Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 3 / 10

Προτεινόμενη λύση της άσκησης #include <stdio.h> #include <stdlib.h> float myfun(float p[20]); int main() { FILE *pf1; int i; float p[20],sum; pf1=fopen("myfile.txt","r"); for(i=0;i<20;i=i+1) { fscanf(pf1,"%f",&p[i]); sum=myfun(p); printf("sum = %.2f\n",sum); fclose(pf1); system("pause"); return 0; float myfun(float p[20]) { int i; float s=0; for(i=0;i<20;i=i+1) { s=s+p[i]; return(s); Θα πρέπει να υπάρχει το αρχείο "myfile.txt" το οποίο να περιέχει 20 πραγματικούς αριθμούς Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 4 / 10

Άσκηση Να αναπτύξετε πρόγραμμα το οποίο 1 θα δέχεται 20 πραγματικούς αριθμούς από ένα δυαδικό αρχείο (θα πρέπει να το δημιουργήσετε) 2 θα τους αποθηκεύει σε πίνακα και μέσω μιας συνάρτησης θα υπολογίζει και θα επιστρέφει το άθροισμα των στοιχείων του πίνακα στην main 3 Το άθροισμα θα εκτυπώνεται στην main Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 5 / 10

#include <stdio.h> #include <stdlib.h> int main() { FILE *pf1, *pf2; int i,cnt; float p[20]; pf1=fopen("myfile.txt","r"); pf2=fopen("myfile.dat","w"); for(i=0;i<20;i=i+1) { fscanf(pf1,"%f",&p[i]); cnt = fwrite(p, sizeof(float), 20, pf2); fclose(pf1); fclose(pf2); system("pause"); return 0; Το παραπάνω πρόγραμμα αντιγράφει τους αριθμούς του αρχείου κειμένου "myfile.txt" στο δυαδικό αρχείο "myfile.dat" Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 6 / 10

#include <stdio.h> #include <stdlib.h> float myfun(float p[20]); int main() { FILE *pf1; int i,cnt; float p[20],sum; pf1=fopen("myfile.dat","r"); cnt = fread(p, sizeof(float), 20, pf1); sum=myfun(p); printf("sum = %.2f\n",sum); fclose(pf1); system("pause"); return 0; Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 7 / 10

float myfun(float p[20]) { int i; float s=0; for(i=0;i<20;i=i+1) { s=s+p[i]; return(s); Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 8 / 10

Διάβασμα στοιχείων ενός δυαδικού αρχείου - Η συνάρτηση fread Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 9 / 10

Διάβασμα στοιχείων ενός δυαδικού αρχείου - Η συνάρτηση fread Η συνάρτηση cnt = fread(p, sizeof(float), 20, pf1); διαβάζει από το αρχείο που αντιστοιχεί στον δείκτη pf1 20 πραγματικούς αριθμούς και τους καταχωρεί στον πίνακα p. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 9 / 10

Διάβασμα στοιχείων ενός δυαδικού αρχείου - Η συνάρτηση fread Η συνάρτηση cnt = fread(p, sizeof(float), 20, pf1); διαβάζει από το αρχείο που αντιστοιχεί στον δείκτη pf1 20 πραγματικούς αριθμούς και τους καταχωρεί στον πίνακα p. Εκτύπωση στοιχείων σε δυαδικό αρχείο - Η συνάρτηση fwrite Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 9 / 10

Διάβασμα στοιχείων ενός δυαδικού αρχείου - Η συνάρτηση fread Η συνάρτηση cnt = fread(p, sizeof(float), 20, pf1); διαβάζει από το αρχείο που αντιστοιχεί στον δείκτη pf1 20 πραγματικούς αριθμούς και τους καταχωρεί στον πίνακα p. Εκτύπωση στοιχείων σε δυαδικό αρχείο - Η συνάρτηση fwrite Η συνάρτηση cnt = fwrite(p, sizeof(float), 20, pf2); τυπώνει στο αρχείο που αντιστοιχεί στον δείκτη pf2 20 πραγματικούς αριθμούς από τον πίνακα p. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 9 / 10

Τα πλεονεκτήματα των δυαδικών αρχείων είναι ότι Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 10 / 10

Τα πλεονεκτήματα των δυαδικών αρχείων είναι ότι καταλαμβάνουν λιγότερο χώρο (80 bytes το "myfile.dat", 113 bytes το "myfile.txt"). Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 10 / 10

Τα πλεονεκτήματα των δυαδικών αρχείων είναι ότι καταλαμβάνουν λιγότερο χώρο (80 bytes το "myfile.dat", 113 bytes το "myfile.txt"). η προσπέλαση είναι πιο άμεση, δεν χρειάζεται επαναληπτική δομή Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 10 / 10