Όταν οι περιπτώσεις που πρέπει να ελεχθούν είναι περισσότερες από μία…
Διάγραμμα ροής |
Σύνταξη:ΑΝ <Συνθήκη1> ΤΟΤΕ ΑΛΛΙΩΣ_ΑΝ <ΣυνθήκηΝ> ΤΟΤΕ ΤΕΛΟΣ_ΑΝ |
ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ
1η Δραστηριότητα – Εκτέλεση κώδικα (έλεγχος διαδοχικών περιοχών τιμών)
Ο διπλανός αλγόριθμος επιλύει το παρακάτω πρόβλημα:
|
Παρατήρηση
Στην άσκηση αυτή υπάρχουν διαδοχικές περιοχές τιμών που πρέπει να χρησιμοποιηθούν σε μια δομή πολλαπλής επιλογής. Αλγόριθμος Βαθμολογία |
2η Δραστηριότητα: Πολλαπλή επιλογή – Κατανόηση διαδοχικών ελέγχων
(Θέμα πανελληνίων) ∆ίνεται το παρακάτω τμήμα αλγορίθμου
ΑΝ ποσότητα <= 50 TOTE Κόστος ← Ποσότητα * 580 ΑΛΛΙΩΣ_ΑΝ Ποσότητα > 50 ΚΑΙ Ποσότητα <= 100 ΤΟΤΕ Κόστος ← Ποσότητα * 520 ΑΛΛΙΩΣ_ΑΝ Ποσότητα > 100 ΚΑΙ Ποσότητα <= 200 ΤΟΤΕ Κόστος ← Ποσότητα * 470 ΑΛΛΙΩΣ Κόστος ← Ποσότητα * 440 ΤΕΛΟΣ_ΑΝ
|
|
3η Δραστηριότητα – Εκτέλεση κώδικα (σχολικό βιβλίο)
Δίνεται ο διπλανός αλγόριθμος σε μορφή ψευδοκώδικα που επιλύει το παρακάτω πρόβλημα:
|
|
4η Δραστηριότητα: Έλεγχος μη διαδοχικών περιοχών τιμών
Δίνεται το διπλανό τμήμα αλγορίθμου που επιλύει το παρακάτω πρόβλημα:
|
Διάβασε πλ_β, κοστος Αν *******τότε Γράψε “λάθος δεδομένα“ Αλλιώς_αν ********** τότε Γράψε “δικαιούστε έκπτωση 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η Δραστηριότητα: Εκσφαλμάτωση
Ο διπλανός αλγόριθμος έχει λάθος. Δώστε ένα παράδειγμα εισόδου που θα καταδείξει το λάθος που υπάρχει στον αλγόριθμο. Στη συνέχεια να γράψετε τον αλγόριθμο στο τετράδιο σας κάνοντας τις απαραίτητες διορθώσεις, έτσι ώστε να λειτουργεί σωστά.
|
Αλγόριθμος Ψηφία Διάβασε x Αν x >= 0 και x < 10 τότε εμφάνισε ΄Μονοψήφιος΄ Αλλιώς_αν x < 100 τότε εμφάνισε ΄Διψήφιος΄ Αλλιώς_αν x < 1000 τότε εμφάνισε ΄Τριψήφιος΄ Αλλιώς εμφάνισε ΄Λάθος Δεδομένα΄ Τέλος_αν Τέλος Ψηφία |
Εργασίες για απάντηση:
1η Εργασία: Επίλυση δευτεροβάθμιας εξίσωσης ax2 + bx + c = 0
Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ που να:
- Δέχεται τους συντελεστές a, b και c μιας δευτεροβάθμιας εξίσωσης της μορφής ax2 + bx + c = 0
- Επιλύει την εξίσωση (δες τον αλγόριθμο παρακάτω)
- Εμφανίζει την/τις ρίζες της εξίσωσης ή αντίστοιχα μηνύματα
Ο αλγόριθμος επίλυσης μιας δευτεροβάθμιας εξίσωσης είναι ο εξής:
- Διάβασε τους συντελεστές a, b και c της εξίσωσης ax2 + bx + c = 0
- Αν a = 0 τότε πρόκειται για μια πρωτοβάθμιας εξίσωση (ΒΛΕΠΕ: αλγόριθμος επίλυσης πρωτοβάθμιας εξίσωσης)
- Διαφορετικά (a ≠ 0)
- Υπολόγισε τη διακρίνουσα Δ = b2-4ac
- Αν Δ > 0 τότε η εξίσωση έχει δύο ρίζες: x1 = (-b +√Δ)/(2a) και x2 = (-b -√Δ)/(2a)
- Αν Δ = 0 τότε η εξίσωση έχει μία διπλή ρίζα: x1,2 = (-b )/(2a)
- Αν Δ < 0 τότε η εξίσωση δεν έχει πραγματικές ρίζες
Αυτή η εργασία έχει άδεια χρήσης Creative Commons Αναφορά-Μη Εμπορική Χρήση 4.0.