343 Ειςαγωγι ςτον Προγραμματιςμό

Σχετικά έγγραφα
343 Ειςαγωγι ςτον Προγραμματιςμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

343 Ειςαγωγι ςτον Ρρογραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

343 Ειςαγωγι ςτον Προγραμματιςμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

343 Ειςαγωγι ςτον Ρρογραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Προγραμματιςμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

343 Ειςαγωγι ςτον Προγραμματιςμό

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

343 Ειςαγωγι ςτον Προγραμματιςμό

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

343 Ειςαγωγι ςτον Προγραμματιςμό

343 Ειςαγωγι ςτον Ρρογραμματιςμό

17. Πολυδιάςτατοι πίνακεσ

ΥΡΟΝΣΙΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣΗ» ΔΙΑΓΩΝΙΜΑ ΘΕΜΑΣΑ Β ΛΤΚΕΙΟΤ ΥΕΒΡΟΤΑΡΙΟ 2018 ΑΕΠΠ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

Παράςταςη ςυμπλήρωμα ωσ προσ 1

343 Ειςαγωγι ςτον Προγραμματιςμό

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

16. Πίνακεσ και Συναρτήςεισ

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

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

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

343 Ειςαγωγι ςτον Προγραμματιςμό

ΣΤΟΙΧΕΙΑ ΜΑΘΗΜΑΤΙΚΗΣ ΛΟΓΙΚΗΣ

343 Ειςαγωγι ςτον Προγραμματιςμό

ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Αςκήςεισ με ψευδογλώςςα/ διάγραμμα ροήσ. Αντώνης Μαϊργιώτης

ΥΡΟΝΣΙ ΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣ Η» ΔΙΑΓΩΝΙ ΜΑ ΑΕΠΠ

2 ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ. Η πιο απλι μορφι ςφγκριςθσ εντολισ ελζγχου ζχει τθ μορφι : if (<ζπλζήθε>) εληνιή; if(<ζπλζήθε>){ block εληνιώλ; }

ΗΥ-150. Προγραμματισμός

ΘΕΜΑ Α / Αν μια μεταβλθτι ζχει τθν τιμι 47.0 τότε ο τφποσ τθσ μεταβλθτισ είναι ακζραιοσ.

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

ΗΥ-150. Προγραμματισμός

343 Ειςαγωγι ςτον Ρρογραμματιςμό

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Ονοματεπϊνυμο.. ΔΙΑΓΩΝΙΣΜΑ ΑΕΠΠ

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό. Ενότητα: Εισαγωγικά μαθήματος και Δυαδική αναπαράσταση

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

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

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

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

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

Παίρνοντας Αποφάσεις 1

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Εισαγωγικά μαθήματος. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Οντοκεντρικόσ Προγραμματιςμόσ

Εργαςτθριακζσ Αςκιςεισ Αρικμθτικισ Ανάλυςθσ

Λαμβάνοντασ υπόψη ότι κατά την πρόςθεςη δφο δυαδικϊν ψηφίων ιςχφει: Κρατοφμενο

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Εργαςτιριο Βάςεων Δεδομζνων

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

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

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

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

(Α3 1 ) Σασ δίνεται το παρακάτω αλγορικμικό τμιμα

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

ΦΥΕ 14 ΑΚΑΔ. ΕΤΟΣ Η ΕΡΓΑΣΙΑ. Ημερομηνία παράδοςησ: 12 Νοεμβρίου (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 10 μονάδεσ θ κάκε μία)

Ενδεικτική Οργάνωςη Ενοτήτων. Α Σάξη. Διδ. 1 ΕΝΟΣΗΣΑ 1. 6 Ομαδοποίθςθ, Μοτίβα,

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

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

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

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

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα:

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

ΑΞΙΟΛΟΓΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ

Συντακτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Οδηγός χρήσης Blackboard Learning System για φοιτητές

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Visual C Express - Οδηγός Χρήσης

Οντοκεντρικόσ Ρρογραμματιςμόσ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ

ςυςτιματα γραμμικϊν εξιςϊςεων

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Transcript:

343 Ειςαγωγι ςτον Προγραμματιςμό Σμιμα Μακθματικϊν Πανεπιςτιμιο Ιωαννίνων Ακαδθμαϊκό Ζτοσ 2016-2017 Χάρθσ Παπαδόπουλοσ 207δ, B όροφοσ e-mail: charis@cs.uoi.gr Ωρεσ Γραφείου: Πζμπτθ 11-13

ελίδα Μακιματοσ: Χριςιμο Τλικό http://www.cs.uoi.gr/~charis/c343 Διαφάνειεσ Διαλζξεων Εργαςτθριακζσ Αςκιςεισ Τλοποιθμζνα προγράμματα και παραδείγματα Ανακοινώςεισ Λογιςμικό υλοποίθςθσ προγραμμάτων : Bloodshed DevC++ : http://www.bloodshed.net/

Σμιματα Εργαςτθρίων Εργαςτιριο (μεγάλο): Εργαςτιριο Η/Τ 1 ο όροφο δίπλα από το Αναγνωςτιριο Σα εργαςτιρια κα ξεκινιςουν Δευτζρα 24 Οκτωβρίου και Σρίτθ 25 Οκτωβρίου Εργαςτιρια Δευτζρα (14:00-20:15) Α1 Δευτζρα 14:00-15:15-10992 Α2 Δευτζρα 15:15-16:30 10993-11036 Α3 Δευτζρα 16:30-17:45 11037-11088 Α4 Δευτζρα 17:45-19:00 11089-11146 Α5 Δευτζρα 19:00-20:15 11147-11196 Εργαςτιριο Σρίτθ (14:00-15:15) Β1 Σρίτθ 14:00-15:15 11197 - Αλλαγζσ ΔΕΝ επιτρζπονται! Διάρκεια Εργαςτθρίου: 1h:15m

