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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Προγραμματισμός 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 (Θ)

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

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

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

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

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

ΑΡΧΕΙΑ ΚΕΙΜΕΝΟΥ ΣΤΗΝ C

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

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

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

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

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

Προγραμματισμό για ΗΜΥ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

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

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

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

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

Τύποι Δεδομένων Είσοδος/Έξοδος

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

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

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

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ 8/9/2008

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

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

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

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

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

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

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

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

12. Συναρτήσεις (Μέρος ΙI)

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

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

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

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

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

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

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

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

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

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

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

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

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

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

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

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

Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Transcript:

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

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

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

Προτεινόμενη λύση της άσκησης #include <stdio.h> #include <stdlib.h> void myfun(int n, int *p1, float *p2); int main() { int s1, n; float s2; printf("give n: "); scanf("%d",&n); myfun(n, &s1, &s2); printf("\n 1-2+3-...+%d = %d\n",n,s1); printf("\n 1+1/2+1/3+...+1/%d = %f\n\n",n,s2); system("pause"); return 0; } void myfun(int n, int *p1, float *p2) { int i,j=1; *p1=0; *p2=0; for(i=1;i<=n;i=i+1) { *p1=*p1+j*i; *p2=*p2+float(1/i); j=-j; } } Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 4 / 11

Αρχεία - Παράδειγμα Άσκηση Να αναπτύξετε πρόγραμμα το οποίο 1 θα διαβάζει τρεις ακέραιους αριθμούς από το αρχείο κειμένου "myfile1.txt" 2 θα υπολογίζει τον μέσο όρο των τριών αριθμών 3 θα τυπώνει το αποτέλεσμα στο αρχείο κειμένου "myfile2.txt" Το αρχείο "myfile1.txt" θα πρέπει να υπάρχει στο φάκελο εγκατάστασης του προγραμματιστικού περιβάλλοντος DEV Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 5 / 11

Αρχεία - Παράδειγμα Αρχικά, με την βοήθεια ενός κειμενογράφου (π.χ. notepad++) ανοίγουμε ένα αρχείο κειμένου Γράφουμε τρεις ακέραιους αριθμούς Σώζουμε το αρχείο κειμένου με το όνομα "myfile1.txt" στο φάκελο εγκατάστασης του προγραμματιστικού περιβάλλοντος DEV Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 6 / 11

Αρχεία - Παράδειγμα #include <stdio.h> #include <stdlib.h> int main() { FILE *pf1, *pf2; int a,b,c; float mo; pf1=fopen("myfile1.txt","r"); pf2=fopen("myfile2.txt","w"); fscanf(pf1,"%d %d %d",&a,&b,&c); printf("%d %d %d\n",a,b,c); mo=(a+b+c)/3.0; printf("mo= %f\n",mo); fprintf(pf2,"the mean is : %.2f \n",mo); fclose(pf1); fclose(pf2); system("pause"); return 0; } Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 7 / 11

¹Το αρχείο θα πρέπει να υπάρχει ²Αν δεν υπάρχει αρχείο το δημιουργεί Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 8 / 11 Αρχεία - Παράδειγμα Δήλωση δείκτη σε αρχείο - FILE Η δήλωση FILE *pf1; ορίζει ένα δείκτη pf1 σε αρχείο. Για κάθε αρχείο που θα χρησιμοποιήσουμε σε ένα πρόγραμμα πρέπει να ορίσουμε και ένα δείκτη σε αρχείο. Άνοιγμα ενός αρχείου - Η συνάρτηση fopen Η συνάρτηση pf1=fopen("myfile1.txt","r"); εκχωρεί στον δείκτη αρχείου pf1 το άνοιγμα ή τη δημιουργία του αρχείου "myfile1.txt" με δικαιώματα "r" δηλαδή, για ανάγνωση¹. Η συνάρτηση pf2=fopen("myfile2.txt","w"); εκχωρεί στον δείκτη αρχείου pf2 το άνοιγμα ή τη δημιουργία του αρχείου "myfile2.txt" με δικαιώματα "w" δηλαδή, για εγγραφή².

Αρχεία - Παράδειγμα Διάβασμα στοιχείων ενός αρχείου - Η συνάρτηση fscanf Η συνάρτηση fscanf(pf1,"%d %d %d",&a,&b,&c); διαβάζει από το αρχείο που αντιστοιχεί στον δείκτη αρχείου pf1 τρεις ακέραιους αριθμούς. Εκτύπωση στοιχείων σε αρχείο - Η συνάρτηση fprintf Η συνάρτηση fprintf(pf2,"the mean is : %.2f \n",mo); τυπώνει στο αρχείο που αντιστοιχεί στον δείκτη αρχείου pf2 ότι υπάρχει ανάμεσα στα εισαγωγικά. Κλείσιμο ενός αρχείου - Η συνάρτηση fclose Η συνάρτηση fclose(pf1); κλείνει το αρχείο που αντιστοιχεί στον δείκτη αρχείου pf1 Η συνάρτηση fclose(pf2); κλείνει το αρχείο που αντιστοιχεί στον δείκτη αρχείου pf2 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 9 / 11

Αρχεία - Παράδειγμα Τα πλεονεκτήματα των αρχείων κειμένου ή των φορμαρισμένων αρχείων (ASCII) είναι ότι μπορούμε να δημιουργήσουμε ένα αρχείο με τα δεδομένα μας σε οποιοδήποτε κειμενογράφο και να τα χρησιμοποιούμε σε οποιαδήποτε γλώσσα προγραμματισμού. μπορούμε να αποθηκεύουμε τα αποτελέσματα σε αρχείο το οποίο ανοίγει με οποιοδήποτε κειμενογράφο. Τα μειονεκτήματα των αρχείων κειμένου ή των φορμαρισμένων (ASCII) αρχείων είναι ότι χρειάζονται περισσότερο χώρο για την αποθήκευσή τους σε σχέση με τα δυαδικά αρχεία. η χρήση των δεδομένων δεν είναι άμεση με κόστος στον χρόνο εκτέλεσης του προγράμματος. Δρ. Δημήτρης Βαρσάμης Μάρτιος 2015 10 / 11

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