Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί Ενότητας Εισαγωγή στην έννοια και χρήση πινάκων αριθμών και χαρακτήρων Απόκτηση δεξιότητας στην χρήση πινάκων όταν θεωρείται σκόπιμη η χρήση τους. 4
Περιεχόμενα Πίνακες αριθμών και χαρακτήρων Πίνακες αριθμών μιας και περισσότερων διαστάσεων. Χρησιμότητα και πλεονεκτήματα. Χειρισμός με εντολές επανάληψης (for). Υπερχείλιση. Πίνακες χαρακτήρων - strings Οι συναρτήσεις χειρισμού τους strcpy, strcat, strcmp, strlen. Το αρχείο string.h Το NULL 5
Πίνακες αριθμών (1) Ένας πίνακας περιέχει περισσότερες από μία τιμές (δεδομένα). Τα δεδομένα είναι ομοειδή (όλα ακέραιοι, όλα πραγματικοί, όλα χαρακτήρες). Τα δεδομένα αποθηκεύονται σε διαδοχικές θέσεις της μνήμης RAM. Μπορεί να είναι μιας, δύο, ή περισσότερων διαστάσεων. 6
Πίνακες αριθμών (2) Πίνακες αριθμών μιας και περισσότερων διαστάσεων. Οι πίνακες 2 διαστάσεων αποτελούνται από γραμμές και στήλες. Χρησιμότητα και πλεονεκτήματα. Χειρισμός με εντολές επανάληψης (for). 7
Υπερχείλιση Tο μέγεθος δεν μπορεί να αλλάξει δυναμικά όταν το πρόγραμμα τρέχει. Επομένως, ο προγραμματιστής πρέπει να ξέρει τη στιγμή που γράφει το πρόγραμμα πόσα δεδομένα θα αποθηκευθούν στους πίνακες. Ο μεταγλωττιστής δεν ελέγχει για υπερβάσεις των ορίων, ώστε να φτιάξει ένα πρόγραμμα που τρέχει γρήγορα. Ο προγραμματιστής έχει ευθύνη ώστε να μην γίνει υπέρβαση! 8
Πίνακες χαρακτήρων - strings Ο τύπος char χρησιμοποιείται για την αποθήκευση χαρακτήρων. Οι χαρακτήρες αποθηκεύονται κωδικοποιημένοι σαν ακέραιοι. Η κωδικοποίηση γίνεται σύμφωνα με τον πίνακα ASCII. Μια σταθερά τύπου char πρέπει να περικλείνεται από απλά εισαγωγικά Οι συναρτήσεις χειρισμού τους strcpy, strcat, strcmp, strlen. 9
Το NULL Ένα αλφαριθμητικό (string) είναι μια ακολουθία χαρακτήρων, η οποία τελειώνει με τον ειδικό χαρακτήρα \0. Ο χαρακτήρας \0 ονομάζεται τερματικός χαρακτήρας και υποδεικνύει το τέλος του string. Ονομάζεται και NULL. 10
Βιβλιογραφία Συνδουκάς Δημήτρης 2007, Εισαγωγή στη γλώσσα προγραμματισμού C, Εσωτερική έκδοση του ΤΕΙ Χατζηγιαννάκης Ν. Μ., Η Γλώσσα C σε βάθος (4η έκδοση), Εκδόσεις Κλειδάριθμος, 2012, ISBN: 978-960-461-498-1. Τσελίκης Γ. Σ., Τσελίκας Ν. Δ., C: Aπό τη Θεωρία στην Εφαρμογή, Εκδότης: Νικόλαος Τσελίκας, 2012, ISBN: 978-960-93-1961-4. Schildt H., Οδηγός της C (3η έκδοση), Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2000, ISBN: 978-960-512-228-7. Zhang T., Μάθετε τη C σε 24 Ώρες, Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2000, ISBN: 960-512-233-2. Aitken Jones, Πλήρες Εγχειρίδιο της C, Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2006, ISBN: 978-960-512-491-5. 11
Τέλος Ενότητας
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 13
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 14