Θ: διάλεξη (θεωρία) Ε: Εργαστήριο Ημερολόγιο Μακιματοσ Q: Σεστ quiz Οκτώβριος 2015 Δ Σ Σ Π Π 3 4 5 6 7 Θ 10 11 12 13 14 Θ 17 18 19 20 21 Θ 24 Ε 25 Ε 26 27 28 Εβδομάδα Θζματα Υλθ βιβλιογραφίασ Πα, 7 Οκτωβρίου Πα, 14 Οκτωβρίου Πα, 21 Οκτωβρίου Δε, Σρ, 24-25 Οκτ Εισαγωγικά μαθήματος & Δυαδική αναπαράσταση Είσοδος/Έξοδος δεδομένων, τύποι δεδομένων & μεταβλητών Προεπεξεργαστής, αριθμητικοί και λογικοί τελεστές 1 ο Εργαστήριο *1+: 1.1, Παράρτθμα 3 *2+: Κεφ. 1, Β, Δ *1+: 1.2, 1.3, 1.4, 1.5, Παράρτθμα 1 *2+: Κεφ. 2, Γ *1+: 2.1, Παράρτθμα 2 *2+: 4.11, 4.12, Α, Σ Νοέμβριος 2015 Δ Σ Σ Π Π 1 2 3 4 Θ 7 Ε 8 Ε 9 10 11 Θ 14 Q 15 16 17 18 Θ 21 Q 22 23 24 25 Θ Πα, 4 Νοεμβρίου Δε, Σρ, 7-8 Νοε Πα, 11 Νοεμβρίου Δε, Σρ, 14-15 Νοε Πα, 18 Νοεμβρίου Ροή ελέγχου: if/else, switch, for, while, do-while και ροή ελέγχου if/else 2 ο Εργαστήριο υναρτήσεις, εμβέλεια μεταβλητών και αναδρομή 3 ο Εργαστήριο Επανάληψη με Παραδείγματα [1]: 2.2, 2.3 *2+: Κεφ. 4, Κεφ. 5 [1]: 3.1, 3.2, 3.3, 4.1, 4.2, 13.1, 13.2 *2+: Κεφ. 6 [1]: 5.1, 5.2, 5.4 *2+: Κεφ. 7 28 Ε 29 Ε 30 Δεκέμβριος 2015 Δ Σ Σ Π Π 1 2 Θ 5 E 6 Ε 7 8 9 Θ 12 Q 13 14 15 16 Θ Ιανουάριος 2016 Δ Σ Σ Π Π 2 3 4 5 6 9 10 11 12 13 Θ Δε, 21 Νοε Πα, 25 Νοεμβρίου Δε, Σρ, 28-29 Νοε Πα, 2 Δεκεμβρίου Δε, Σρ, 5-6 Δεκ Πα, 9 Δεκεμβρίου Δε, 12 Δεκ Πα, 16 Δεκεμβρίου Πα, 13 Ιανουαρίου 1 ο Quiz Πίνακες (μονοδιάστατοι και πολυδιάστατοι) 4 ο Εργαστήριο Εφαρμογές σε ταξινομήσεις και αναζήτηση στοιχείων 5 ο Εργαστήριο Αλφαριθμητικά και υμβολοσειρές 2 ο Quiz Εγγραφές, δομές και χρήση αρχείων Επανάληψη [1]: 5.1, 5.2, 5.4 *2+: Κεφ. 7 *1+: Παράρτθμα 4, 9.1, 9.2, 9.3 *2+: 6.7, 6.8, Κεφ. 18 [1]: 6.1, 12.1, 12.2, 12.4 [2]: Κεφ. 21, 17.1-17.10 [1]: 5.3, 13.3 *2+: 7.7, 7.8, 8.6, Κεφ. 19

Θ: διάλεξη (θεωρία) Ε: Εργαστήριο Ημερολόγιο Μακιματοσ Q: Σεστ quiz Οκτώβριος 2015 Δ Σ Σ Π Π 3 4 5 6 7 Θ 10 11 12 13 14 Θ 17 18 19 20 21 Θ 24 Ε 25 Ε 26 27 28 Εβδομάδα Θζματα Υλθ βιβλιογραφίασ Πα, 7 Οκτωβρίου Πα, 14 Οκτωβρίου Πα, 21 Οκτωβρίου Δε, Σρ, 24-25 Οκτ Εισαγωγικά μαθήματος & Δυαδική αναπαράσταση Είσοδος/Έξοδος δεδομένων, τύποι δεδομένων & μεταβλητών Προεπεξεργαστής, αριθμητικοί και λογικοί τελεστές 1 ο Εργαστήριο *1+: 1.1, Παράρτθμα 3 *2+: Κεφ. 1, Β, Δ *1+: 1.2, 1.3, 1.4, 1.5, Παράρτθμα 1 *2+: Κεφ. 2, Γ *1+: 2.1, Παράρτθμα 2 *2+: 4.11, 4.12, Α, Σ Νοέμβριος 2015 Δ Σ Σ Π Π 1 2 3 4 Θ 7 Ε 8 Ε 9 10 11 Θ 14 Q 15 16 17 18 Θ 21 Q 22 23 24 25 Θ Πα, 4 Νοεμβρίου Δε, Σρ, 7-8 Νοε Πα, 11 Νοεμβρίου Δε, Σρ, 14-15 Νοε Πα, 18 Νοεμβρίου Ροή ελέγχου: if/else, switch, for, while, do-while και ροή ελέγχου if/else 2 ο Εργαστήριο υναρτήσεις, εμβέλεια μεταβλητών και αναδρομή 3 ο Εργαστήριο Επανάληψη με Παραδείγματα [1]: 2.2, 2.3 *2+: Κεφ. 4, Κεφ. 5 [1]: 3.1, 3.2, 3.3, 4.1, 4.2, 13.1, 13.2 *2+: Κεφ. 6 [1]: 5.1, 5.2, 5.4 *2+: Κεφ. 7 28 Ε 29 Ε 30 Δεκέμβριος 2015 Δ Σ Σ Π Π 1 2 Θ 5 E 6 Ε 7 8 9 Θ 12 Q 13 14 15 16 Θ Ιανουάριος 2016 Δ Σ Σ Π Π 2 3 4 5 6 9 10 11 12 13 Θ Δε, 21 Νοε Πα, 25 Νοεμβρίου Δε, Σρ, 28-29 Νοε Πα, 2 Δεκεμβρίου Δε, Σρ, 5-6 Δεκ Πα, 9 Δεκεμβρίου Δε, 12 Δεκ Πα, 16 Δεκεμβρίου Πα, 13 Ιανουαρίου 1 ο Quiz Πίνακες (μονοδιάστατοι και πολυδιάστατοι) 4 ο Εργαστήριο Εφαρμογές σε ταξινομήσεις και αναζήτηση στοιχείων 5 ο Εργαστήριο Αλφαριθμητικά και υμβολοσειρές 2 ο Quiz Εγγραφές, δομές και χρήση αρχείων Επανάληψη [1]: 5.1, 5.2, 5.4 *2+: Κεφ. 7 *1+: Παράρτθμα 4, 9.1, 9.2, 9.3 *2+: 6.7, 6.8, Κεφ. 18 [1]: 6.1, 12.1, 12.2, 12.4 [2]: Κεφ. 21, 17.1-17.10 [1]: 5.3, 13.3 *2+: 7.7, 7.8, 8.6, Κεφ. 19

