Πολλαπλή Επιλογή ΑΛΛΙΩΣ_ΑΝ (1)

Όταν οι περιπτώσεις που πρέπει να ελεχθούν είναι περισσότερες από μία…

Διάγραμμα ροής

Drawing pollaples an

Σύνταξη:

ΑΝ <Συνθήκη1> ΤΟΤΕ
<Εντολές1>
ΑΛΛΙΩΣ_ΑΝ <Συνθήκη2> ΤΟΤΕ
<Εντολές2>
…….

ΑΛΛΙΩΣ_ΑΝ <ΣυνθήκηΝ> ΤΟΤΕ
<ΕντολέςΝ>
ΑΛΛΙΩΣ
<Εντολές>

ΤΕΛΟΣ_ΑΝ

ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ

1η Δραστηριότητα – Εκτέλεση κώδικα (έλεγχος διαδοχικών περιοχών τιμών)

Ο διπλανός αλγόριθμος επιλύει το παρακάτω πρόβλημα:

Να γραφεί αλγόριθμος ο οποίος να διαβάζει το βαθμό ενός μαθητή, να τον κατατάσσει σύμφωνα με την παρακάτω βαθμολογική κλίμακα εμφανίζοντας τα αντίστοιχα μηνύματα : Θεωρείστε ότι ο βαθμός είναι θετικός αριθμός

Βαθμός Μήνυμα
βαθμός >=17,5 Άριστα
17,5 >βαθμός >= 15,5 Αρκετά καλά
15,5 > βαθμός >= 13,5 Καλά
13,5 > βαθμός >= 9,5 Μέτρια
Βαθμός < 9,5 Κάτω από την βάση
  1. Μετατρέψτε τον αλγόριθμο σε πρόγραμμα σε ΓΛΩΣΣΑ, συμπληρώνοντας τις συνθήκες ελέγχου που λείπουν
  2. Κάντε τις απαραίτητες διορθώσεις ώστε να παραλείψετε τους περιττούς ελέγχους
  3. Εκτελέστε το πρόγραμμα σας για βαθμός = 18, βαθμός=5, βαθμός = -1
    Τι περιμένετε να εμφανιστεί και τι εμφανίζεται τελικά; Τι παρατηρείτε;
Παρατήρηση

Στην άσκηση αυτή υπάρχουν διαδοχικές περιοχές τιμών που πρέπει να χρησιμοποιηθούν σε μια δομή πολλαπλής επιλογής.

Αλγόριθμος Βαθμολογία
Διάβασε Β
Αν ________________ τότε
Εμφάνισε “Άριστα”
Αλλιώς_Αν ___________________ τότε
Εμφάνισε “Αρκετά καλά”
Αλλιώς_Αν _________________________τότε
Εμφάνισε “Καλά”
Αλλιώς_Αν ____________________________ τότε
Εμφάνισε “Μέτρια”
Αλλιώς
Εμφάνισε
“Απορρίπτεται”
Τέλος_αν
Τέλος
Βαθμολογία

2η Δραστηριότητα: Πολλαπλή επιλογή – Κατανόηση διαδοχικών ελέγχων

(Θέμα πανελληνίων) ∆ίνεται το παρακάτω τμήμα αλγορίθμου

ΑΝ ποσότητα <= 50 TOTE

            Κόστος ← Ποσότητα * 580

ΑΛΛΙΩΣ_ΑΝ Ποσότητα > 50 ΚΑΙ Ποσότητα <= 100 ΤΟΤΕ

            Κόστος ← Ποσότητα * 520

ΑΛΛΙΩΣ_ΑΝ Ποσότητα > 100 ΚΑΙ Ποσότητα <= 200 ΤΟΤΕ

            Κόστος ← Ποσότητα * 470

ΑΛΛΙΩΣ

            Κόστος ← Ποσότητα * 440

ΤΕΛΟΣ_ΑΝ

 

  1. Στο διπλανό τμήμα αλγορίθμου, για το οποίο θεωρούμε ότι η ποσότητα είναι θετικός αριθμός, περιλαμβάνονται περιττοί έλεγχοι.
    Να το ξαναγράψετε παραλείποντας τους περιττούς ελέγχους.
  2. Να ξαναγράψετε το διπλανό τμήμα αλγορίθμου χρησιμοποιώντας μόνο απλές επιλογές
  3. Να γράψετε το αντίστοιχο διάγραμμα ροής

3η Δραστηριότητα – Εκτέλεση κώδικα (σχολικό βιβλίο)

