Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

Σχετικά έγγραφα
Δομημένος Προγραμματισμός

Εισαγωγή στην Πληροφορική

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός (ΤΛ1006)

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Διορθώσεις Συμπληρώσεις επί της επανεκτύπωσης 2003 της 2 ης έκδοσης του βιβλίου «Διαδικαστικός Προγραμματισμός C»

Ανάπτυξη και Σχεδίαση Λογισμικού

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Η/Υ (ΤΛ2007 )

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

5 &6. Τύποι δεδομένων, τελεστές και

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Εισαγωγή στη γλώσσα προγραμματισμού C++

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Διαδικασιακός Προγραμματισμός

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

Εισαγωγή στον δομημένο προγραμματισμό

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Η γλώσσα προγραμματισμού C

Προγραμματισμός Ι (ΗΥ120)

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Στοιχειώδης προγραμματισμός σε C++

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Διαδικασία Ανάπτυξης Λογισμικού

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

8. Συνθήκες ελέγχου, λογικοί τελεστές

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ. Ενότητα 2α: Εισαγωγή στη C (Μέρος Πρώτο)

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στον Προγραμματισμό

Βασικές Αρχές Προγραμματισμού

Δομημένος Προγραμματισμός

Δεδομένα, τελεστές, είσοδος/έξοδος

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

Τύποι δεδομένων, τελεστές, μεταβλητές

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

TMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ , Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής. Βασίλης Μποζαντζής

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Δομημένος Προγραμματισμός (ΤΛ1006)

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

Περιεχόμενα. Πρόλογος... 21

Εισαγωγή στον Προγραμματισμό

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Διαδικασιακός Προγραμματισμός

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Τύποι Δεδομένων Είσοδος/Έξοδος

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

3 ο Εργαστήριο Μεταβλητές, Τελεστές

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμό για ΗΜΥ

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

Η γλώσσα προγραμματισμού C

Στόχοι και αντικείμενο ενότητας. Συντακτικό Γλώσσας. Αλφάβητο. #2.. Εισαγωγή στη C (Μέρος Πρώτο)

Υπερφόρτωση Τελεστών

Μεθόδων Επίλυσης Προβλημάτων

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Transcript:

Οικονόμου Βαγγέλησ Διάλεξη Νο 2 Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2 1

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

Παράδειγμα: count = 12; count = count +2; Όνομα μεταβλητήσ Θέςη μνήμησ. count 0x001 12 Περιεχόμενο θέςησ μνήμησ Όνομα μεταβλητήσ Θέςη μνήμησ. count 0x001 14 Περιεχόμενο θέςησ μνήμησ 3

Διαφορετικέσ ιδιότητεσ έχει μια μεταβλητή που αναπαριςτά τον μιςθό ενόσ υπαλλήλου από άλλη που αναπαριςτά το όνομα του. Οι ιδιότητεσ μιασ μεταβλητήσ ορίζονται ςτη διάρκεια τησ μεταγλώττιςησ και δεν μεταβάλλονται (για την C). Απαιτούμε δηλαδή να δηλώνουμε μια μεταβλητή πριν την χρηςιμοποιήςουμε. 4

Η δήλωςη μιασ μεταβλητήσ γνωςτοποιεί ςτον μεταγλωτιςτή το όνομα και τισ ιδιότητεσ τησ μεταβλητήσ. Η δήλωςη έχει ωσ αποτέλεςμα την ςύνδεςη του ονόματοσ τησ μεταβλητήσ με: τον ανάλογο τύπο δεδομένων (compile time) μια θέςη μνήμησ κατάλληλου μεγέθουσ (run time) Παράδειγμα δήλωςησ ενόσ ακεραίου: int count; 5

