Προγραμματισμός Ι

E-mail Εκτύπωση PDF

Εβδομαδιαίες ώρες διδασκαλίας: 2 θεωρία + 1 ασκήσεις πράξεις + 1 εργαστήριο

Tυπικό εξάμηνο διδασκαλίας: Α

Διδασκαλία:  Η διδασκαλία του μαθήματος έχει τη μορφή 13 διαλέξεων και ισάριθμων εργαστηριακών ασκήσεων, στο πλαίσιο των οποίων υπάρχει η δυνατότητα ανάληψης εργασιών.

Ενδεικτικά προαπαιτούμενα: 

Διδακτικές μονάδες:  5

Σκοπός και στόχοι του μαθήματος:
Το μάθημα αποσκοπεί στο να παράσχει στο φοιτητή τις βασικές γνώσεις προγραμματισμού. Το ενδιαφέρον εστιάζεται στον καλούμενο διαδικαστικό προγραμματισμό, βασικά στοιχεία του οποίου είναι η δόμηση του προγράμματος και η επαναλαμβανόμενη χρήση υποπρογραμμάτων, τα οποία είτε επιτελούν εργασίες γενικής φύσης είτε απευθύνονται σε ένα τμήμα του συνολικού προβλήματος. Στόχος είναι η κατανόηση των αρχών του προγραμματισμού και η εμπέδωση της φιλοσοφίας του, χρησιμοποιώντας ως μέσο τη γλώσσα προγραμματισμού υψηλού επιπέδου C.

Περίγραμμα μαθήματος:

Γενικά περί προγραμματισμού Η/Υ, εργαλεία ανάλυσης (φυσική γλώσσα, διάγραμμα ροής, ψευδοκώδικας), μεταγλωττιστής, συνδέτης, διαδικασίας αποσφαλμάτωσης και εκτέλεσης προγραμμάτων.

Δομή προγράμματος, αρχεία κεφαλίδας, συνάρτηση main, λέξεις κλειδιά, δεσμευμένες λέξεις, αναγνωριστές, κανόνες δημιουργίας ευανάγνωστου προγράμματος.

Μεταβλητές: δήλωση, ονοματοδοσία, τύποι και χρήση μεταβλητών.

Μορφοποιημένες εντολές ανάγνωσης και εγγραφής.

Ι/Ο κονσόλας, συναρτήσεις getchar, getch, getche, putchar.

Πίνακες: δήλωση, απόδοση αρχικών τιμών, εγγραφή κι ανάγνωση πινάκων, αποθήκευση στη μνήμη, πολυδιάστατοι πίνακες.

Συμβολοσειρές: δήλωση, απόδοση αρχικών τιμών, εγγραφή κι ανάγνωση συμβολοσειρών, αποθήκευση στη μνήμη.

Συναρτήσεις συμβολοσειρών, αλφαριθμητικές σταθερές.

Τελεστές – εκφράσεις: ορισμός, σύμβολα, σημειολογίες τελεστών, ένθετες εκφράσεις, προτεραιότητα – προσεταιριστικότητα τελεστών.

Τελεστές αύξησης – μείωσης, τελεστές ανάθεσης, συσχετιστικοί – αριθμητικοί τελεστές, λογικοί τελεστές.τελεστής μετατροπής, τελεστής sizeof, υποθετικός τελεστής.

Προτάσεις ελέγχου ροής, υπό συνθήκη διακλάδωση με if-else και switch.

Προτάσεις επανάληψης, βρόχοι με συνθήκες εισόδου – εξόδου, οδηγούμενοι από γεγονός – μετρητή, βρόχοι for, βρόχοι while, do while.

Μετατροπή βρόχων, διακοπτόμενοι βρόχοι – break, ένθετοι βρόχοι, ρητή διακλάδωση – goto, ο τελεστής κόμμα, κανόνες χρήσης προτάσεων ροής ελέγχου.

Ένθετες δομές, πίνακες δομών, απαριθμητοί τύποι δεδομένων (enumerated).

Εφαρμογή σε πραγματικά προβλήματα.

 

 

Βασική Βιβλιογραφία:

 

  1. H. Deitel, P. Deitel, C Προγραμματισμός, Εκδόσεις Γκιούρδα, 2010.
  2. Π. Μαστοροκώστας, Διαδικαστικός Προγραμματισμός, Τ.Ε.Ι. Σερρών, 2006.
  3. E. Ούτσιος, Δομημένος Προγραμματισμός: Σημειώσεις Εργαστηρίου, Τ.Ε.Ι. Σερρών, 2003.
  4. Ν. Χατζηγιαννάκης, Η Γλώσσα C σε Βάθος, 3η Έκδοση, Εκδόσεις Κλειδάριθμος, 2009.

 

 

Συμπληρωματική Βιβλιογραφία:

 

  1. Collopy, Introduction to C Programming: A Modular Approach, Prentice Hall, 2002.
  2. H. Deitel, P. Deitel, Ασκήσεις - Προγράμματα σε C, Εκδόσεις Γκιούρδα, 2005.
  3. Κλ. Θραμπουλίδης, Διαδικαστικός Προγραμματισμός - C (Τόμος Α), Εκδόσεις Τζιόλα, 2003.
  4. Αλ. Καράκος, Αλγοριθμική Επίλυση Ασκήσεων με τη Γλώσσα Προγραμματισμού C, 2010.
  5. Κ.Ν. King, C Programming: A Modern Approach, W.W. Norton & Company, 1996.
  6. B.W. Kernighan, D.M. Ritchie, Η γλώσσα προγραμματισμού C, Εκδόσεις Κλειδάριθμος, 1990.
  7. D.E. Knuth, Τhe Art of Computer Programming, 3rd ed., Addison-Wesley, 1997.
  8. D. Martin, Πλήρης Οδηγός Χρήσης της C, Εκδόσεις Γκιούρδα, 2000.
  9. E. Roberts, H Τέχνη και Επιστήμη της C, Εκδόσεις Κλειδάριθμος, 2004.
  10. H. Schildt, Εγχειρίδιο εκμάθησης Turbo C, Εκδόσεις Κλειδάριθμος, 1989.
  11. Γ. Τσελίκης, Ν. Τσελίκας, C από τη Θεωρία στην Εφαρμογή, 2010.
  12. P. Van der Linden, Expert C Programming, Prentice Hall, 1994.
  13. M. Waite, S. Prata, D. Martin, Πλήρης Οδηγός Χρήσης της C, 6η έκδοση, Εκδόσεις Γκιούρδα, 2000.
 

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