Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 2: Τύποι μεταβλητών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
Δομημένος Προγραμματισμός DR. Α Θ Α Ν Α Σ Ι Ο Σ Κ Α Κ Α Ρ Ο Υ Ν Τ Α Σ
Περιεχόμενα Μεταβλητές Τύποι Δεδομένων Σταθερές Τελεστές
Τι είναι μεταβλητή Η έννοια της μεταβλητής έδωσε λύση στο πρόβλημα της αναφοράς στην κύρια μνήμη του υπολογιστή. Οι γλώσσες προγραμματισμού υποστηρίζουν την πρόσβαση στα δεδομένα με χρήση συμβολικών ονομάτων που καλούνται μεταβλητές. Το όνομα της μεταβλητής είναι άμεσα συνδεδεμένο με την ακριβή διεύθυνση της μνήμης όπου είναι αποθηκευμένη η τρέχουσα τιμή της μεταβλητής.
Τι είναι μεταβλητή Παράδειγμα: count = 12; count = count +2;
Δήλωση μεταβλητής Διαφορετικές ιδιότητες έχει μια μεταβλητή που αναπαριστά τον μισθό ενός υπαλλήλου από άλλη που αναπαριστά το όνομά του. Οι ιδιότητες μιας μεταβλητής ορίζονται στη διάρκεια της μεταγλώττισης και δεν μεταβάλλονται (για την C). Απαιτούμε δηλαδή να δηλώνουμε μια μεταβλητή πριν την χρησιμοποιήσουμε.
Δήλωση μεταβλητής Η δήλωση μιας μεταβλητής γνωστοποιεί στον μεταγλωττιστή το όνομα και τις ιδιότητες της μεταβλητής. Η δήλωση έχει ως αποτέλεσμα την σύνδεση του ονόματος της μεταβλητής με: -τον ανάλογο τύπο δεδομένων (compile time) -μια θέση μνήμης κατάλληλου μεγέθους (run time) Παράδειγμα δήλωσης ενός ακεραίου int count;
Τύποι Δεδομένων Ένας τύπος δεδομένων είναι ένα σύνολο από αντικείμενα με κοινά χαρακτηριστικά (π.χ Ακέραιοι αριθμοί, Φοιτητές, Πραγματικοί αριθμοί, Χαρακτήρες). Στουσ τύπους δεδομένων λαμβάνει θέση ένα σύνολο από πράξεις που μας επιτρέπει την επεξεργασία τους. Οι σύγχρονες γλώσσες προγραμματισμού περιλαμβάνουν ενσωματωμένους τύπους δεδομένων, αλλά μας προσφέρουν και την δυνατότητα να ορίσουμε και νέους τύπους δεδομένων.
Δήλωση μεταβλητών στη C <όνομα τύπου δεδομένων> <λίστα ονομάτων μεταβλητών>; ή <όνομα τύπου δεδομένων> <όνομα μεταβλητής>= <αρχική τιμή μεταβλητής> ; Παράδειγμα: int count ; /*δήλωση της ακέραιας μεταβλητής count*/ int num ; /*δήλωση της ακέραιας μεταβλητής num*/ ή int num, count; int num = 20; /* δήλωση της ακέραιας μεταβλητής num, όπου της αποδίδει αρχική τιμή 20*/
Μεταβλητές που δεν αλλάζουν τιμή Υπάρχουν περιπτώσεις όπου δεν θέλουμε να αλλάξει τιμή μια μεταβλητή μετά την ανάθεση αρχικής τιμής. Στην περίπτωση αυτή πριν το όνομα τύπου βάζουμε την δεσμευμένη λέξη const. const float pi = 3.14; float: τύπος δεδομένων πραγματικούς αριθμούς.
Η έννοια της σταθεράς Η επίλυση πολλών προβλημάτων εμπλέκει τη χρήση αριθμητικών σταθερών. Ο υπολογισμός, για παράδειγμα της περιμέτρου ενός κύκλου γίνεται σύμφωνα με τον τύπο l =2πτ; όπου το π είναι η γνωστή σταθερά 3.14. Η πρόταση C που υπολογίζει την περίμετρο του κύκλου είναι: perimetros = 2 * 3.14 * radius; όπου perimetros και radius είναι πραγματικές μεταβλητές και αριθμοί 2 και 3.14 είναι σταθερές. Οι σταθερές επομένως, είναι τιμές, αριθμητικές ή αλφαριθμητικές.
Οι τύποι δεδομένων στην C Χαρακτήρες Ακέραιοι αριθμοί Πραγματικοί αριθμοί
Τύπος χαρακτήρα Ο τύπος χαρακτήρα, που δηλώνεται με τη λέξη κλειδί char, χρησιμοποιείται για να αναπαραστήσει απλούς χαρακτήρες του αλφαβήτου της γλώσσας. Μια σταθερά τύπου char εμφανίζεται στον πηγαίο κώδικα ανάμεσα στα απλά εισαγωγικά. Παραδείγματα σταθερών τύπου χαρακτήρα είναι: 'C', '2', *, )'.
Τύπος χαρακτήρα ΔΗΛΩΣΗ: ακολουθείται ο γενικός κανόνας Παράδειγμα: char choice = B ; ΕΚΤΥΠΩΣΗ: η εκτύπωση ενός χαρακτήρα γίνεται με την συνάρτηση printf της βασικής βιβλιοθήκης (stdio.h) χρηςιμοποιώντασ τον προσδιοριστή %c. Παράδειγμα: printf( O xaraktiras einai %c\n, choice);
Τύπος χαρακτήρα ΕΙΣΑΓΩΓΗ: η εισαγωγή τιμής σε μια μεταβλητή από την κύρια είσοδο (πληκτρολόγιο πιο πιθανό) γίνεται μέσω της συνάρτησης scanf της βασικής βιβλιοθήκης. Η scanf χρησιμοποιεί τους ίδιους προσδιοριστές με την printf. Παράδειγμα: scanf( %c,&choice);
Τύπος ακεραίου Ο τύπος ακεραίου, που δηλώνεται με τα λέξη κλειδί int, χρησιμοποιείται για να αναπαραστήσει ακέραιους αριθμούς. ΔΗΛΩΣΗ: ακολουθείται ο γενικός κανόνας Παράδειγμα: int num; int x=23;
Τύπος ακεραίου ΕΚΤΥΠΩΣΗ: Για την εκτύπωση ακεραίων, η συνάρτηση printf της βασικής βιβλιοθήκης δέχεται ένα σύνολο από προσδιοριστές μορφής εμφάνισης. Οι προσδιοριστές %d, %x και%o χρησιμοποιούνται για την εμφάνιση σε δεκαδική, δεκαεξαδική και οκταδική μορφή αντίστοιχα. printf( dec=%\,num);
Τύπος ακεραίου ΕΙΣΑΓΩΓΗ: Η εισαγωγή γίνεται όπως και στην περίπτωση της μεταβλητής χαρακτήρα με τη διαφορά ότι χρησιμοποιείται ο προσδιοριστής %d. Παράδειγμα: scanf( %d,&num);
Τύποι πραγματικών αριθμών Η C διαθέτει 2 τύπους για αναπαράσταση πραγματικών αριθμών. Τον τύπο float (λέξη κλειδί) για αριθμούς κινητής υποδιαστολής απλής ακρίβειας και τον τύπο double (λέξη κλειδί) για τους αριθμούς κινητήσ υποδιαστολής διπλής ακρίβειας.
Τύποι πραγματικών αριθμών ΔΗΛΩΣΗ: ακολουθείται ο γενικός κανόνας. Παράδειγμα: float x; float y=1.33;
Τύποι πραγματικών αριθμών ΕΚΤΥΠΩΣΗ: Για την εκτύπωση πραγματικών αριθμών, η συνάρτηση printf της βασικής βιβλιοθήκης αναγνωρίζει τους προσδιοριστές %f, %e και %g. ΕΜΕΙΣ θα χρησιμοποιούμε κυρίως τον προσδιοριστή %f. Παράδειγμα: printf( %f\n, y);
Τύποι πραγματικών αριθμών ΕΙΣΑΓΩΓΗ: Η εισαγωγή γίνεται όπως και στους προηγούμενους τύπους δεδομένων με τη διαφορά ότι χρησιμοποιείται ο προσδιοριστής %f. Παράδειγμα: scanf( %f,&x);
Τελεστές Ένας τελεστής (operator) είναι ένα σύμβολο ή μια λέξη της γλώσσας προγραμματισμού, που αναπαριστά συγκεκριμένη διεργασία, η οποία εκτελείται πάνω σε ένα ή περισσότερα δεδομένα. Τα δεδομένα καλούνται τελεστέοι (operands) και μπορούν να είναι μεταβλητές, σταθερές ή ακόμη κλήσεις συναρτήσεων. Τα δεδομένα πρέπει να είναι του ιδίου τύπου. Οι τελεστές χρησιμοποιούνται για τον σχηματισμό εκφράσεων (expressions). Παράδειγμα: Στην έκφραση num+12 ο χαρακτήρας + αναπαριστά τη διεργασία της πρόσθεσης των δύο τελεστέων, της τιμής της μεταβλητής num και της σταθεράς 12.
Κατηγορίες Τελεστών Κατηγορία ενδεικτικοί τελεστές αριθμητικοί +,, *, /, % λογικοί &&,,! συσχετιστικοί >,>=, ==,!=,<,<=
Αριθμητικοί Τελεστές Σύμβολο ερμηνεία + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμό ς / Διαίρεση % υπόλοιπο
Αριθμητικοί Τελεστές Παραδείγματα: int x, y, z; x=9; y=10; z=x+y;
Λογικοί Τελεστές Σύμβολο ερμηνεία && Λογικό ΚΑΙ Λογικό Ή! Λογικό ΟΧΙ
Συσχετικοί Τελεστές σύμβολο ερμηνεία > μεγαλύτερο >= Μεγαλύτερο ή ίσο == Ίσον < Μικρότερο <= Μικρότερο ή ίσον
Δομημένος Προγραμματισμός DR. Α Θ Α Ν Α Σ Ι Ο Σ Κ Α Κ Α Ρ Ο Υ Ν Τ Α Σ
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/από-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.
Επεξήγηση όρων χρήσης έργων τρίτων διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-ND διαθέσιμο με άδεια CC-BY-NC διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC-ND διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα χωρίς σήμανση Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Συνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.