ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Το αλφαριθμητικό (string)
Advertisements

Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * *********************************************
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
ΜΑΘΗΜΑ 7ο Κυκλικές και Διπλά Συνδεδεμένες Λίστες,
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
Message Passing Interface (MPI)
Διαφάνειες παρουσίασης #5
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Εντολες Επιλογης (Selection)
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
Αγγίσταλης Κωνσταντίνος Α.Μ 739
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
1 Ολυμπιάδα Πληροφορικής Μάθημα 7. 2 Στόχοι μαθήματος Δημιουργία συναρτήσεων από το χρήστη Δομή προγράμματος με συναρτήσεις Συναρτήσεις και παράμετροι.
Διαφάνειες παρουσίασης #3
Είσοδος & Έξοδος στη C++ Ι
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Πέρασμα παραμέτρων, συναρτήσεις δόμησης και αποδόμησης.
Μετατροπή Εκφράσεων σε C
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Επανάληψη.
Διαφάνειες παρουσίασης #2
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
HY150Ξενοφών Ζαμπούλης HY150 Ε π ι π λέον στοιχεία της C.
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
7-1 ΜΑΘΗΜΑ 7 ο Περισσότερα για Κυκλικές και Διπλά Διασυνδεόμενες Λίστες, Συναρτήσεις Βιβλιοθήκης, Διαχείριση Αρχείων.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
Προγραμματισμός Συναρτήσεις. Προγραμματισμός Μια συνάρτηση ορίζεται δίνοντας (α) τον τύπο του αποτελέσματος που.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Κωνσταντίνος Αντωνής © 2014Διαδικτυακός και Ταυτόχρονος Προγραμματισμός Ζητήματα Σχεδίασης Λογισμικού Πελάτη 1.
1 ο Εργαστήριο: Κατασκευή Εφαρμογών Client-Server echoserver και echoclient – Κώδικας εφαρμογών σε C Μπαλόμπας Παναγιώτης 8ο ΕΠΑΛ Θεσσαλονίκης 1 /* Αρχείο.
Τεχνολογία και Προγραμματισμός Υπολογιστών Ενότητα 5: Τύπος πίνακα,Μεταβλητές με δείκτη, Πολυδιάστατοι πίνακες Επίκουρος Καθηγητής Χρήστος Μακρής Τμήμα.
Δείκτες Προγραμματισμός Ι
Πίνακες Προγραμματισμός Ι
ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ Η εντολή if if ( παράσταση) εντολή επόμενη εντολή.
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
Processes.
ΑΣΚΗΣΕΙΣ.
Μεταγράφημα παρουσίασης:

ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Διαφάνειες παρουσίασης #6 4 Ο προεπεξεργαστής της C 4 Παράμετροι του προγράμματος 4 Συναρτήσεις εισόδου-εξόδου 4 Συναρτήσεις διαχείρισης αρχείων

2Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Προεπεξεργαστής (preprocessor)(i) u Εντολή #include #include #include "myheader.h" u Εντολή #define #define MAX_CHARS 1000 char s[MAX_CHARS]; #define INC(x) ((x)++) INC(a); INC(*p);

3Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Προεπεξεργαστής (preprocessor)(ii) u Εντολές #ifdef, #ifndef, #else και #endif #define DEBUG #ifdef DEBUG printf("debugging is on\n"); #else printf("debugging is off\n") #endif #ifndef DEBUG printf("optimizations allowed\n"); #endif

4Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Παράμετροι του προγράμματος(i) u Επικεφαλίδα του προγράμματος int main (int argc, char * argv[]); u Παράμετροι argc ο αριθμός των παραμέτρων argv[i] η i-οστή παράμετρος argv[0] το όνομα του προγράμματος u Αποτέλεσμα l ακέραιος αριθμός που επιστρέφεται στο λειτουργικό σύστημα l συνήθως 0 για επιτυχή τερματισμό

5Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Παράμετροι του προγράμματος(ii) u Παράδειγμα int main (int argc, char * argv[]) { int i; printf("Program %s called with:", argv[0]); for (i=1; i<argc; i++) printf(" %s", argv[i]); printf("\nand will return 0\n"); return 0; }

6Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις εισόδου-εξόδου(i) u Βασικές συναρτήσεις εισόδου-εξόδου int printf (const char * format,...); int scanf (const char * format,...); u Ειδικοί χαρακτήρες στο format l Ακέραιοι αριθμοί %d στο δεκαδικό σύστημα %u χωρίς πρόσημο στο δεκαδικό σύστημα %o χωρίς πρόσημο στο οκταδικό σύστημα %x χωρίς πρόσημο στο δεκαεξαδικό σύστημα

7Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις εισόδου-εξόδου(ii) u Ειδικοί χαρακτήρες στο format l Αριθμοί κινητής υποδιαστολής %f σε μορφή: [-]ddd.dddddd %e σε μορφή: [-]ddd.dddddd e [+/-]ddd %g σε μορφή %f ή %e l Άλλοι τύποι %c χαρακτήρες %s συμβολοσειρές %p δείκτες

8Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις εισόδου-εξόδου(iii) u Παραλλαγές στο format l Μέγεθος αριθμών %h αριθμοί short π.χ. %hd, %hx %l αριθμοί long ή double π.χ. %ld, %lf %L αριθμοί long double π.χ. %Lf l Μήκος αποτελέσματος %8d αριθμός σε μήκος 8 χαρακτήρων %20s συμβολοσειρά σε μήκος 20 χαρακτήρων %+8d αριθμός σε μήκος 8 χαρακτήρων με + %08d αριθμός σε μήκος 8 χαρακτήρων, τα πρώτα 0 %-8d όπως το %8d με στοίχιση αριστερά

9Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις εισόδου-εξόδου(iv) u Είσοδος-έξοδος χαρακτήρων int putchar (int c); int getchar (); u Είσοδος-έξοδος συμβολοσειρών int puts (const char * s); char * gets (char * s); u Έλεγχος τέλους δεδομένων int eof (); Η σταθερά EOF παριστάνει το τέλος των δεδομένων και έχει τύπο int.

10Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Παράδειγμα u Αντιγραφή δεδομένων l οι χαρακτήρες που διαβάζονται εκτυπώνονται, μέχρι να παρουσιαστεί τέλος δεδομένων void main () { int c; while ((c = getchar()) != EOF) putchar(c); }

11Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις διαχείρισης αρχείων(i) u Τύπος αρχείου FILE * fp; u Άνοιγμα αρχείων FILE * fopen (const char * filename, const char * mode); l Παράμετρος mode r ανάγνωση (read) w εγγραφή (write) a προσθήκη (append) t κείμενο (text) b δυαδικά δεδομένα (binary)

12Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις διαχείρισης αρχείων(ii) u Κλείσιμο αρχείων int fclose (FILE * fp); u Είσοδος-έξοδος χαρακτήρων int fputc (int c, FILE * fp); int fgetc (FILE * fp); u Είσοδος-έξοδος συμβολοσειρών int fputs (const char * s, FILE * fp); char * fgets (char * s, int n, FILE * fp);

13Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις διαχείρισης αρχείων(iii) u Βασικές συναρτήσεις εισόδου-εξόδου int fprintf (FILE * fp, const char * format,...); int fscanf (FILE * fp, const char * format,...); u Έλεγχος τέλους αρχείου int feof (FILE * fp);

14Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Συναρτήσεις διαχείρισης αρχείων(iv) u Είσοδος-έξοδος πολλών δεδομένων size_t fwrite (const void * p, size_t size, size_t num, FILE * fp); size_t fread (void * p, size_t size, size_t num, FILE * fp); Ο ακέραιος τύπος size_t χρησιμοποιείται για τη μέτρηση χώρου μνήμης σε bytes.

15Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Παράδειγμα(i)  Αντιγραφή δυαδικών αρχείων int main (int argc, char * argv[]) { FILE * fin, * fout; unsigned char buffer[1000]; size_t count; fin = fopen(argv[1], "rb"); if (fin == NULL) return 1; fout = fopen(argv[2], "wb"); if (fout == NULL) return 2;

16Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Παράδειγμα(ii)  (συνεχίζεται) while (!feof(fin)) { count = fread(buffer, 1, 1000, fin); fwrite(buffer, 1, count, fout); } fclose(fin); fclose(fout); return 0; }