Εισαγωγή στη γλώσσα προγραμματισμού Αρχή Γιάβασε Α, Β C++ Ναι Α > Β Όχι Τύπωσε Α Τέλος Τύπωσε Β Δομή Διακλάδωσης
2 Δομή Διακλάδωσης if (exdd01) Έζηω όηι θέλοςμε να εμθανίζοςμε κάποιο μήνςμα μόνο ζε όζοςρ απέηςσαν ζηην εξέηαζη: Σε αςηή ηην εκδοσή η δομή if ελέγσει εάν ιζσύει η ζςνθήκη μέζα ζηιρ παπενθέζειρ ( ). Σε πεπίπηωζη πος ιζσύει εκτελείται ο κώδικαρ ανάμεζα ζηα άγκιζηπα { }. Σηην ανηίθεηη πεπίπηωζη δεν εκτελείται ο κώδικαρ ανάμεζα ζηα { } και η ποή ηος ππογπάμμαηορ ζςνεσίζει μεηά ηην δομή if.
Δομή Διακλάδωσης if else (exdd02) 3 Σε αςηή ηην εκδοσή η δομή if ελέγσει εάν ιζσύει η ζςνθήκη μέζα ζηιρ παπενθέζειρ ( ). Σε πεπίπηωζη πος ιζσύει εκηελείηαι μόνο ο κώδικαρ ανάμεζα ζηα ππώηα άγκιζηπα { }. Σηην ανηίθεηη πεπίπηωζη εκηελείηαι μόνο ο κώδικαρ ανάμεζα ζηα δεύηεπα άγκιζηπα else { }. H ποή ηος ππογπάμμαηορ ζςνεσίζει μεηά ηην δομή if.
4 Γενική μορφή Δομής Διακλάδωσης Ροή προγράμματος If (συνθήκη) { } Else { Εντολές Αληθείας συνθήκης Εντολές ψευδούς συνθήκης } υνέχεια ροής προγράμματος
5 Παράδειγμα ΔΔ 1 (exdd03) Να δημιουργήσετε ένα πρόγραμμα το οποίο να διαβάζει δύο αριθμούς και να τυπώνει τον μεγαλύτερο. υνθήκη υνθήκη Αληθής υνθήκη Χευδής Μπορούμε να παραλείψουμε τα άγκιστρα όταν έχουμε μόνο μια εντολή Λογικές συγκρίσεις λέξη κλειδί if!(5 == 5) // είναι false!(6 <= 4) // είναι true!true // είναι false!false // είναι true
Παράδειγμα ΔΔ 1α (exdd04) 6 Αν οι αριθμοί του παραδείγματος 1 είναι ίσοι; Πολλαπλά ή φωλιασμένα if (nested if)
υγκριτικοί και Λογικοί Σελεστές 7 υγκριτικοί τελεστές : == Ισότητα!= Ανισότητα > Μεγαλύτερο από < Μικρότερο από >= Μεγαλύτερο από ή ίσο με <= Μικρότερο από ή ίσο με Λογικοί τελεστές : && AND OR! NOT (alpha == true) && (beta == 1)
Λογικές συγκρίσεις : Λέξη κλειδί if 8 x z x z (OR) Παραδείγματα: (6>1) // true!(5 == 5) // false!(6 <= 4) // true!true // false!false // true (6>1) &&!(5==5) // false (6>1)!(5==5) // true Προτεραιότητα λογικών τελεστών x && z (AND)! X (NOT) False False False False True False True True False True True False True False False True True True True False
Παράδειγμα ΔΔ 2 (exdd05) 9 Λογικές συγκρίσεις : Να γράψετε ένα πρόγραμμα που να διαβάζει την απάντηση του χρήστη (Y ή y για ναι και N ή n για όχι)
Παράδειγμα ΔΔ 3 (Φαρακτηρισμός βαθμού exdd06) 10
11 Switch (exdd07) Με την εντολή switch μπορούμε να εκτελέσουμε μία ομάδα εντολών, αναλόγως της τιμής που θα έχει κάποια μεταβλητή ελέγχου. Η διαφορά με το if είναι ότι δεν εξετάζει κάποια λογική έκφραση, αλλά τις τιμές που μπορεί να πάρει μία μεταβλητή ελέγχου
12 Switch (exdd08) Να δημιουργήσετε μια εφαρμογή η οποία θα ζητά από τον χρήστη να εισάγει ένα αριθμό από το 1 μέχρι το 9 και να του εμφανίζει το αντίστοιχο γράμμα του αγγλικού αλφαβήτου (1->Α, 2->Β, 3->C ).
13 Ασκήσεις: 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8 σελίδα 130 βιβλίου
14 Άσκηση 3.1 σελίδα 130 Να γράυεηε ηα αποηειέζκαηα ηφλ πηο θάηφ ιογηθώλ εθθράζεφλ, αλ x=5, y=-5 θαη z=10: a) (x>z) && (z==y) False b) (x-y==0) (y%2==0) False c) (z%y==0) && (x%y==0) True d) (z==(x+y)) && (z!=2/y) (z>(y+x)) True e) (z!=(4*x)) &&!(z<y) True f)!((z==2*x) (y==0)) False g) ((x-y)>0) &&!((z-y)>0) False
15 Άσκηση 3.2 σελίδα 130 Αλ pa, pb θαη pc αληηζηοητούλ ζηολ πιεζσζκό ηφλ τφρώλ Α, Β, C, λα κεηαηρέυεηε ηης πηο θάηφ ιεθηηθές προηάζεης ζε ιογηθές εθθράζεης. a) Η τώρα Α έτεη κεγαιύηερο ή ίζο πιεζσζκό από ηο άζροηζκα ηφλ τφρώλ Β θαη C. b) Η τώρα Α δελ έτεη ηολ κηθρόηερο πιεζσζκό. c) Η τώρα Β είλαη κηθρόηερε από ηελ τώρα C ή είλαη κεγαιύηερε από ηε τώρα Α. d) Η τώρα C έτεη ηολ κεγαιύηερο πιεζσζκό. e) Η τώρα Β έτεη ηολ 2ο κεγαιύηερο πιεζσζκό. a) PA>= pb+pc b)!(pa<pb && pa<pc) c) PB<pC pb>pa d) pc>pb && pc>pa e) (pb>pa && pb<pc) (pb<pa && pb>pc)
16 a) A>B && A>C b)!(b<a && B<C) Άσκηση 3.3 σελίδα 131 c) Α%2=0 && Β%2=0 && C%2=0 d) Α%2=0 Β%2=0 C%2=0 e) (A+B>A+CA) (A*B*C >(A+B+C)) Αλ Α, Β, C είλαη αθέραηοη αρηζκοί, λα κεηαηρέυεηε ηης πηο θάηφ προηάζεης ζε ιογηθές εθθράζεης. a) Ο αρηζκός Α είλαη ο κεγαιύηερος από ηοσς ηρεης. b) Ο αρηζκός Β δελ είλαη ο κηθρόηερος από ηοσς ηρεης. c) Όιοη οη αρηζκοί είλαη άρηηοη. d) Υπάρτεη ηοσιάτηζηολ έλας άρηηος αρηζκός. e) Το άζροηζκα ηοσ Α θαη ηοσ Β είλαη κεγαιύηερο από ηο άζροηζκα ηοσ Α θαη ηοσ C ή ηο γηλόκελο όιφλ ηφλ αρηζκώλ είλαη κεγαιύηερο από ηο άζροηζκά ηοσς.
17 Άσκηση 3.5 σελίδα 131 Να δεκηοσργήζεηε πρόγρακκα ηο οποίο λα δέτεηαη έλα αθέραηο αρηζκό θαη λα εκθαλίδεη ηο κήλσκα «One-digit number» ζε περίπηφζε ποσ ο αρηζκός είλαη κολουήθηος.
18 Άσκηση 3.6 σελίδα 131 Να γράυεηε ηελ προθαηαρθηηθή εθηέιεζε γηα αρτηθές ηηκές γηα ηο πρόγρακκα. α) a=80, b=40, c=60 β) a=90, b=60, c=20 a b c total cout a 80 40 60 180 Not Right Triangle b 90 60 20 170 Not Right Triangle
19 Άσκηση 3.7 σελίδα 131 Να γράυεηε ηελ προθαηαρθηηθή εθηέιεζε γηα αρτηθές ηηκές γηα ηο πρόγρακκα. α) a=80, b=40, c=60 β) a=90, b=60, c=20 x y cout 1 2 4 2 2 7 2 7 3 4
20 Άσκηση 3.8 σελίδα 131 Να γράυεηε ηελ προθαηαρθηηθή εθηέιεζε γηα ηο πρόγρακκα. a b c a+b c-a c-b line8 line10 line11 line13 cout 1 2 3 3 2 1 true true false true Line 1 1 2 3 3 2 1 true true false true Line 3
21 Ασκήσεις
22 Άσκηση 1 (Για βοήθεια σελίδα 123 βιβλίου) Να δημιουργήσετε ένα πρόγραμμα το οποίο να δέχεται το μέγεθος των τριών γωνιών ενός τριγώνου και θα ελέγχει: a)αν το άθροισμα τους είναι πράγματι 180 0 διαφορετικά θα τυπώνει το μήνυμα «Οι γωνίες πρέπει να έχουν άθροισμα 180 0» και θα σταματά η εκτέλεση του προγράμματος. b)εφόσον το άθροισμα είναι 180 0 θα ελέγχει αν το τρίγωνο είναι ορθογώνιο (μια γωνία =90 0 ) και θα τυπώνει το μήνυμα «Σο τρίγωνο είναι ορθογώνιο». c)διαφορετικά θα ελέγχει αν είναι ισόπλευρο (οι τρείς γωνίες είναι ίσες) και θα τυπώνει το μήνυμα «Σο τρίγωνο είναι ισόπλευρο».
23 Άσκηση 1 Λύση
24 Άσκηση 2 (Παράδειγμα ΔΔ3) Να δημιουργήσετε ένα πρόγραμμα το οποίο να δέχεται τον βαθμό κάποιου μαθητή στο μάθημα μας και να τυπώνει το μήνυμα: a)«ο βαθμός πρέπει να είναι μεταξύ του 1 και του 20» b)«άριστος» Αν ο βαθμός είναι μεγαλύτερος ή ίσος με 19. c)«πολύ καλός» Αν ο βαθμός είναι μεγαλύτερος ή ίσος με 17 και μικρότερος από 19. d)«καλός» Αν ο βαθμός είναι μεγαλύτερος ή ίσος με 14 και μικρότερος από 17. e)«μέτριος» Αν ο βαθμός είναι μεγαλύτερος ή ίσος με 10 και μικρότερος από 14. f) «Απροβίβαστος» Αν ο βαθμός είναι μικρότερος από 10.
25 Άσκηση 3 Να σχεδιάσετε ένα λογικό διάγραμμα και να δημιουργήσετε το αντίστοιχο πρόγραμμα το οποίο θα ζητά τη τιμή ενός προϊόντος όπως παρουσιάζεται στο διαδίκτυο σε δολάρια. Θα ζητά επίσης την τιμή του ίδιου προϊόντος στο κατάστημα της γειτονιάς μας σε Ευρώ. Θα μετατρέπει όλες τις τιμές σε Ευρώ και θα τυπώνει την πιο φθηνή τιμή και το κατάστημα που την προσφέρει.
26 Άσκηση 3 Λύση
27 Άσκηση 4 Να σχεδιάσετε ένα Λογικό Διάγραμμα και να δημιουργήσετε το αντίστοιχο πρόγραμμα το οποίο θα διαβάζει το βάρος (B) ενός ατόμου και εμφανίζει το μήνυμα «ΕΛΑΥΡΤ» αν το βάρος είναι μικρότερο ή ίσο με 60Kg, εμφανίζει το μήνυμα «ΚΑΝΟΝΙΚΟ» αν το βάρος είναι μεταξύ 61 και 80 κιλά, διαφορετικά το μήνυμα «ΒΑΡΤ»
28 Άσκηση 5 Να σχεδιάσετε ένα Λογικό Διάγραμμα και να δημιουργήσετε το αντίστοιχο πρόγραμμα που να υπολογίζει το μηνιαίο μισθό ενός ωρομίσθιου υπαλλήλου, όταν δίνεται ο μισθός του ανά ώρα εργασίας (R) και ο συνολικός αριθμός ωρών που εργάστηκε (H). Αν ο μισθός του είναι μικρότερος από 1000 δεν θα του υπολογίζει καθόλου φόρο. Αν ο μισθός του είναι από 1001 μέχρι 2000 θα του υπολογίζει φόρο 2%. Αν ο μισθός του είναι πάνω από 2000 θα του υπολογίζει φόρο 5%. το τέλος θα εμφανίζει το όνομα του υπαλλήλου, τον μισθό του, τον φόρο που πρέπει να του αποκοπεί και το καθαρό ποσό που θα πάρει μετά την αποκοπή του φόρου.
29 Άσκηση 6 Να δημιουργήσετε μια εφαρμογή η οποία θα ζητά από τον χρήστημαθητή να καταχωρήσει το όνομα του και τον βαθμό του στα πέντε εξεταζόμενα μαθήματα (Math, ellin, fisiki, progr, istos). Θα υπολογίζει τον μέσο όρο της βαθμολογίας του στα εξεταζόμενα μαθήματα. Αν ο μέσος όρος είναι μικρότερος από 10 θεωρείται στάσιμος, αν είναι μεγαλύτερος ή ίσος με 10 και μικρότερος του 14 θεωρείται μέτριος, αν είναι μεγαλύτερος ή ίσος με 14 και μικρότερος του 16 καλός, αν είναι μεγαλύτερος ή ίσος με 16 και μικρότερος του 18 πολύ καλός, και αν είναι μεγαλύτερος ή ίσος με18 θεωρείται Άριστος. Η εφαρμογή ανάλογα με το αποτέλεσμα του υπολογισμού θα εμφανίζει το μήνυμα: «Άριστε, Ο μέσος όρος της Βαθμολογίας σου είναι: 20». «Θεωρείσαι Άριστος»
30 Άσκηση 7 Να δημιουργήσετε μια εφαρμογή η οποία θα δέχεται το όνομα του χρήστη (name), το ύψος του σε μέτρα (h) και το βάρος του σε κιλά (w). Η εφαρμογή θα υπολογίζει τον δείκτη μάζας σώματος του χρήστη από τον τύπο DMS= w/h 2 Αν ο ΔΜ είναι μικρότερος από 18 θεωρείται λιποβαρής, αν είναι μεταξύ 18 και 25 θεωρείται κανονικός, και αν είναι πάνω από 25 θεωρείται υπέρβαρος. Η εφαρμογή ανάλογα με το αποτέλεσμα του υπολογισμού θα εμφανίζει το μήνυμα «Άριστε, Ο δείκτης μάζας σώματος σας είναι: 20». «Θεωρείσαι Κανονικός»
31 Άσκηση 8 Να σχεδιάσετε ένα λογικό διάγραμμα και δημιουργήσετε μια εφαρμογή η οποία να υπολογίζει και θα εμφανίζει την συνολική χρέωση του τηλεφωνικού λογαριασμού κάποιου πελάτη αν τα πρώτα 50 μηνύματα χρεώνονται προς 0,10 τα επόμενα 100 μηνύματα προς 0,08 και τα υπόλοιπα προς 0,05. Η πάγια χρέωση είναι 4,5.
32 Ασκήσεις: 3.29 3.31 3.34 3.37 Ασκήσεις βιβλίου σελίδα 137