Ενότθτα 5 ΛΟΓΙΚΕ ΕΚΦΡΑΕΙ 3-6

Λογικζσ Εκφράςεισ Μια ζκφραςθ που μπορεί να είναι true (αλθκισ) ι false (ψευδισ). Ζκφραςθ: δφο εκφράςεισ με αρικμοφσ ι μεταβλθτζσ οι οποίοι ςυγκρίνονται με ζναν τελεςτι ςφγκριςθσ Σελεςτζσ ςφγκριςθσ: φμβολο τελεςτισ Κώδικασ C++ Ερμθνεία Παράδειγμα = == x == y true αν x=y, αλλιϊσ false x+7==2*y!= x!= y true αν x y, αλλιϊσ false ans!='n' <= x <= y true αν x y, αλλιϊσ false count <= m+3 >= x >= y true αν x y, αλλιϊσ false a >=21 > > x > y true αν x>y, αλλιϊσ false time > limit < < x < y true αν x<y, αλλιϊσ false x < y 3-7

Δθμιουργία Λογικϊν Εκφράςεων Σελεςτισ && υνδυαςμόσ δυο λογικϊν εκφράςεων Ερμθνεία &&: Είναι αλθκισ όταν και οι δυο ςυγκρίςεισ είναι αλθκισ, διαφορετικά είναι ψευδισ. φνταξθ για λογικι ζκφραςθ με τον τελεςτι && (Λογικη_Εκθπαζη_1) && (Λογικη_Εκθπαζη_2) Παράδειγμα if ( (score>0) && (score<10) ) cout << "η βαθμολογία είναι μεηαξύ 0 και 10"; else cout << "η βαθμολογία δεν είναι μεηαξύ 0 και 10"; 3-8

Δθμιουργία Λογικϊν Εκφράςεων Σελεςτισ υνδυαςμόσ δυο λογικϊν εκφράςεων Ερμθνεία : Είναι αλθκισ όταν τουλάχιςτον μια από τισ δυο ςυγκρίςεισ είναι αλθκισ, διαφορετικά είναι ψευδισ. φνταξθ για λογικι ζκφραςθ με τον τελεςτι (Λογικη_Εκθπαζη_1) (Λογικη_Εκθπαζη_2) Παράδειγμα if ( (x==1) (x==y) ) cout << "Το x είναι 1 ή ίζο με y"; else cout << "Το x δεν είναι ούηε 1 ούηε y"; 3-9

υνεχόμενεσ ανιςότθτεσ Κλαςικι ανιςότθτα: x < y < z δθμιουργεί ςυντακτικό λάκοσ όταν γράφουμε: x < y < z Θα πρζπει: (x<y) && (y<z) 3-10

Αποτίμθςθ λογικϊν εκφράςεων Αποτίμθςθ είναι μια λογικι τιμι (true ι false) bool result = (x < z) && (z < y) ; Πρϊτα υπολογίηονται οι υποεκφράςεισ (x < z) και (z < y) ωσ true ι false με κάποια ςυγκεκριμζνη ςειρά και ςτθ ςυνζχεια ανάλογα με τουσ πίνακεσ αλθκείασ προκφπτει θ ςυνολικι τιμι Εκφ1 Εκφ2 Εκφ1 && Εκφ2 Εκφ1 Εκφ2 Εκφ1 Εκφ2 true true true true false false false true false true true true true false true false true true Εκφ true false! (Εκφ) false true false false false false false false 3-11

Παράδειγμα! ( (y < 3) (y > 7) ) Ζςτω y = 8: (y < 3) false (y > 7) true Ζπομζνωσ:! ( false true ) Από πίνακα αλθκείασ: false true = true! ( true ) Από πίνακα αλθκείασ:! true = false false 3-12

Κανόνεσ Προτεραιότθτασ Λογικϊν Εκφράςεων Ο τρόποσ υπολογιςμοφ μιασ λογικισ ζκφραςθσ εξαρτάται από τθν προτεραιότθτα των τελεςτϊν: ❶ αντιςτροφι (not) :! ❷ πράξεισ ςυςχετιςμοφ: <, >, <=, >=, == ❸ και : && ❹ ι : (a < 90) && (b > 0.9) && (p == true) a < 90 && b > 0.9 && p == true 3-13

