ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ

Κωδικός Μαθήματος:     204
Εξάμηνο διδασκαλίας:     2ο Εξάμηνο

Σκοπός του μαθήματος
Το μάθημα αποτελεί συνέχεια του αντίστοιχου μαθήματος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι του πρώτου εξαμήνου. Εμβαθύνει στις βασικές έννοιες του προγραμματισμού (υπολογιστής, αλγόριθμος, δεδομένα), και στις τεχνικές κατασκευής αλγορίθμων και προγραμμάτων σε γλώσσα C.

Στόχος του μαθήματος
Οι τεχνικές κατασκευής αλγορίθμων και σύνθεσης τους για την επίλυση προβλημάτων που απαιτούν τη σειριακή επεξεργασία των δεδομένων. Οι έννοιες της σειριακής και της απ’ ευθείας πρόσβασης στα δεδομένα. Η κατανόηση της ανάγκης χρήσης γλώσσας προγραμματισμού.

Περιγραφή του μαθήματος
Επανάληψη βασικών εννοιών από τον ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι. Βασικοί αλγόριθμοι σειριακής επεξεργασίας πολλών αρχείων. Δημιουργία αρχείου με αντιγραφή άλλου αρχείου. Συγχώνευση αρχείων. Διάσπαση αρχείου σε περισσότερα. Σύζευξη ταξινομημένων αρχείων. Ενημέρωση αρχείων. Διανύσματα (μονοδιάστατοι πίνακες) και ενέργειες απ’ ευθείας πρόσβασης στα δεδομένα. Ταξινομημένα διανύσματα. Αλγόριθμοι επεξεργασίας ενός διανύσματος. Σειριακή αναζήτηση. Δυαδική αναζήτηση. Ταξινόμηση με επιλογή. Ενημέρωση διανύσματος. Εισαγωγή στις γραμμικές συνδεδεμένες λίστες. Η έννοια του τύπου δείκτη. Δημιουργία μιας γραμμικής συνδεδεμένης λίστας. Βασικοί αλγόριθμοι στις γραμμικές συνδεδεμένες λίστες. Διαδρομή της λίστας. Υπολογισμός του μήκους της λίστας. Πρόσβαση σε ένα στοιχείο της λίστας. Εισαγωγή ενός στοιχείου στη λίστα. Διαγραφή ενός στοιχείου της λίστας.
Εργαστήριο Μαθήματος: Εργαστηριακές ασκήσεις σε γλώσσα προγραμματισμού C για την εμπέδωση των εννοιών των αλγορίθμων μέσω της επίδειξης της λειτουργίας τους σε υπολογιστή.

Ενδεικτική Βιβλιογραφία
  1. Εγχειρίδιο της C++, 2η Ελληνική έκδοση, Jesse Liberty, Γκιούρδας.
  2. Μάθετε τη C++, 2η Ελληνική έκδοση, Jesse Liberty , Γκιούρδας.
  3. Προγραμματισμός με τη γλώσσα C++ Μέρος Α, Αλεβίζος Θ., Έκδοση ΤΕΙ Καβάλας
  4. C++ Αντικειμενοστραφής Προγραμματισμός Υπολογιστών Τομαράς Α., , Εκδόσεις Νέων Τεχνολογιών.
  5. Ανακαλύψτε τη γλώσσα C, J. Purdum, Εκδόσεις Δίαυλος.
  6. Εισαγωγή στο Συστηματικό Προγραμματισμό και στη γλώσσα C++, Σ. Μπαλτζής, εκδόσεις πανεπιστημίου Ιωαννίνων.
  7. C++ From the beginning, Jan Skansholm, Addison Wesley.
  8. Initiation à l’algorithmique et aux structures de données, 1. Programmation structurée et structures de données élémentaires, J. COURTIN, I. KOWARSKI, DUNOD-informatique.
  9. Initiation à l’algorithmique et aux structures de données, 2. Récursivité et structures de données avancées, J. COURTIN, I. KOWARSKI, DUNOD-informatique.
  10. The design and analysis of computer algorithms, A.V. AHO, J.E. HOPCROFT, J.D. ULLMANN, Addison Wesley 1974.
  11. Structure and Interpretation of Computer Programs, H. ABELSON, G.J. SUSSMAN, J. SUSSMAN,  MIT Press, Mc Graw Hill Book Company, 1985
  12. The art of computer programming, D.E. KNUTH, Addison-Wesley.