1 2/10/2017 Διαδικαστικά θέματα. Γενικά περί υπολογιστών. Γενικά περί προγραμματισμού υπολογιστών. Κάποια υπολογιστικά προβλήματα. Έκδοση των αποτελεσμάτων των πανελληνίων εξετάσεων για εισαγωγή σε ΑΕΙ και ΤΕΙ, υπολογισμός αθροισμάτων απείρων όρων, πρόγνωση καιρού.
2 6/10/2017 Περισσότερα υπολογιστικά προβλήματα. Εύρεση τέλειων αριθμών. Το πρόβλημα του χρυσοθήρα.
3 9/10/2017 Πώς μαθαίνεται ο προγραμματισμός. Η δομή του υπολογιστή. Η πληροφορία στον υπολογιστή. Συστήματα αρίθμησης (δεκαδικό, δυαδικό) και μετατροπές αριθμών μεταξύ αυτών. Αναπαράσταση αρνητικών αριθμών. Συμπλήρωμα ως προς δύο. Οκταδικό και δεκαεξαδικό συστήματα αρίθμησης. Οργάνωση κύριας και δευτερεύουσας μνήμης. Λογισμικό και γλώσσες προγραμματισμού. Τι χρειαζόμαστε από μία γλώσσα προγραμματισμού.
4 13/10/2017 Αναπαράσταση αριθμών κινητής υποδιαστολής (πραγματικών) στον υπολογιστή. Πώς κατασκευάζουμε εκτελέσιμο πρόγραμμα. Η διαδικασία της μεταγλώττισης και σύνδεσης. Προγραμματιστικά περιβάλλοντα για την C. Παραδείγματα χρήσης του gcc. Το πρώτο πρόγραμμα στην C (helloworld.c).
5 16/10/2017 Πρόγραμμα υπολογισμού του π (picomp.c).
6 20/10/2017 Πρόγραμμα υπολογισμού της ημερομηνίας του Πάσχα (easter.c). Περί μαγικών τετραγώνων. Πρώτη επαφή με το πρόγραμμα κατασκευής μαγικού τετραγώνου 5x5 (magic.c).
7 23/10/2017 Συνέχεια με το πρόγραμμα κατασκευής μαγικού τετραγώνου 5x5 (magic.c). Περί εισόδου και εξόδου χαρακτήρων. Συναρτήσεις getchar και putchar. Πρόγραμμα μετατροπής πεζών χαρακτήρων στην είσοδο σε κεφαλαίους (capitalize.c).
8 27/10/2017 Περί της επιστρεφόμενης τιμής από την getchar και του EOF, σε συνδυασμό με τη δήλωση τύπου της μεταβλητής που φυλάσσεται το επιστρεφόμενο αποτέλεσμα. Μεταβλητές και τύποι δεδομένων στην C. Ακέραιες σταθερές στην C. Σταθερές κινητής υποδιαστολής στην C. Συμβολοσειρές. Τύποι δεδομένων και δηλώσεις στην C. Αρχικοποιήσεις μεταβλητών. Προσδιοριστές unsigned, signed και const. Εντολές αντικατάστασης, τελεστές και παραστάσεις. Αριθμητικοί τελεστές. Μετατροπές τύπων. Μοναδιαίοι τελεστές αύξησης και μείωσης. Τελεστές σύγκρισης και λογικοί τελεστές. Συνθήκες ως παραστάσεις και αντίστροφα.
9 30/10/2017 Τελεστές πράξεων με bit. Τελεστές αντικατάστασης. Παραστάσεις υπό συνθήκη. Προτεραιότητες τελεστών. Εντολές αντικατάστασης σαν παραστάσεις. Διαδικασία γέννησης τυχαίων αριθμών στην C. Συναρτήσεις time, srand και rand. Πρόγραμμα υπολογισμού Μ.Κ.Δ. και Ε.Κ.Π. (gcdlcm.c). Ροή ελέγχου στην C. Εντολή if. Εντολή switch. Εντολές βρόχου while. Εντολή βρόχου for.
10 3/11/2017 Εντολές break και continue. Εντολή goto και ετικέτες. Δομή προγραμμάτων C. Συναρτήσεις. Ορισμός συναρτήσεων. Τυπικές παράμετροι. Επιστρεφόμενες τιμές. Πρωτότυπο συνάρτησης. Πρόγραμμα ύψωσης σε δύναμη (powers.c). Πρόγραμμα υπολογισμού παραγοντικού (factorial.c). Εμβέλεια και χρόνος ζωής μεταβλητών. Τοπικές (αυτόματες) μεταβλητές. Προσδιοριστές extern και static. Εξωτερικές μεταβλητές.
11 6/11/2017 Στατικός χώρος φύλαξης εξωτερικών μεταβλητών. Στοίβα για φύλαξη τοπικών μεταβλητών. Αναδρομικές συναρτήσεις. Πρόγραμμα υπολογισμού παραγοντικού με αναδρομή (recfact.c).
12 10/11/2017 Πρόγραμμα μετατροπής αριθμών από το δυαδικό στο δεκαδικό σύστημα και αντίστροφα (convdecbin.c). Εύρεση όρων ακολουθίας Fibonacci με αναδρομικό και επαναληπτικό τρόπο. Οργάνωση εφαρμογών σε πηγαία αρχεία και αρχεία επικεφαλίδας. Εισαγωγή στους δείκτες.
13 13/11/2017 Συνέχεια με τους δείκτες. Τελεστές έμμεσης αναφοράς και διεύθυνσης μνήμης. Παραδείγματα χρήσης δεικτών.
- 17/11/2017 Επέτειος Πολυτεχνείου. Δεν έγινε μάθημα.
14 20/11/2017 Κλήσεις συναρτήσεων με δείκτες στα ορίσματα. Περί ανάγνωσης ακεραίων (και όχι μόνο). Συνάρτηση scanf. Πίνακες. Διάσταση πινάκων. Σχέση πινάκων και δεικτών. Πέρασμα μονοδιάστατων πινάκων σαν ορίσματα σε συναρτήσεις. Δυναμική δέσμευση μνήμης. Συνάρτηση malloc. Συνάρτηση free. Τελεστής sizeof.
15 24/11/2017 Πρόγραμμα κατασκευής ιστογράμματος συχνότητας εμφάνισης χαρακτήρων στην είσοδο (histogram.c). Πίνακες με παραμετρική διάσταση. Πίνακες δεικτών και δείκτες σε δείκτες. Πολυδιάστατοι πίνακες. Δυναμική δέσμευση και αποδέσμευση δισδιάστατων πινάκων. Συναρτήσεις calloc και realloc. Πέρασμα πολυδιάστατων πινάκων σαν ορίσματα σε συναρτήσεις.
16 27/11/2017 Συμβολοσειρές. Συναρτήσεις strlen, strcpy, strcmp και strcat για συμβολοσειρές. Υλοποιήσεις των συναρτήσεων αυτών. Ορίσματα γραμμής εντολών. Συνάρτηση atoi. Αρχικοποίηση πινάκων. Δείκτες σε συναρτήσεις. Πρόγραμμα διαχείρισης ορισμάτων στη γραμμή εντολής (cmdlineargs.c).
17 1/12/2017 Απαριθμήσεις. Πρόγραμμα πρόσθεσης πολυψηφίων αριθμών (addnumbs.c). Δομές. Δηλώσεις δομών και μεταβλητών τύπου δομών. Επιτρεπτές λειτουργίες με δομές. Τελεστές . και ->. Παραδείγματα χρήσης δομών και δεικτών σε δομές. Πρόγραμμα εύρεσης τριγώνων μεγίστου και ελαχίστου εμβαδού (triangles.c).
18 4/12/2017 Αυτο-αναφορικές δομές. Συνδεδεμένες λίστες. Δυαδικά δέντρα. Ταξινομημένα δυαδικά δέντρα. Δημιουργία νέων ονομάτων τύπων (εντολή typedef). Ενώσεις. Πεδία bit. Πρώτη επαφή με το πρόγραμμα διαχείρισης συνδεδεμένων λιστών (listmanagement.c).
19 8/12/2017 Συνέχεια με το πρόγραμμα διαχείρισης συνδεδεμένων λιστών (listmanagement.c). Πρόγραμμα διαχείρισης δυαδικών δέντρων (treemanagement.c). Πρότυπη βιβλιοθήκη εισόδου/εξόδου της C. Προκαθορισμένα ρεύματα (stdin, stdout και stderr). Ανακατεύθυνση πρότυπης εισόδου και πρότυπης εξόδου. Σωληνώσεις.
20 11/12/2017 Συναρτήσεις getchar, putchar, puts, gets, printf, scanf, fopen, fclose και fgets. Συναρτήσεις feof, getc, putc, ungetc, fprintf, fscanf, sprintf, sscanf, fread, fwrite, fseek, ftell, fflush και perror. Πρόγραμμα αντιγραφής αρχείων (filecopy.c).
21 15/12/2017 Πρόγραμμα εκτύπωσης γραμμών εισόδου με αντίστροφη σειρά (revinput.c). Ο προεπεξεργαστής της C. Οδηγία #include. Οδηγία #define. Μακροεντολές. Μεταγλώττιση υπό συνθήκη. Οδηγίες #if, #else, #elif, #endif, #ifdef και #ifndef. Ταξινόμηση πινάκων. Γενικά περί πολυπλοκότητας αλγορίθμων. Μέθοδοι ταξινόμησης πινάκων. Η μέθοδος της φυσαλίδας. Η μέθοδος της επιλογής. Η μέθοδος της εισαγωγής. Η γρήγορη μέθοδος.
22 18/12/2017 Πρόγραμμα επίδειξης μεθόδων ταξινόμησης (sorting.c). Μέθοδοι ταξινόμησης της συγχώνευσης, του Shell και του σωρού. Αναζήτηση σε πίνακες. Σειριακή αναζήτηση και δυαδική αναζήτηση. Πρόγραμμα επίδειξης μεθόδων αναζήτησης σε πίνακες (searching.c). Επιθυμητά χαρακτηριστικά ενός προγράμματος C. Συχνά προγραμματιστικά λάθη στην C. Ενημέρωση για τη μορφή των εξετάσεων.
23 22/12/2017 Συζήτηση σε προηγούμενα θέματα εξετάσεων.
24 8/1/2018 Συζήτηση σε προηγούμενα θέματα εξετάσεων.
25 12/1/2018 Συζήτηση σε προηγούμενα θέματα εξετάσεων.