Ένασ τύποσ δεδομένων είναι ένα ςύνολο από αντικείμενα με κοινά χαρακτηριςτικά (πχ. Ακέραιοι αριθμοί, Φοιτητέσ, Πραγματικοί αριθμοί, Χαρακτήρεσ). Στουσ τύπουσ δεδομένων λαμβάνει θέςη ένα ςύνολο από πράξεισ που μασ επιτρέπει την επεξεργαςία τουσ. Οι ςύγχρονεσ γλώςςεσ προγραμματιςμού περιλαμβάνουν ενςωματωμένουσ τύπουσ δεδομένων, αλλα μασ προςφέρουν και την δυνατότητα να ορίςουμε και νέουσ τύπουσ δεδομένων. 6

<όνομα τύπου δεδομένων> <λίςτα ονομάτων μεταβλητών> ; ή <όνομα τύπου δεδομένων> <όνομα μεταβλητήσ>= <αρχική τιμή μεταβλητήσ> ; Παράδειγμα: int count ; /*δήλωζη ηης ακέραιας μεηαβληηής count*/ int num ; /*δήλωζη ηης ακέραιας μεηαβληηής num*/ ή int num, count; int num = 20; /* δήλωζη ηης ακέραιας μεηαβληηής num,όποσ ηης αποδίδει αρτική ηιμή 20*/ 7

Υπάρχουν περιπτωςεισ όπου δεν θέλουμε να αλλάξει τιμή μια μεταβλητή μετά την ανάθεςη αρχικήσ τιμήσ. Στην περίπτωςη αυτή πριν το όνομα του τύπου βάζουμε την δεςμευμένη λέξη const. const float pi = 3.14; float: τύποσ δεδομένων για πραγματικούσ αριθμούσ. 8

Η επίλυςη πολλών προβλημάτων εμπλέκει τη χρήςη αριθμητικών ςταθερών. Ο υπολογιςμόσ, για παράδειγμα, τησ περιμέτρου ενόσ κύκλου γίνεται ςύμφωνα με τον τύπο l = 2πr, όπου το π είναι η γνωςτή ςταθερά 3.14. Η πρόταςη τησ C που υπολογίζει την περίμετρο του κύκλου είναι: perimetros = 2 * 3.14 * radius; όπου perimetros και radius είναι πραγματικέσ μεταβλητέσ και οι αριθμοί 2 και 3.14 είναι ςταθερέσ. Οι ςταθερέσ επομένωσ, είναι τιμέσ, αριθμητικέσ ή αλφαριθμητικέσ. 9

Χαρακτήρεσ Ακέραιοι αριθμοί Πραγματικοί αριθμοί 10

Ο τύποσ χαρακτήρα, που δηλώνεται με τη λέξη κλειδί char, χρηςιμοποιείται για να αναπαραςτήςει απλούσ χαρακτήρεσ του αλφαβήτου τησ γλώςςασ. Μια ςταθερά τύπου char εμφανίζεται ςτον πηγαίο κώδικα ανάμεςα ςτα απλά ειςαγωγικά. Παραδείγματα ςταθερών τύπου χαρακτήρα είναι: 'C', '2', '*', ')'. 11

ΔΗΛΩΣΗ: ακολουθείται ο γενικόσ κανόνασ Παράδειγμα: char choice = B ; ΕΚΤΥΠΩΣΗ: η εκτύπωςη ενόσ χαρακτήρα γίνεται με την ςυνάρτηςη printf τησ βαςικήσ βιβλιοθήκησ (stdio.h) χρηςιμοποιώντασ τον προςδιοριςτή %c. Παράδειγμα: printf( O xaraktiras einai %c\n, choice); 12

ΕΙΣΑΓΩΓΗ: η ειςαγωγή τιμήσ ςε μια μεταβλητή από την κύρια είςοδο (πληκτρολόγιο πιο πιθανό) γίνεται μέςω τησ ςυνάρτηςησ scanf τησ βαςικήσ βιβλιοθήκησ. Η scanf χρηςιμοποιεί τουσ ίδιουσ προςδιοριςτέσ με την printf. Παράδειγμα: scanf( %c, &choice); 13

Ο τύποσ ακεραίου, που δηλώνεται με τη λέξη κλειδί int, χρηςιμοποιείται για να αναπαραςτήςει ακέραιουσ αριθμούσ. ΔΗΛΩΣΗ: ακολουθείται ο γενικόσ κανόνασ. Παράδειγμα: int num; int x=23; 14