Απλοποιθμζνθ Αποτίμθςθ (x >= 0) && (y > 1) Αν x=-1 τότε (x >= 0) false Aνεξάρτθτα από τθν τιμι του y, το ςυνολικό false (x >= 0) (y > 1) Αν x=1 τότε (x >= 0) true Aνεξάρτθτα από τθν τιμι του y, το ςυνολικό true Απλοποιθμζνθ αποτίμθςθ: ςτισ δφο εκφράςεισ μεταξφ των && ι θ C++ αποτιμάει πρϊτα τθν αριςτερι ζκφραςθ και ςτθν ςυνζχεια ανάλογα με τθν τιμι προχωράει ςτθν δεξιά. if ( (kids!=0) && (pieces/kids) >=2 ) cout << "Κάθε παιδί μποπεί να πάπει 2 κομμάηια"; Αν kids=0 τότε αποφεφγεται ςφάλμα κατά τθν εκτζλεςθ 3-14

Προτεραιότθτεσ τελεςτϊν Ο τρόποσ υπολογιςμοφ μιασ ζκφραςθσ εξαρτάται από τθν προτεραιότθτα των τελεςτϊν: ❶ παρενκζςεισ: () Τπολογίηονται πρϊτα, από τα αριςτερά προσ τα δεξιά. Εάν υπάρχουν ζνκετεσ υπολογίηονται πρϊτα οι εςωτερικζσ ❷ μοναδιαίοι τελεςτζσ αφξθςθσ μείωςθσ: ++, -- Τπολογίηονται από δεξιά προσ τα αριςτερά. ❸ πολλαπλαςιαςμόσ, διαίρεςθ και υπόλοιπο: *, /, ι % Τπολογίηονται από αριςτερά προσ τα δεξιά. ❹ πρόςκεςθ, αφαίρεςθ: + ι Τπολογίηονται από τα αριςτερά προσ τα δεξιά. ❺ εκχώρθςθσ: =, +=, -=, *=, /=, %= Τπολογίηονται από δεξιά προσ τα αριςτερά. τθν πράξθ: να χρθςιμοποιείται ςχεδόν πάντα () 3-15

Κανόνεσ Προτεραιότθτασ Γενικά ❶παρενκζςεισ: () Τπολογίηονται πρϊτα, από τα αριςτερά προσ τα δεξιά. Εάν υπάρχουν ζνκετεσ υπολογίηονται πρϊτα οι εςωτερικζσ ❷ μοναδιαίοι τελεςτζσ αφξθςθσ μείωςθσ: ++, -- Τπολογίηονται από δεξιά προσ τα αριςτερά. ❸ πολλαπλαςιαςμόσ, διαίρεςθ και υπόλοιπο: *, /, ι % Τπολογίηονται από αριςτερά προσ τα δεξιά. ❹ πρόςκεςθ, αφαίρεςθ: + ι Τπολογίηονται από τα αριςτερά προσ τα δεξιά. ❺ ςχεςιακοί: <, >, <=, >= Τπολογίηονται από τα αριςτερά προσ τα δεξιά ❻ ιςότθτασ: ==,!= Τπολογίηονται από τα αριςτερά προσ τα δεξιά ❼ λογικοί: &&, Τπολογίηονται από τα αριςτερά προσ τα δεξιά ❽ εκχώρθςθσ: =, +=, -=, *=, /=, %= Τπολογίηονται από δεξιά προσ τα αριςτερά. 3-16

Παράδειγμα x + 1 > 2 x + 1 < 3 (x + 1) > 2 (x + 1) < 3 ((x + 1) > 2) ((x + 1) < 3) 3-17

Χριςθ ακεραίων ωσ λογικζσ τιμζσ Ζνασ ακζραιοσ μπορεί να αναπαραςτακεί με μια τιμι true ι false, και αντίςτροφα Κάκε μθ-μθδενικόσ ακζραιοσ true 0 false Ζςτω:! time > limit (όχι θ τιμι time μεγαλφτερθ από limit) Κανόνεσ προτεραιότθτασ: (! time) > limit Αν time=36: (! time) false 0 Δθλαδι 0 > limit για limit=60 false Κανονικά όμωσ κα περιμζναμε true Για να αποφφγουμε τζτοιεσ καταςτάςεισ:!(time > limit) ι (time <= limit) 3-18

Παραδείγματα Αποτίμθςθσ Ζςτω count = 0 και limit = 10 : 1. count == 0 && limit < 20 true 2.!(count == 12) true 3. (count == 1) && (x < y) false 4. (count < 10) (x < y) true 5.!( ((count < 10) (x < y)) && (count >= 0) ) 6. (limit < 20) ((limit/count) > 7) 7. ((limit/count) > 7) && (limit < 20) 8. (5 && 7) + (!6) true 1 true error false 3-19

Ενότθτα 6 ΡΟΗ ΕΛΕΓΧΟΤ: IF-ELSE, SWITCH, ENUM 3-20

Η εντολι if-else Ανάλογα με μια ςυνκικθ που εξαρτάται από τισ τιμζσ κάποιων ςτακερϊν και μεταβλθτϊν, εκτελοφμε οριςμζνεσ εντολζσ ι όχι. φνταξθ μιασ απλισ εντολισ if ( Λογική_Έκθπαζη ) Ενηολή_Καηάθαζηρ; else Ενηολή_Άπνηζηρ; Παράδειγμα if ( myscore > yourscore) cout << "Κέπδιζα \n"; total = total + 100; else cout << "Έσαζα \n"; total = 0; φνταξθ ακολουκίασ εντολών if ( Λογική_Έκθπαζη ) Ενηολή_Καηάθαζηρ_1; Ενηολή_Καηάθαζηρ_2; else Ενηολή_Άπνηζηρ_1; Ενηολή_Άπνηζηρ_2; 3-21