Δίνεται ο διπλανός αλγόριθμος σε μορφή ψευδοκώδικα που επιλύει το παρακάτω πρόβλημα:

Παράδειγμα 2.13. Αριθμομηχανή (σχολικό βιβλίο)

Να αναπτυχθεί αλγόριθμος, ο οποίος:

1. Θα διαβάζει πρώτα έναν αριθμό α, στη συνέχεια έναν από τους χαρακτήρες +, -, *, /, ανάλογα με την πράξη που θα εκτελέσει και τέλος έναν αριθμό β.

2. Θα εκτελεί την αντίστοιχη πράξη και θα τυπώνει το αποτέλεσμα. Σε περίπτωση που έχει επιλεγεί η πράξη της διαίρεσης, ο αλγόριθμος πρέπει να ελέγχει αν το β είναι μηδέν και τότε να τυπώνει το μήνυμα «Προσοχή, διαίρεση με το μηδέν» και να οδηγείται στο τέλος του.

3. Θα εκτυπώνει το μήνυμα «Λάθος πράξη», αν για το χαρακτήρα της πράξης δοθεί άλλο σύμβολο.

  1. Μετατρέψτε τον διπλανό αλγόριθμο από ψευδοκώδικα σε πρόγραμμα σε ΓΛΩΣΣΑ
  2. Γράψτε τον διπλανό αλγόριθμο σε μορφή διαγράμματος ροής
  3. Ποιος ο ρόλος της εμφωλευμένης ΑΝ στις γραμμές 10 έως 17 στην περίπτωση “πράξη = ‘/’ “;
  1. Αλγόριθμος Αριθμομηχανή
  2. Διάβασε α, πράξη, β  !α, β οι αριθμοί, πράξη το σύμβολο
  3. Αν πράξη = ”+” τότε
  4.     Εμφάνισε α + β
  5. αλλιώς_αν πράξη = ”-” τότε
  6.     Εμφάνισε α – β
  7. αλλιώς_αν πράξη = ”*” τότε
  8.     Εμφάνισε α * β
  9. αλλιώς_αν πράξη = ”/” τότε
  10.     Αν β ≠ 0 τότε
  11.         Εμφάνισε α / β
  12.     αλλιώς
  13.          ΕμφάνισεΠροσοχή, διαίρεση με το μηδέν
  14.     Τέλος_αν
  15. αλλιώς
  16.      ΕμφάνισεΛάθος πράξη
  17. Τέλος_αν
  18. Τέλος Αριθμομηχανή

 

4η Δραστηριότητα: Έλεγχος μη διαδοχικών περιοχών τιμών

Δίνεται το διπλανό τμήμα αλγορίθμου που επιλύει το παρακάτω πρόβλημα:

Να γραφεί αλγόριθμος που να διαβάζει το πλήθος των βιβλίων που παρήγγειλε ένας πελάτης και το συνολικό κόστος:

  1. Αν η τιμή που δόθηκε είναι αρνητική να εμφανίζει το μήνυμα «λάθος δεδομένα»
  2. Αν η παραγγελία περιλαμβάνει από 50 έως 100 βιβλία τότε να εμφανίζει το μήνυμα «δικαιούστε έκπτωση 10%» και να εμφανίζει το ποσό της έκπτωσης
  3. Αν η παραγγελία περιλαμβάνει περισσότερα από 100  βιβλία να εμφανίζει το μήνυμα: «δικαιούστε έκπτωση 20%» και να εμφανίζει το ποσό της έκπτωσης
  1. Συμπληρώστε τις συνθήκες ελέγχου που λείπουν, δημιουργείστε και εκτλέστε το αντίστοιχο πρόγραμμα σε ΓΛΩΣΣΑ.
  2. Μπορούμε να απλοποιήσουμε τις συνθήκες ελέγχου όπως έγινε στην περίπτωση της 2ης Δραστηριότητας; Δικαιολογήστε την απάντηση σας.

Διάβασε πλ_β, κοστος

Αν *******τότε

   Γράψελάθος δεδομένα

Αλλιώς_αν ********** τότε

   Γράψε “δικαιούστε έκπτωση 10%”

   Γράψε κόστος*0,10

Αλλιώς

   Γράψε “δικαιούστε έκπτωση 20%”

   Γράψε κόστος*20/100

Τέλος_Αν

 

5η Δραστηριότητα: Απλός και Κλιμακωτός υπολογισμός

(Θέμα πανελληνίων) Μια εταιρεία κινητής τηλεφωνίας ακολουθεί ανά μήνα την πολιτική τιμών που φαίνεται στον παρακάτω πίνακα:

Πάγιο 1500 δραχμές

Χρόνος τηλεφωνημάτων (δευτερόλεπτα) Χρονοχρέωση (δραχμές/δευτερόλεπτο)
1-500 1,5
501-800 0,9
801 και άνω 0,5

Να αναπτύξετε αλγόριθμο ο οποίος:

α) να διαβάζει τη χρονική διάρκεια των τηλεφωνημάτων ενός συνδρομητή σε διάστημα ενός μήνα

β) να υπολογίζει τη μηνιαία χρέωση του συνδρομητή

γ) να εμφανίζει (τυπώνει) τη λέξη «ΧΡΕΩΣΗ» και τη μηνιαία χρέωση του συνδρομητή.

δ) ποιο θα ήταν το ποσό χρέωσης αν ο υπολογισμός γίνονταν κλιμακωτά; Ποια από τις δυο χρεώσεις είναι πιο συμφέρουσα για τον καταναλωτή;

Διευκρίνιση:  αν η χρονοχρέωση στο πίνακα , θεωρείται κλιμακωτή τότε:  τα πρώτα 500 δευτερόλεπτα χρεώνονται με 1,5 δρχ/δευτερόλεπτο, τα επόμενα 300 δευτερόλεπτα με 0,9 δρχ/δευτερόλεπτο και πέραν των 800 με 0,5 δρχ/δευτερόλεπτο.

6η Δραστηριότητα: Εκσφαλμάτωση

(Ε2012-ΘΑ2) Ο διπλανός αλγόριθμος προτάθηκε για να ελέγχει και να εκτυπώνει, αν ένας μη αρνητικός ακέραιος αριθμός είναι μονοψήφιος, διψήφιος ή τριψήφιος. Στην περίπτωση που δοθεί αριθμός αρνητικός ή με

περισσότερα από 3 ψηφία ο αλγόριθμος πρέπει να εμφανίζει το μήνυμα «Λάθος Δεδομένα».

Ο διπλανός αλγόριθμος έχει λάθος. Δώστε ένα παράδειγμα εισόδου που θα καταδείξει το λάθος που

υπάρχει στον αλγόριθμο. Στη συνέχεια να γράψετε τον αλγόριθμο στο τετράδιο σας κάνοντας τις απαραίτητες διορθώσεις, έτσι ώστε να λειτουργεί σωστά.

 

Αλγόριθμος Ψηφία

Διάβασε x

Αν x >= 0 και x < 10 τότε

εμφάνισε ΄Μονοψήφιος΄

Αλλιώς_αν x < 100 τότε

εμφάνισε ΄Διψήφιος΄

Αλλιώς_αν x < 1000 τότε

εμφάνισε ΄Τριψήφιος΄

Αλλιώς

εμφάνισε ΄Λάθος Δεδομένα΄

Τέλος_αν

Τέλος Ψηφία

Εργασίες για απάντηση:

1η Εργασία: Επίλυση δευτεροβάθμιας εξίσωσης ax2 + bx + c = 0

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ που να:

  1. Δέχεται τους συντελεστές a, b και c μιας δευτεροβάθμιας εξίσωσης της μορφής ax2 + bx + c = 0
  2. Επιλύει την εξίσωση (δες τον αλγόριθμο παρακάτω)
  3. Εμφανίζει την/τις ρίζες της εξίσωσης ή αντίστοιχα μηνύματα

Ο αλγόριθμος επίλυσης μιας δευτεροβάθμιας εξίσωσης είναι ο εξής:

  1. Διάβασε τους συντελεστές a, b και c της εξίσωσης ax2 + bx + c = 0
  2. Αν a = 0 τότε πρόκειται για μια πρωτοβάθμιας εξίσωση (ΒΛΕΠΕ: αλγόριθμος επίλυσης πρωτοβάθμιας εξίσωσης)
  3. Διαφορετικά (a ≠ 0)
    1. Υπολόγισε τη διακρίνουσα Δ = b2-4ac
    2. Αν Δ > 0 τότε η εξίσωση έχει δύο ρίζες: x1 = (-b +√Δ)/(2a) και x2 = (-b -√Δ)/(2a)
    3. Αν Δ = 0 τότε η εξίσωση έχει  μία διπλή ρίζα: x1,2 = (-b )/(2a)
    4. Αν Δ < 0 τότε η εξίσωση δεν έχει πραγματικές ρίζες

CC BY-NC 4.0 Αυτή η εργασία έχει άδεια χρήσης Creative Commons Αναφορά-Μη Εμπορική Χρήση 4.0.

Αφήστε μια απάντηση