ΕΚΤΥΠΩΣΗ: Για την εκτύπωςη ακεραίων, η ςυνάρτηςη printf τησ βαςικήσ βιβλιοθήκησ δέχεται ένα ςύνολο από προςδιοριςτέσ μορφήσ εμφάνιςησ. Οι προςδιοριςτέσ %d, %x και %o χρηςιμοποιούνται για εμφάνιςη ςε δεκαδική, δεκαεξαδική και οκταδική μορφή, αντίςτοιχα. printf( dec=%d\n, num); 15

ΕΙΣΑΓΩΓΗ: Η ειςαγωγή γίνεται όπωσ και ςτην περίπτωςη τησ μεταβλητήσ χαρακτήρα με τη διαφορά ότι χρηςιμοποιείται ο προςδιοριςτήσ %d. Παράδειγμα: scanf( %d, &num); 16

Η C διαθέτει 2 τύπουσ για αναπαράςταςη πραγματικών αριθμών. Τον τύπο float (λέξη κλειδί) για αριθμούσ κινητήσ υποδιαςτολήσ απλήσ ακρίβειασ και τον τύπο double (λέξη κλειδί) για τουσ αριθμούσ κινητήσ υποδιαςτολήσ διπλήσ ακρίβειασ. 17

ΔΗΛΩΣΗ: ακολουθείται ο γενικόσ κανόνασ. Παράδειγμα: float x; float y=1.33; 18

ΕΚΤΥΠΩΣΗ: Για την εκτύπωςη πραγματικών αριθμών, η ςυνάρτηςη printf τησ βαςικήσ βιβλιοθήκησ αναγνωρίζει τουσ προςδιοριςτέσ %f, %e και %g. ΕΜΕΙΣ θα χρηςιμοποιούμε κυρίωσ τον προςδιοριςτή %f. Παράδειγμα: printf( %f\n, y); 19

ΕΙΣΑΓΩΓΗ: Η ειςαγωγή γίνεται όπωσ και ςτουσ προηγούμενουσ τύπουσ δεδομένων με τη διαφορά ότι χρηςιμοποιείται ο προςδιοριςτήσ %f. Παράδειγμα: scanf( %f, &x); 20

Ένασ τελεςτήσ (operator) είναι ένα ςύμβολο ή μία λέξη τησ γλώςςασ προγραμματιςμού, που αναπαριςτά ςυγκεκριμένη διεργαςία, η οποία εκτελείται πάνω ςε ένα ή περιςςότερα δεδομένα. Τα δεδομένα καλούνται τελεςτέοι (operands) και μπορούν να είναι μεταβλητέσ, ςταθερέσ ή ακόμη κλήςεισ ςυναρτήςεων. Τα δεδομένα πρέπει να είναι του ιδίου τύπου. Οι τελεςτέσ χρηςιμοποιούνται για το ςχηματιςμό εκφράςεων (expressions). Παράδειγμα: Στην έκφραςη num + 12 ο χαρακτήρασ + αναπαριςτά τη διεργαςία τησ πρόςθεςησ των δύο τελεςτέων, τησ τιμήσ τησ μεταβλητήσ num και τησ ςταθεράσ 12. 21

Κατηγορία ενδεικτικοί τελεςτέσ αριθμητικοί +,, *, /, % λογικοί &&,,! ςυςχετιςτικοί >,>=, ==,!=,<,<= 22

ςύμβολο ερμηνεία + πρόςθεςη - αφαίρεςη * πολλαπλαςιαςμόσ / διαίρεςη % υπόλοιπο 23

Παραδείγματα: int x,y,z; x=9; y=10; z=x+y; 24

ςύμβολο ερμηνεία && Λογικό ΚΑΙ Λογικό Η! Λογικό ΟΧΙ 25

ςύμβολο ερμηνεία > μεγαλύτερο >= μεγαλύτερο ή ίςο == ίςον < μικρότερο <= μικρότερο ή ίςον 26

27