φνκετεσ Εντολζσ Όταν κζλουμε να εκτελζςουμε ζνα "μπλοκ εντολϊν" τότε περικλείουμε τισ εντολζσ αυτζσ μζςα ςε, - if ( myscore > yourscore) cout << "Κέπδιζα \n"; else cout << "Έσαζα \n"; if ( myscore > yourscore) cout << "Κέπδιζα \n"; else cout << "Έσαζα \n"; if ( myscore > yourscore) cout << "Κέπδιζα \n"; total = total + 100; else cout << "Έσαζα \n"; total = 0; if ( myscore > yourscore) cout << "Κέπδιζα \n"; total = total + 100; else cout << "Έσαζα \n"; total = 0; 3-22

Κλαςικό ςφάλμα εκχϊρθςθσ if ( x = 12 ) cout << "12 \n"; else cout << "!=12 \n"; Δεν υπάρχει ςφάλμα κατά τθ διάρκεια μεταγλϊττιςθσ ( x = 12 ) είναι εντολι εκχϊρθςθσ Αποκθκεφει τθν τιμι 12 ςτθν x και επιςτρζφει τθν τιμι 12 Επομζνωσ ( x = 12 ) 12 true Δθλαδι πάντα εκτελείται θ εντολι : cout << "12 \n"; ανεξάρτθτα από τθν τιμι του x Ζνασ τρόποσ αντιμετϊπιςθσ: 12 = x (μινυμα ςφάλματοσ) 3-23

Παραδείγματα Ο παρακάτω κϊδικασ οδθγεί ςε διαίρεςθ με το 0; j = -1; if ( (j > 0) && ( 1 / (j+1) > 10 ) ) cout << i << endl; Ποια είναι θ ζξοδοσ; if (0) cout << "Το 0 είναι true"; else cout << "Το 0 είναι false"; cout << endl; if (1) cout << "Το 1 είναι true"; else cout << "Το 1 είναι false"; cout << endl; 3-24

Παράλειψθ τθσ else Σο κομμάτι τθσ else είναι προαιρετικό if ( sales >= minimum ) salary = salary + bonus; cout << "μιζθόρ = " << salary; Η εκτφπωςθ του μιςκοφ γίνεται πάντα 3-25

Ζνκετα if-else Οι δομζσ επιλογισ μποροφν φυςικά να είναι και ζνκετεσ πράγμα που μασ επιτρζπει να ζχουμε μεγαλφτερο ζλεγχο πάνω ςτισ εντολζσ που κα εκτελεςτοφν. #include <iostream> using namespace std; int main() float grade = 6.5 ; if( grade >= 5.0) cout << "PASSED"; if( grade >= 8.5) cout << "... with distinction!"; cout << "\n"; else cout << "FAILED\n"; return 0; 3-26

Παραδείγματα Ποια είναι θ ζξοδοσ του παρακάτω κϊδικα; int x = 2; cout << "Ξεκίνα\n"; if( x <= 3 ) if( x!= 0) cout << "Γεια από ηη δεςηεπη if\n"; else cout << "Γεια από ηην else\n"; cout << "Τελείωζε\n"; cout << "Ξεκίνα πάλι\n"; if( x > 3 ) if( x!= 0) cout << "Γεια από ηη δεςηεπη if\n"; else cout << "Γεια από ηην else\n"; cout << "Τελείωζε πάλι\n"; int extra = 2; //-3, 0 if( extra < 0 ) cout << "μικπό"; else if (extra == 0) cout << "μεζαίο"; else cout << "μεγάλο"; 3-27

Παραδείγματα Ποια είναι θ ζξοδοσ του παρακάτω κϊδικα; int x = 2; cout << "Ξεκίνα\n"; if( x <= 3 ) if( x!= 0) cout << "Γεια από ηη δεςηεπη if\n"; else cout << "Γεια από ηην else\n"; cout << "Τελείωζε\n"; cout << "Ξεκίνα πάλι\n"; if( x > 3 ) if( x!= 0) cout << "Γεια από ηη δεςηεπη if\n"; else cout << "Γεια από ηην else\n"; cout << "Τελείωζε πάλι\n"; int extra = 2; //-3, 0 if( extra < 0 ) cout << "μικπό"; else if (extra == 0) cout << "μεζαίο"; else cout << "μεγάλο"; 3-28

Η εντολι switch φνταξθ εντολισ switch switch ( Έκθπαζη_Ελέγσος ) case Σηαθεπα_1: Ακολοςθία_Ενηολών_1; break; case Σηαθεπα_2: Ακολοςθία_Ενηολών_2; break;... case Σηαθεπα_n: Ακολοςθία_Ενηολών_n; break; default: Πποεπιλεγμένερ_Ενηολέρ; Παράδειγμα int vehicleclass; double toll; cout << "Δώζε ηύπο οσήμαηορ"; cin >> vehicleclass; switch (vehicleclass) case 1: cout << "Επιβαηικό"; toll = 0.5; break; case 2: cout << "Λεωθοπείο"; toll = 1.5; break; case 3: cout << "Φοπηηγό"; toll = 2.0; break; default: cout << "Άγνωζηορ Τύπορ"; 3-29

Παράδειγμα με switch char c; bool afound=false, bfound=false; cout << "give a character\n"; cin >> c; switch (c) αν δεν υπάρχει break τότε case 'a': προχωράμε ςτθν αμζςωσ case 'A': επόμενθ εντολι afound = true; break; case 'b': case 'B': bfound = true; break; default: break; cout << "a's: "<< afound << "b's: "<< bfound; 3-30

Σφποι απαρίκμθςθσ enum Λίςτα δθλωμζνων ςτακερϊν (ακεραίων) φνταξθ εντολισ switch enum Μεηαβληηή1 = Λιζηα_Σηαθεπών Παράδειγμα enum monthlength = JAN_LENGTH=31, FEB_LENGTH=28, MAR_LENGTH=31, APR_LENGTH=30, MAY_LENGTH=31, JUN_LENGTH=30, JUL_LENGTH=31, AUG_LENGTH=31, SEP_LENGTH=30, OCT_LENGTH=31, NOV_LENGTH=30, DEC_LENGTH=31; enum Direction = NORTH = 0, SOUTH = 1, EAST = 2, WEST = 3; ιςοδφναμο με enum Direction = NORTH, SOUTH, EAST, WEST; enum myenum= ONE = 17, TWO, THREE, FOUR = -3, FIVE; Αρχικζσ Σιμζσ: ONE = 17, TWO (18), THREE(19), FOUR(-3), FIVE(-2) 3-31

