ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ εντολές ............. ΤΕΛΟΣ_ΑΝ Η ροή εκτέλεσης των εντολών του αλγορίθμου εξαρτάται από την επαλήθευση ή όχι, μιας συνθήκης
ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Με διάγραμμα ροής Με πρόγραμμα Αρχή Τέλος Διάβασε μ1, μ2, μ3 ΜΟ (μ1 + μ2 + μ3) / 3 Εμφάνισε «ΠΕΡΑΣΕΣ» ΜΟ >= 10 Αληθής Ψευδής ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1,μ2,μ3 ΠΡΑΓΜΑΤΙΚΕΣ : ΜΟ ΑΡΧΗ ΔΙΑΒΑΣΕ μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / 3 ΑΝ ΜΟ >= 10 ΤΟΤΕ ΓΡΑΨΕ ″ΠΕΡΑΣΕΣ ″ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Απλή επιλογή (κατανόηση) Τι θα εμφανίσει τo παρακάτω τμήμα αλγορίθμου: b 4 a 1 Αν b<5 και a>b τότε Εμφάνισε ΄ΕΛΛΑΔΑ΄ Τέλος_αν Αν b>5 ή a>b τότε Εμφάνισε ΄ΙΤΑΛΙΑ΄ Αν b>0 ή a>b τότε Εμφάνισε ΄ΑΓΓΛΙΑ΄ 1η συνθήκη: 4<5 και 1>4 → A και Ψ → Ψ 2η συνθήκη: 4>5 ή 1>4 → Ψ ή Ψ → Ψ 3η συνθήκη: 4>0 ή 1>4 → Α ή Ψ → Α Άρα θα εμφανίσει ΑΓΓΛΙΑ
ΑΠΟ ΦΥΣΙΚΗ ΓΛΩΣΣΑ ΣΕ ΓΛΩΣΣΑ Να μετατρέψετε σε εντολές στη ΓΛΩΣΣΑ τις παρακάτω φράσεις: α. Αν η μεταβλητή ΑΠΑΝΤ δεν είναι Ν ή ν ή Ο ή ο, τότε να τυπώνει «Λάθος απάντηση». ΑΝ ΑΠΑΝΤ<>′Ν′ και ΑΠΑΝΤ<>′ν′ και ΑΠΑΝΤ<>′Ο′ και ΑΠΑΝΤ<>′ο′ ΤΟΤΕ ΓΡΑΨΕ ′Λάθος απάντηση′ ΤΕΛΟΣ_ΑΝ β. Εκχώρησε στη μεταβλητή Ψ τη διπλάσια τιμή της τετραγωνικής ρίζας της μεταβλητής Χ εφόσον η μεταβλητή Χ είναι μη αρνητικός αριθμός. ΑΝ Χ>=0 ΤΟΤΕ Ψ ← 2*Τ_Ρ(Χ) ΤΕΛΟΣ_ΑΝ
ΔΟΜΗ ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ σύνολο_εντολών_1 ΑΛΛΙΩΣ σύνολο_εντολών_2 ΤΕΛΟΣ_ΑΝ Έχουμε μια λογική συνθήκη που όταν είναι αληθής εκτελείται το σύνολο_εντολών_1, ενώ αν είναι ψευδής εκτελείται το σύνολο_εντολών_2.
ΔΟΜΗ ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ Με διάγραμμα ροής Με πρόγραμμα ΑΡΧΗ ΤΕΛΟΣ Διάβασε μ1, μ2, μ3 ΜΟ (μ1 + μ2 + μ3) / 3 Εμφάνισε «ΠΕΡΑΣΕΣ» ΜΟ >= 10 Αληθής Ψευδής Εμφάνισε «ΚΟΠΗΚΕΣ» ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1, μ2, μ3 ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΑΡΧΗ ΔΙΑΒΑΣΕ μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / 3 ΑΝ ΜΟ >= 10 ΤΟΤΕ ΓΡΑΨΕ ′ΠΕΡΑΣΕΣ ′ ΑΛΛΙΩΣ ΓΡΑΨΕ ′ ΚΟΠΗΚΕΣ ′ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΟΜΗ ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ – ΛΕΙΤΟΥΡΓΙΑ (1) Δίνεται το παρακάτω τμήμα αλγορίθμου στο οποίο έχουν αριθμηθεί οι γραμμές του. Να συμπληρώσετε τον πίνακα τιμών εκτελώντας τις εντολές του αλγορίθμου για τις περιπτώσεις: α) Χ = 5 β) Χ = 0 Αριθμός γραμμής Χ Β Συνθήκη Ερώτημα Α 1 2 1. ΔΙΑΒΑΣΕ X 2. Β 2*X 3. AN Β <= X TOTE 4. Β (X+1) div 2 + 4 5. ΑΛΛΙΩΣ 6. B B div 2 7. ΤΕΛΟΣ_ΑΝ 8. Β X + 3*B 5 10 3 Ψευδής 6 5 8 20 Αριθμός γραμμής Χ Β Συνθήκη Ερώτημα 1 2 3 Αληθής 4 4 8 12
ΔΟΜΗ ΣΥΝΘΕΤΗΣ ΕΠΙΛΟΓΗΣ – ΛΕΙΤΟΥΡΓΙΑ (2) Δίνεται το παρακάτω τμήμα αλγορίθμου στο οποίο έχουν αριθμηθεί οι γραμμές του. Να συμπληρώσετε τον πίνακα τιμών εκτελώντας τις εντολές του αλγορίθμου. 1. X 2 2. Y X^2 - 1 3. Z 2*X + Y - 1 4. AN X>Υ TOTE 5. Υ Ζ mod X 6. Z X ^ 2 7. ΑΛΛΙΩΣ 8. X Z mod Y 9. Z Y ^ 2 10. ΤΕΛΟΣ_ΑΝ 11. ΕΜΦΑΝΙΣΕ Χ, Y, Z Αριθμός γραμμής Χ Y Z Συνθήκη Οθόνη X Y Z 1 2 3 4 3 6 Ψευδής 8 9 9 11 0 3 9
ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Χρησιμοποιείται όταν ανάλογα με την τιμή κάποιας μεταβλητής έχουμε πάνω από δύο ομάδες εντολών προς εκτέλεση. ΑΝ συνθήκη_1_ισχύει ΤΟΤΕ σύνολο_εντολών_1 ΑΛΛΙΩΣ_ΑΝ συνθήκη_2_ισχύει ΤΟΤΕ σύνολο_εντολών_2 ΑΛΛΙΩΣ_ΑΝ συνθήκη_κ_ισχύει ΤΟΤΕ σύνολο_εντολών_κ ΑΛΛΙΩΣ σύνολο_εντολών_ν. ΤΕΛΟΣ_ΑΝ Όταν μια συνθήκη είναι αληθής εκτελείται το σύνολο εντολών της και η δομή επιλογής ολοκληρώνεται. Αν καμιά συνθήκη δεν είναι αληθής τότε εκτελείται το σύνολο_εντολών_ν.
ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Με διάγραμμα ροής Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1, μ2, μ3 ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΑΡΧΗ ΔΙΑΒΑΣΕ μ1, μ2, μ3 ΜΟ (μ1+μ2+μ3) / 3 ΑΝ ΜΟ < 10 ΤΟΤΕ ΓΡΑΨΕ ′ΚΟΠΗΚΕΣ′ ΑΛΛΙΩΣ_ΑΝ ΜΟ <= 15 ΤΟΤΕ ΓΡΑΨΕ ′ΜΕΤΡΙΑ ′ ΑΛΛΙΩΣ_ΑΝ ΜΟ <= 18 ΤΟΤΕ ΓΡΑΨΕ ′ΠΟΛΥ ΚΑΛΑ ′ ΑΛΛΙΩΣ ΓΡΑΨΕ ′ΑΡΙΣΤΑ ′ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΛΟΣ Εμφάνισε «ΚΟΠΗΚΕΣ» ΜΟ < 10 Α ΨΙ ΜΟ <= 15 Εμφάνισε «ΜΕΤΡΙΑ» Ψ ΜΟ <= 18 Εμφάνισε «ΠΟΛΥ ΚΑΛΑ» Εμφάνισε «ΑΡΙΣΤΑ»
ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ – ΛΕΙΤΟΥΡΓΙΑ (1) Έστω το παρακάτω πρόγραμμα: ΠΡΟΓΡΑΜΜΑ πωλ1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x, S ΑΡΧΗ ΔΙΑΒΑΣΕ x AN x =2 ή x=3 TOTE S x^2 ΑΛΛΙΩΣ_ΑΝ x < 2 ΤΟΤΕ S x*2 ΑΛΛΙΩΣ_ΑΝ x < 5 ΤΟΤΕ S x + 6 ΑΛΛΙΩΣ S x + 2 ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ S ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Τι θα εμφανίσει στην έξοδο για 3 διαφορετικές εκτελέσεις του προγράμματος με εισόδους: α) x = -2 β) x = 3 γ) x = 5 δ) x = 4 α) x = -2 → Εμφανίζει -4 β) x = 3 → Εμφανίζει 9 γ) x = 5 → Εμφανίζει 7 δ) x = 4 → Εμφανίζει 10
ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ – ΛΕΙΤΟΥΡΓΙΑ (2) Τι θα εμφανιστεί σε κάθε μια από τις παρακάτω περιπτώσεις: a ← 1 b ← 0 Z ← “NAI” ΑΝ b >0 και a=2 ΤΟΤΕ Y ΡΩΜΗ ΑΛΛΙΩΣ_ΑΝ b <0 ή Ζ=ΟΧΙ ΤΟΤΕ Y ΟΣΛΟ ΑΛΛΙΩΣ Y ΛΟΝΔΙΝΟ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Υ a ← 2 b ← 0 Z ← “ΟΧΙ” ΑΝ b >0 ΚΑΙ a=2 ΤΟΤΕ Y ΡΩΜΗ ΑΛΛΙΩΣ_ΑΝ b <0 ή Ζ=ΟΧΙ ΤΟΤΕ Y ΟΣΛΟ ΑΛΛΙΩΣ Y ΛΟΝΔΙΝΟ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Υ ΛΟΝΔΙΝΟ ΟΣΛΟ
ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ – ΛΕΙΤΟΥΡΓΙΑ (3) Δίνεται το παρακάτω τμήμα προγράμματος στο οποίο έχουν αριθμηθεί οι γραμμές του. Συμπληρώσετε τον πίνακα τιμών εκτελώντας τις εντολές του προγράμματος αν δοθούν α) Χ=10 , Υ=3 β) Χ=5, Υ=5 Αριθμός γραμμής Χ Y Z Συνθήκη Οθόνη 1 10 3 2 1. ΔΙΑΒΑΣΕ Χ, Υ 2. AN X<Υ TOTE 3. Z Α_Τ(Υ-Χ) 4. ΑΛΛΙΩΣ_ΑΝ X>Υ ΤΟΤΕ 5. Z Α_Μ(Τ_Ρ(Χ) ) 6. ΑΛΛΙΩΣ 7. Z Χ MOD (Y+1) 9. ΤΕΛΟΣ_ΑΝ 10. ΓΡΑΨΕ Z Ψευδής 4 Αληθής 5 3 10 3 Αριθμός γραμμής Χ Y Z Συνθήκη Οθόνη 1 5 2 Ψευδής 4 Ψευδής 7 5 10 5
ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ (Άσκηση 2) ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ (Άσκηση 2) Να γραφεί πρόγραμμα που θα δέχεται μια τιμή x και θα εμφανίζει την παράσταση : ΠΡΟΓΡΑΜΜΑ παράσταση ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: X, Y ΑΡΧΗ ΔΙΑΒΑΣΕ Χ AN Χ >=-2 ΚΑΙ Χ<0 TOTE Υ Χ^2+5 ΑΛΛΙΩΣ_ΑΝ Χ >=0 ΚΑΙ Χ<4 ΤΟΤΕ Υ Χ / (Χ+4) ΑΛΛΙΩΣ_ΑΝ Χ >=4 ΚΑΙ Χ<15 ΤΟΤΕ Υ Α_Τ(Χ) ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Υ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ x2+5 -2 ≤ x < 0 Y = |x| 4 ≤ x < 15
ΠΑΡΑΛΕΙΨΗ ΠΕΡΙΤΤΩΝ ΕΛΕΓΧΩΝ ΑΝ ποσότητα <= 50 ΤΟΤΕ Κόστος ← Ποσότητα * 580 ΑΛΛΙΩΣ_ΑΝ Ποσότητα > 50 ΚΑΙ Ποσότητα <= 100 ΤΟΤΕ Κόστος ← Ποσότητα * 520 ΑΛΛΙΩΣ_ΑΝ Ποσότητα > 100 ΚΑΙ Ποσότητα <= 200 ΤΟΤΕ Κόστος ← Ποσότητα * 470 ΤΕΛΟΣ_ΑΝ ΑΝ ποσότητα <= 50 ΤΟΤΕ Κόστος ← Ποσότητα * 580 ΑΛΛΙΩΣ_ΑΝ Ποσότητα <= 100 ΤΟΤΕ Κόστος ← Ποσότητα * 520 ΑΛΛΙΩΣ_ΑΝ Ποσότητα <= 200 ΤΟΤΕ Κόστος ← Ποσότητα * 470 ΤΕΛΟΣ_ΑΝ
ΕΥΡΕΣΗ ΛΟΓΙΚΟΥ ΛΑΘΟΥΣ ΣΕ ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΕΥΡΕΣΗ ΛΟΓΙΚΟΥ ΛΑΘΟΥΣ ΣΕ ΔΟΜΗ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Ο παρακάτω αλγόριθμος ελέγχει και εκτυπώνει, αν ένας μη αρνητικός ακέραιος αριθμός είναι μονοψήφιος, διψήφιος ή τριψήφιος. Στην περίπτωση που δοθεί αριθμός αρνητικός ή με περισσότερα από 3 ψηφία ο αλγόριθμος πρέπει να εμφανίζει το μήνυμα «Λάθος Δεδομένα». Όμως ο αλγόριθμος έχει λάθος. Δώστε ένα παράδειγμα εισόδου που θα καταδείξει το λάθος που υπάρχει. Διορθώστε. Σε περίπτωση που δοθεί ένας αρνητικός αριθμός (π.χ. x=-5) θα εμφανίσει το μήνυμα ″Διψήφιος″ Αλγόριθμος Ψηφία Διάβασε x Αν x >= 0 και x < 10 τότε εμφάνισε ΄Μονοψήφιος΄ Αλλιώς_αν x < 100 τότε εμφάνισε ΄Διψήφιος΄ Αλλιώς_αν x < 1000 τότε εμφάνισε ΄Τριψήφιος΄ Αλλιώς εμφάνισε ΄Λάθος Δεδομένα΄ Τέλος_αν Τέλος Ψηφία Αλγόριθμος Ψηφία Διάβασε x Αν x<0 ή x>=1000 τότε εμφάνισε ΄ Λάθος Δεδομένα ΄ Αλλιώς_αν x < 10 τότε εμφάνισε ΄ Μονοψήφιος ΄ Αλλιώς_αν x < 100 τότε εμφάνισε ΄Διψήφιος΄ Αλλιώς εμφάνισε ΄ Τριψήφιος ΄ Τέλος_αν Τέλος Ψηφία
ΔΟΜΗ ΕΜΦΩΛΕΥΜΕΝΗΣ ΕΠΙΛΟΓΗΣ ΑΝ <συνθήκη> ΤΟΤΕ ΑΝ <συνθήκη Α> ΤΟΤΕ εντολές Α1 ΑΛΛΙΩΣ εντολές Α2 ΤΕΛΟΣ_ΑΝ ΑΝ <συνθήκη Β> ΤΟΤΕ εντολές Β1 εντολές Β2
ΔΟΜΗ ΕΜΦΩΛΕΥΜΕΝΗΣ ΕΠΙΛΟΓΗΣ Με διάγραμμα ροής Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1, μ2, μ3,, Ηλικία ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΑΡΧΗ ΔΙΑΒΑΣΕ μ1, μ2, μ3 Ηλικία 14 ΜΟ (μ1+μ2+μ3) / 3 ΑΝ ΜΟ < 10 ΤΟΤΕ Αν Ηλικία < 15 ΤΟΤΕ ΓΡΑΨΕ ′ΚΟΠΗΚΕΣ ΜΙΚΡΕ ′ αλλιώς ΓΡΑΨΕ ′ ΚΟΠΗΚΕΣ ΜΕΓΑΛΕ ′ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ Ηλικία < 15 ΤΟΤΕ ΓΡΑΨΕ ′ ΠΕΡΑΣΕΣ ΜΙΚΡΕ ′ ΑΛΛΙΩΣ ΓΡΑΨΕ ′ ΠΕΡΑΣΕΣ ΜΕΓΑΛΕ ′ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΛΟΣ Εμφάνισε «ΚΟΠΗΚΕΣ ΜΙΚΡΕ» ΜΟ < 10 Α Ψ Ηλικία < 15 Εμφάνισε «ΚΟΠΗΚΕΣ ΜΕΓΑΛΕ» Εμφάνισε «ΠΕΡΑΣΕΣ ΜΙΚΡΕ» Εμφάνισε «ΠΕΡΑΣΕΣ ΜΕΓΑΛΕ»
Τι θα εμφανίσει στην έξοδο για 3 Έστω το παρακάτω πρόγραμμα: ΠΡΟΓΡΑΜΜΑ εμφωλ1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x, κ ΑΡΧΗ ΔΙΑΒΑΣΕ x AN x >=2 TOTE κ x - 3 ΑΝ κ^2 – x < 0 ΤΟΤΕ x 5 – x ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ x 3 - x ΓΡΑΨΕ x ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Τι θα εμφανίσει στην έξοδο για 3 διαφορετικές εκτελέσεις του προγράμματος με εισόδους: α) x = 1 β) x = 2 γ) x = 6 α) x=1 → Εμφανίζει 2 β) x=2 → Εμφανίζει 3 γ) x=6 → Εμφανίζει 6