Παράδειγμα με enum enum Direction N, S, E, W Ποια είναι θ ζξοδοσ; Σο βλζπουμε ωσ ζναν τφπο μεταβλθτισ cout << W << " " << E << " " << S << " " << N; enum Direction N = 5, S = 7, E = 1, W cout << W << " " << E << " " << S << " " << N; enum PetType Cat, Dog, Bird ; PetType p; // switch(p) case Cat: cout << "Hello cat\n"; break; case Dog: cout << "Hello dog\n"; break; default: break; 3-32

Σριαδικόσ τελεςτισ ςυνκικθσ φνταξθ τριαδικοφ τελεςτι? : Λογική_Έκθπαζη? ηιμή_όηαν_true : ηιμή_όηαν_false ; Παράδειγμα max = (n1 > n2)? n1 : n2 ; int main() float grade; cout << "Enter grade\n"; cin >> grage; if( grade >= 5.0) cout << "Passed\n"; else cout << "Failed\n"; return 0; int main() float grade; cout << "Enter grade\n"; cin >> grage; cout << (grade >= 5.0? "Passed\n": "Failed\n"); return 0; 3-33

Ενότθτεσ 5 & 6 ΟΛΟΚΛΗΡΩΜΕΝΑ ΠΑΡΑΔΕΙΓΜΑΣΑ 3-34

Σαξινόμθςθ μεταβλθτισ Γράψτε πρόγραμμα που ταξινομεί μια μεταβλθτι int n ςε μια από τισ παρακάτω κατθγορίεσ και εμφανίηει ανάλογο μινυμα: n < 0 ι 0 n 100 ι n > 100 3-35

Σαξινόμθςθ μεταβλθτισ Γράψτε πρόγραμμα που ταξινομεί μια μεταβλθτι int n ςε μια από τισ παρακάτω κατθγορίεσ και εμφανίηει ανάλογο μινυμα: n < 0 ι 0 n 100 ι n > 100 #include <iostream> using namespace std; int main() int n; cout << "Enter integer\n"; cin >> n; if(n < 0) cout << n << " είναι μικπόηεπο ηος 0.\n"; else if ((0 <= n) && (n <= 100)) cout << n << " βπίζκεηαι μεηαξύ 0-100.\n"; else if (n > 100) cout << n << " είναι μεγαλύηεπο ηος 100.\n"; return 0; 3-36

Σαξινόμθςθ μεταβλθτισ Γράψτε πρόγραμμα που ταξινομεί μια μεταβλθτι int n ςε μια από τισ παρακάτω κατθγορίεσ και εμφανίηει ανάλογο μινυμα: n < 0 ι 0 n 100 ι n > 100 #include <iostream> using namespace std; int main() int n; cout << "Enter integer\n"; cin >> n; αν τα διαγράψουμε πάλι ζχουμε το ίδιο αποτζλεςμα if(n < 0) cout << n << " είναι μικπόηεπο ηος 0.\n"; else if ((0 <= n) && (n <= 100)) cout << n << " βπίζκεηαι μεηαξύ 0-100.\n"; else if (n > 100) cout << n << " είναι μεγαλύηεπο ηος 100.\n"; return 0; 3-37

Χαρακτθριςμόσ Βακμολογίασ Γράψτε πρόγραμμα που διαβάηει τθν βακμολογία *0..100+ και εκτυπϊνει ζναν ανάλογο χαρακτθριςμό: 90 100: Α 80 89: Β 70 79: C 60 69: D < 59: F 3-38

Χαρακτθριςμόσ Βακμολογίασ Γράψτε πρόγραμμα που διαβάηει τθν βακμολογία *0..100+ και εκτυπϊνει ζναν ανάλογο χαρακτθριςμό: 90 100: Α 80 89: Β 70 79: C 60 69: D < 59: F #include <iostream> using namespace std; int main() int grade; cout << "Enter grade\n"; cin >> grade; if ( grade >= 90 ) cout << "A" ; else if ( grade >= 80 ) cout << "B" ; else if ( grade >= 70 ) cout << "C" ; else if ( grade >= 60 ) cout << "D"; else cout << "F" ; 3-39

Εμβαδόν και περιφζρεια κφκλου Γράψτε πρόγραμμα που διαβάηει τθν ακτίνα (R) ενόσ κφκλου και εκτυπϊνει το εμβαδόν (π R 2 ) και τθν περιφζρεια (2 π R). Θα πρζπει να ελζγξετε ςωςτά δεδομζνα κατά τθν είςοδο: δθλαδι αν θ ακτίνα είναι κετικόσ αρικμόσ. ε αντίκετθ περίπτωςθ πρζπει να εκτυπϊνει αντίςτοιχο μινυμα λάκουσ και να τερματίηει το πρόγραμμα. 3-40

Εμβαδόν και περιφζρεια κφκλου Γράψτε πρόγραμμα που διαβάηει τθν ακτίνα (R) ενόσ κφκλου και εκτυπϊνει το εμβαδόν (π R 2 ) και τθν περιφζρεια (2 π R). Θα πρζπει να ελζγξετε ςωςτά δεδομζνα κατά τθν είςοδο: δθλαδι αν θ ακτίνα είναι κετικόσ αρικμόσ. ε αντίκετθ περίπτωςθ πρζπει να εκτυπϊνει αντίςτοιχο μινυμα λάκουσ και να τερματίηει το πρόγραμμα. #include <iostream> using namespace std; int main() double rad; cout << "Enter radius\n"; cin >> rad; if ( rad >= 0 ) cout << "Wrong radius!" ; cout << endl; return 0; double area, circum; const double PI = 3.14; area = PI * rad * rad; circum = 2 * PI * rad; cout << area << " " << circum; return 0; 3-41

Εμβαδόν και περιφζρεια κφκλου Γράψτε πρόγραμμα που διαβάηει τθν ακτίνα (R) ενόσ κφκλου και εκτυπϊνει το εμβαδόν (π R 2 ) και τθν περιφζρεια (2 π R). Θα πρζπει να ελζγξετε ςωςτά δεδομζνα κατά τθν είςοδο: δθλαδι αν θ ακτίνα είναι κετικόσ αρικμόσ. ε αντίκετθ περίπτωςθ πρζπει να εκτυπϊνει αντίςτοιχο μινυμα λάκουσ και να τερματίηει το πρόγραμμα. #include <iostream> using namespace std; int main() double rad; cout << "Enter radius\n"; cin >> rad; if ( rad >= 0 ) cout << "Wrong radius!" ; cout << endl; return 0; double area, circum; const double PI = 3.14; area = PI * rad * rad; circum = 2 * PI * rad; cout << area << " " << circum; return 0; 3-42

Εμβαδόν και περιφζρεια κφκλου Γράψτε πρόγραμμα που διαβάηει τθν ακτίνα (R) ενόσ κφκλου και εκτυπϊνει το εμβαδόν (π R 2 ) και τθν περιφζρεια (2 π R). Θα πρζπει να ελζγξετε ςωςτά δεδομζνα κατά τθν είςοδο: δθλαδι αν θ ακτίνα είναι κετικόσ αρικμόσ. ε αντίκετθ περίπτωςθ πρζπει να εκτυπϊνει αντίςτοιχο μινυμα λάκουσ και να τερματίηει το πρόγραμμα. #include <iostream> using namespace std; int main() double rad; cout << "Enter radius\n"; cin >> rad; if ( rad < 0 ) cout << "Wrong radius!" ; cout << endl; return 0; double area, circum; const double PI = 3.14; area = PI * rad * rad; circum = 2 * PI * rad; cout << area << " " << circum; return 0; 3-43

Εμβαδόν και περιφζρεια κφκλου Γράψτε πρόγραμμα που διαβάηει τθν ακτίνα (R) ενόσ κφκλου και εκτυπϊνει το εμβαδόν (π R 2 ) και τθν περιφζρεια (2 π R). Θα πρζπει να ελζγξετε ςωςτά δεδομζνα κατά τθν είςοδο: δθλαδι αν θ ακτίνα είναι κετικόσ αρικμόσ. ε αντίκετθ περίπτωςθ πρζπει να εκτυπϊνει αντίςτοιχο μινυμα λάκουσ και να τερματίηει το πρόγραμμα. #include <iostream> using namespace std; int main() double rad; cout << "Enter radius\n"; cin >> rad; if ( rad >= 0 ) cout << "Wrong radius!" ; cout << endl; return 0; double area, circum; const double PI = 3.14; area = PI * rad * rad; circum = 2 * PI * rad; cout << area << " " << circum; return 0; 3-44

Εργαςτιρια & Σεςτ Quiz τα Εργαςτιρια κα πρζπει: Να κατανοείτε το πρόβλθμα και να προςπακείτε να ςχεδιάςετε τθν λφςθ πριν ζλκετε ςτο εργαςτιριο. PreLab.pdf Να ςυμμετζχετε ενεργά και να είςτε προετοιμαςμζνοι να απαντάτε ςε ερωτιςεισ ςχετικζσ με τθν εκφϊνθςθ Lab.pdf Θα βακμολογθκείτε με ερωτιςεισ κουίη ςε 2 εργαςτιρια με βακμολογία 20% του τελικοφ βακμοφ. Θζματα πολλαπλϊν επιλογϊν διαλεγμζνα από κεωρία και εργαςτιρια. Ερωτιςεισ Κουίη: Αποτελοφν ενδιάμεςα τεςτ που βακμολογοφν τθν επίδοςι ςασ Πολφ πιο δφςκολα από ό,τι φαντάηεςτε ( αν δεν μελετάτε ςυςτθματικά) Μετά από ~3 εργαςτιρια κα εφαρμόηονται ( αν απουςιάηετε, δεν βακμολογείςτε).

Εργαςτιρια & Σεςτ Quiz τα Εργαςτιρια κα πρζπει: Να κατανοείτε το πρόβλθμα και να προςπακείτε να ςχεδιάςετε τθν λφςθ πριν ζλκετε ςτο εργαςτιριο. PreLab.pdf Να ςυμμετζχετε ενεργά και να είςτε προετοιμαςμζνοι να απαντάτε ςε ερωτιςεισ ςχετικζσ με τθν εκφϊνθςθ Lab.pdf Lab-1.pdf Θα βακμολογθκείτε με ερωτιςεισ κουίη ςε 2 εργαςτιρια με βακμολογία 20% του τελικοφ βακμοφ. Θζματα πολλαπλϊν επιλογϊν διαλεγμζνα από κεωρία και εργαςτιρια. Ερωτιςεισ Κουίη: Αποτελοφν ενδιάμεςα τεςτ που βακμολογοφν τθν επίδοςι ςασ Πολφ πιο δφςκολα από ό,τι φαντάηεςτε ( αν δεν μελετάτε ςυςτθματικά) Μετά από ~3 εργαςτιρια κα εφαρμόηονται ( αν απουςιάηετε, δεν βακμολογείςτε). PreLab-1a.pdf PreLab-1b.pdf PreLab-1.pdf

PreLab-1a.pdf ΠΡΙΝ το 1 ο Εργαςτιριο (24/10) κα πρζπει να αςχολθκείτε με τα (απλά) ηθτιματα. PreLab-1a.pdf (14/10) PreLab-1b.pdf (21/10) το 1 ο Εργαςτιριο κα πρζπει να αναπτφξετε κϊδικα που κα ςασ δυςκολζψει αν δεν αςχολθκείτε με τα κζματα PreLab-1a.pdf PreLab-1b.pdf 343 Ειςαγωγι ςτον Προγραμματιςμό : ΠΡΟΕΣΟΙΜΑΙΑ ΕΡΓΑΣΗΡΙΟΤ & ΘΕΜΑΣΑ ΚΑΣΑΝΟΗΗ Χριςιμο Τλικό: 1 ο Εργαςτιριο Α μζροσ Διαφάνειεσ 2 θσ εβδομάδασ & Ειςαγωγικά για το εργαςτιριο Βοθκθτικό αρχείο: readprintx.cpp διάβαςμα ακεραίου και εκτφπωςη του διπλάςιου ακεραίου Ζιτθμα 1 ο Δθμιουργιςτε ζνα πρόγραμμα που κα διαβάηει ζναν ακζραιο x, κα υπολογίηει το διπλάςιό του (2x), κα υπολογίηει τον αντίκετό του (-x), και κα εκτυπϊνει τισ τιμζσ που υπολόγιςε. Ζιτθμα 2 ο Δθμιουργιςτε ζνα πρόγραμμα που Ζιτθμα 3 ο κα διαβάηει 3 ακεραίουσ αρικμοφσ (x, y, z), κα υπολογίηει το άκροιςμά τουσ (x+y+z), το γινόμενό τουσ (x * y * z), κα εκτυπϊνει τουσ αρικμοφσ x, y, z, το άκροιςμά τουσ και το γινόμενό τουσ. Σι εκτυπϊνουν τα ακόλουκα κομμάτια κϊδικα; int x=1; x++; ++x; --x; int x=1, y; y = x++; y = ++x; y = --x; int x=1, y=2, z=3, w=4, v=5; cout << 10*y x + (2*z)/w w/v*14/2; Δεν χρειάηεςτε τθ λφςθ τουσ αρκεί να τα κατανοιςετε x--; cout << x; y = x--; y = y + x--; y = y + ++x; cout << y; κεφτείτε πρϊτα τθν απάντθςι ςασ και μετά επαλθκεφςτε δθμιουργϊντασ τα αντίςτοιχα προγράμματα. ε κάκε γραμμι του κϊδικα ειςάγετε με ςχόλια τισ τιμζσ των αντίςτοιχων μεταβλθτϊν.

www.cs.uoi.gr/~charis/c343 PreLab-1b.pdf ΠΡΙΝ το 1 ο Εργαςτιριο (24/10) κα πρζπει να αςχολθκείτε με τα (απλά) ηθτιματα. PreLab-1a.pdf (14/10) PreLab-1b.pdf (21/10) το 1 ο Εργαςτιριο κα πρζπει να αναπτφξετε κϊδικα που κα ςασ δυςκολζψει αν δεν αςχολθκείτε με τα κζματα PreLab-1a.pdf PreLab-1b.pdf Δεν χρειάηεςτε τθ λφςθ τουσ αρκεί να τα κατανοιςετε 343 Ειςαγωγι ςτον Προγραμματιςμό : ΠΡΟΕΣΟΙΜΑΙΑ ΕΡΓΑΣΗΡΙΟΤ & ΘΕΜΑΣΑ ΚΑΣΑΝΟΗΗ Χριςιμο Τλικό: 1 ο Εργαςτιριο B μζροσ Βοθκθτικό αρχείο: readprintx.cpp διάβαςμα ακεραίου και εκτφπωςη του διπλάςιου ακεραίου Ζιτθμα 1 ο Δθμιουργιςτε ζνα πρόγραμμα που κα διαβάηει τα μικθ a, b, c των τριϊν πλευρϊν ενόσ τριγϊνου και κα εκτυπϊνει το εμβαδόν του τριγϊνου με βάςθ τον τφπο: x x a x b x c όπου x = a+b+c 2 Θα πρζπει να ελζγξετε για ςωςτά δεδομζνα κατά τθν είςοδο: δθλαδι αν θ τιμι μζςα ςτθ ρίηα είναι κετικόσ αρικμόσ. ε αντίκετθ περίπτωςθ πρζπει να εκτυπϊνει αντίςτοιχο μινυμα λάκουσ και να τερματίηει το πρόγραμμα. Ζιτθμα 2 ο Δθμιουργιςτε ζνα πρόγραμμα που κα διαβάηει ζναν βακμό *0...100+ (exam) από κάποιο μάκθμα και κα εκτυπϊνει τον χαρακτθριςμό του βακμοφ: Δθλαδι αν 80 exam 100 τότε ο χαρακτθριςμόσ είναι άριςτα αν 65 exam < 80 τότε ο χαρακτθριςμόσ είναι πολφ καλά αν 50 exam < 65 τότε ο χαρακτθριςμόσ είναι καλά αν exam < 50 τότε ο χαρακτθριςμόσ είναι αποτυχία Θα πρζπει να ελζγξετε για ςωςτά δεδομζνα κατά τθν είςοδο: δθλαδι αν ο βακμόσ (exam) ανικει ςτο διάςτθμα *0...100+. ε αντίκετθ περίπτωςθ πρζπει να εκτυπϊνει αντίςτοιχο μινυμα λάκουσ και να τερματίηει το πρόγραμμα.

Βιβλιογραφία Καλι Μελζτθ [1] W. Savitch, Πλιρθσ C++, Εκδόςεισ Σηιόλα, 2011 [2+ Η. Deitel and P. Deitel, C++ Προγραμματιςμόσ 6θ Εκδοςθ, Εκδόςεισ Μ. Γκιοφρδασ, 2013 Υλθ βιβλιογραφίασ [1]: 2.1, 2.2, Παράρτθμα 2 [2]: Κεφ. 4, Παράρτθμα Α, Σ Επιπλζον Εναςχόλθςθ Δοκιμάςτε να τρζξετε τα παραδείγματα των διαφανειϊν ςε ολοκλθρωμζνα προγράμματα (με τθν ςυν/ςθ main()) 3-49