Δομή Επιλογής Ασκήσεις και Θεωρία για το ΑΕΠΠ
Τι είναι η Δομή Επιλογής στην ΑΕΠΠ
Η δομή επιλογής επιτρέπει στο πρόγραμμα να εκτελεί διαφορετικές εντολές ανάλογα με μια συνθήκη που εξετάζεται τη στιγμή της εκτέλεσης. Αν η συνθήκη είναι αληθής (TRUE), εκτελείται ένα σύνολο εντολών· αν είναι ψευδής (FALSE), εκτελείται ένα άλλο (ή τίποτα). Είναι η δεύτερη βασική δομή του δομημένου προγραμματισμού.
Η δομή επιλογής χωρίζεται στην Απλή, Σύνθετη, Πολλαπλή και Εμφωλευμένη επιλογή. Αν θέλουμε να εξετάσουμε 1 μόνο ενδεχόμενο χρησιμοποιούμε την απλή δομή επιλογής ( ΑΝ … ΤΟΤΕ … ΤΕΛΟΣ_ΑΝ ), σε περίπτωση που θέλουμε να εξετάσουμε 2 ενδεχόμενα τότε χρησιμοποιούμε τη σύνθετη δομή επιλογής ( ΑΝ … ΤΟΤΕ … ΑΛΛΙΩΣ … ΤΕΛΟΣ_ΑΝ ), σε περίπτωση που θέλουμε να εξετάσουμε 3 και περισσότερα ενδεχόμενα χρησιμοποιούμε τη πολλαπλή δομή επιλογής. Στο ενδεχόμενο που θέλουμε να εξετάσουμε υποενδεχόμενα τότε χρησιμοποιούμε την εμφωλευμένη δομή επιλογής.
Μορφές της Δομής Επιλογής
1. Απλή Επιλογή (Εκτελούνται οι εντολές μόνο αν η συνθήκη είναι αληθής.)
ΑΝ συνθήκη ΤΟΤΕ
εντολές
ΤΕΛΟΣ_ΑΝ
2. Σύνθετη Επιλογή (Αν η συνθήκη είναι αληθής → εντολές_1. Αν είναι ψευδής → εντολές_2.)
ΑΝ συνθήκη ΤΟΤΕ
εντολές_1
ΑΛΛΙΩΣ
εντολές_2
ΤΕΛΟΣ_ΑΝ
3. Πολλαπλή Επιλογή (Αν η συνθήκη 1 είναι αληθής → εντολές_1 αν δεν είναι τότε Αν η συνθήκη 2 είναι αληθής → εντολές_2 …)
ΑΝ συνθήκη1 ΤΟΤΕ
εντολές_1
ΑΛΛΙΩΣ_ΑΝ συνθήκη2 ΤΟΤΕ
εντολές_2
ΑΛΛΙΩΣ_ΑΝ …
εντολές_
ΑΛΛΙΩΣ
…
ΤΕΛΟΣ_ΑΝ
4. Εμφωλευμένη Επιλογή (ΑΝ μέσα σε ΑΝ)
ΑΝ συνθήκη_1 ΤΟΤΕ
ΑΝ συνθήκη_2 ΤΟΤΕ
εντολές
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
Οι τελεστές στη ΓΛΩΣΣΑ
Στη ΓΛΩΣΣΑ χρησιμοποιούμε 3 είδη τελεστών, τους αριθμητικούς, τους συγκριτικούς και τους λογικούς. Η προτεραιότητα εκτέλεσης των πράξεων είναι με τη σειρά που τα γράψαμε παραπάνω, δηλαδή πρώτα εκτελούνται όλες οι αριθμητικές πράξεις, στη συνέχεια όλες οι συγκριτικές πράξεις και στο τέλος όλες οι λογικές πράξεις.
Αριθμητικοί Τελεστές στη ΓΛΩΣΣΑ
Οι αριθμητικοί τελεστές που είναι και οι πρώτοι που εκτελούνται σε πράξεις είναι οι : ^, * / mod div, + – .
Η προτεραιότητα τους είναι όπως και στα μαθηματικά: δηλαδή πρώτα κάνω τις δυνάμεις, στη συνέχεια όλες τις πράξεις που έχουν πολλαπλασιασμό ή διαίρεση (πηλίκο ή υπόλοιπο) και τέλος τις προσθέσεις και τις αφαιρέσεις.
Προσοχή: όταν έχουμε ίδιας προτεραιότητας πράξεις τότε εκτελώ τις πράξεις από αριστερά προς τα δεξιά όπως και στα μαθηματικά
Να θυμίσουμε ότι οι πράξεις πηλίκου (div) και υπόλοιπου (mod) δίνουν πάντα ακέραιο αποτέλεσμα καθώς οι τιμές που συμμετέχουν στη πράξη είναι πάντα ακέραιες. Αντίθετα η πράξη της / μας δίνει πάντα πραγματικό αποτέλεσμα ακομη και αν αυτό σας φαίνεται αδύνατο ! Παράδειγμα: 4/2 = 2.0
Συγκριτικοί τελεστές στη ΓΛΩΣΣΑ
Οι συγκριτικοί τελεστές δεν έχουν προτεραιότητα μεταξύ τους και μπορώ να τους εκτελέσω με όποια σειρά θέλω. Πάντα το αποτέλεσμα των συγκριτικών πράξεων είναι λογικό (Αληθές, Ψευδές)
Οι τελεστές της ΓΛΩΣΣΑΣ σε συγκριτικές πράξεις είναι
= –> Ίσο με
<> –> Διάφορο από
> –> Μεγαλύτερο από
< –> Μικρότερο από
>= –> Μεγαλύτερο ή ίσο
<= –> Μικρότερο ή ίσο
Λογικοί τελεστές στη ΓΛΩΣΣΑ
Οι λογικοί τελεστές είναι και οι τελευταίες πράξεις που εκτελούμε σε μία πιθανή λογική έκφραση που μας δίνεται. Οι εκφράσεις που παράγονται είναι οι απλές λογικές εκφράσεις (πχ. χ>0) και οι σύνθετες λογικές εκφράσεις (πχ. χ>0 και ψ<0). Τα αποτελέσματα των λογικών εκφράσεων είναι όπως και στις συγκριτικές πράξεις το Αληθής και το Ψευδής.
Οι τελεστές στη ΓΛΩΣΣΑ λογικής φύσης έχουν την παρακάτω προτεραιότητα:
1) ΚΑΙ (Αληθής μόνο αν ΚΑΙ οι δύο συνθήκες είναι αληθείς)
2) Η (Αληθής αν τουλάχιστον μία συνθήκη είναι αληθής)
3) ΟΧΙ (Αντιστρέφει την τιμή της συνθήκης)
ΕΠΙΛΕΞΕ (πολλαπλή δομή επιλογής)
Η δομή ΕΠΙΛΕΞΕ είναι δομή πολλαπλής επιλογής με γενική μορφή:
ΕΠΙΛΕΞΕ έκφραση
ΠΕΡΙΠΤΩΣΗ λίστα_τιμών_1 ή συνθήκη_1
Εντολές_1
ΠΕΡΙΠΤΩΣΗ λίστα_τιμών_2 ή συνθήκη_2
Εντολές_2
………………
ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
Εντολές_αλλιώς
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
ΠΡΟΣΟΧΗ: Η ΕΠΙΛΕΞΕ ΜΕΤΑΤΡΕΠΕΤΑΙ ΜΟΝΟ ΑΠΟ ΠΟΛΛΑΠΛΗ ΔΟΜΗ ΕΠΙΛΟΓΗΣ. Δανείζεται το διάγραμμα ροής του ΑΝ .
Στην ΕΠΙΛΕΞΕ οι τιμές είναι μόνο σταθερές (ακέραιοι, χαρακτήρες) — δεν μπορούμε να γράψουμε εκφράσεις ή συνθήκες (π.χ. > 5).
Τυπολόγιο Δομής Επιλογής
Στη ΓΛΩΣΣΑ πολλές φορές θα χρειαστεί να εκτελέσουμε συνθήκες που βασίζονται σε ενδεχόμενα όπως: οι άρτιοι αριθμοί, οι περιττοί, οι ακέραιοι, οι πραγματικοί, το τελευταίο ψηφίο ακέραιου αριθμού, αν ένας αριθμός είναι 3ψήφιος ή 4ψήφιος και αν 2 αριθμοί είνια ο ένας ακέραιο πολλαπλάσιο του άλλου δηλαδή αν ο ένας διαιρεί τον άλλο. Παρακάτω μπορείτε να μάθετε το τυπολόγια της δομής επιλογής στη ΓΛΩΣΣΑ.
| Κατηγορία | Συνθήκη / Τύπος |
|---|---|
| Άρτιος | X MOD 2 = 0 |
| Περιττός | X MOD 2 <> 0 |
| Ακέραιος | X = A_M(X) |
| Πραγματικός | X <> A_M(X) |
| Τριψήφιος | X >= 100 ΚΑΙ X <= 999 |
| Τετραψήφιος | X >= 1000 ΚΑΙ X <= 9999 |
| Τελευταίο Ψηφίο | X MOD 10 |
| Ακέραιος Πολλαπλάσιος | X MOD Y = 0 |
Μεθοδολογία Μεγίστου Ελαχίστου Στη Δομή Επιλογής Της ΓΛΩΣΣΑΣ
Μία από τις βασικότερες μεθοδολογίες της ύλης του ΑΕΠΠ και πολύ πιθανή για τις πανελλαδικές εξετάσεις είναι η εύρεση μεγίστου και ελαχίστου μεταξύ αριθμών. Ο τύπος που θα χρησιμοποιείται είναι ο παρακάτω, στο παράδειγμα αυτό ελέγχουμε από 3 αριθμούς ποιος είναι ο μεγαλύτερος και ποιος ο μικρότερος.
| Εύρεση Μέγιστου (MAX) | Εύρεση Ελάχιστου (MIN) |
|---|---|
|
Διάβασε a,b,c max ← a Αν b > max τότε max ← b Τέλος_αν Αν c > max τότε max ← c Τέλος_αν ΓΡΑΨΕ max |
Διάβασε a,b,c min ← a Αν b < min τότε min ← b Τέλος_αν Αν c < min τότε min ← c Τέλος_αν ΓΡΑΨΕ min |
Θέτω για max αυθαίρετα , 1 από τους 3 αριθμούς και στη συνέχεια εξετάζω αν κάποιος άλλος είναι μεγαλύτερος. ΤΟ ΙΔΙΟ ΚΑΙ ΜΕ ΤΟ MIN (εξετάζω αν υπάρχει μικρότερος), ΔΕΝ μπορώ να χρησιμοποιήσω αν… αλλιως_αν γιατί θα χάσω περιπτώσεις μέγιστου και ελάχιστου, άρα χρησιμοποιώ μόνο Αν…Τέλος_αν (απλές δομές επιλογής) με αυτή τη μεθοδολογία.
Απλή και Κλιμακωτή Χρέωση
Ο τρόπος που χρεώνουμε σε ασκήσεις είναι πολύ σημαντικός, αν μας δίνεται πινακάκι και δεν αναφέρεται πουθενά πως θέλουμε να κάνουμε την χρέωση τότε ακολουθούμε την απλή χρέωση, σε περίπτωση που αναφέρεται ξεκάθαρα ότι θέλουμε κλιμακωτή χρέωση τότε πρέπει να ακολουθήσουμε μόνο αυτή τη μεθοδολογία. Παρακάτω δίνουμε ένα παράδειγμα λύσης με απλή και κλιμακωτή χρέωση με βάση τα πρότυπα του ΑΕΠΠ.
| Sec | €/sec |
|---|---|
| 1 | 0.5 |
| 101 – 250 | 0.7 |
| 251 και πάνω | 0.9 |
| Απλή Χρέωση | Κλιμακωτή Χρέωση |
|---|---|
|
Αν sec >=1 και sec <=100 τότε Χρ ←sec *0.5 Αλλιώς_αν sec >=101 και sec <= 250 τότε Χρ ←sec*0.7 Αλλιώς Χρ ←sec*0.9 Τέλος_αν |
Αν sec>=1 και sec <=100 τότε Χρ ←sec*0.5 Αλλιώς_αν sec>=101 και sec <= 250 τότε Χρ ←100*0.5 + (sec-100)*0.7 Αλλιώς Χρ ←100*0.5+150*0.7+(sec-250)*0.9 Τέλος_αν |
Αλγόριθμος Απόλυτης Τιμής στο ΑΕΠΠ
Παρακάτω παρουσιάζεται η απόδειξη αλγοριθμικά της απόλυτης τιμής. Πολύ πιθανό και χρήσιμο θέμα για συμπλήρωση κενών στις πανελλαδικές εξετάσεις στο μάθημα της πληροφορικής στο Θέμα Α. Την απόλυτη τιμή την γνωρίζουμε και ως συνάρτηση της ΓΛΩΣΣΑΣ, που είναι η Α_Τ(χ).
ΔΙΑΒΑΣΕ α
ΑΝ α < 0 ΤΟΤΕ
α <- (-1)*α
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ ‘ | α | = ‘, α
Πρόγραμμα με Απλή, Σύνθετη Και Εμφωλευμένη Δομή Επιλογής
Παράδειγμα: Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να διαβάζει τρεις πραγματικούς αριθμούς. Αν το άθροισμά τους είναι μεγαλύτερο του 10, να υπολογίζει και να εμφανίζει το μέσο όρο τους. Διαφορετικά να βρίσκει τον μεγαλύτερο από αυτούς και να τον εμφανίζει με κατάλληλο μήνυμα.
ΔΙΑΒΑΣΕ α, β, γ
ΑΝ (α + β + γ) > 10 ΤΟΤΕ
ΜΟ <- (α + β + γ)/3
ΓΡΑΨΕ ‘ΜΟ=’, ΜΟ
ΑΛΛΙΩΣ ! ΣΥΝΘΕΤΗ ΔΟΜΗ
Μαx <- α
ΑΝ β > Μαx ΤΟΤΕ. ! ΕΜΦΩΛΕΥΜΕΝΗ ΔΟΜΗ
Μαx <- β
ΤΕΛΟΣ_ΑΝ
ΑΝ γ > Μαx ΤΟΤΕ. ! ΑΠΛΗ ΔΟΜΗ
Μαx <- γ
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ Max
ΤΕΛΟΣ_ΑΝ
Πρόγραμμα ΑΕΠΠ Μισθοί (Μικτοί-Καθαροί), Επιδόματα, Αυξήσεις, Κρατήσεις και Φόροι
Παράδειγμα: Να γραφεί πρόγραμμα σε «ΓΛΩΣΣΑ», το οποίο να υπολογίζει τον μισθό ενός εργαζόμενου σε μια εταιρεία που εργάζεται με την ώρα. Να διαβάζει το όνομα του, τις ώρες εργασίας του για τον συγκεκριμένο μήνα και το ποσό που πληρώνεται για την κάθε ώρα. Οι κρατήσεις που του γίνονται εξαρτώνται από το ύψος του μισθού ως εξής: Αν ο μισθός του είναι μέχρι 1000 € τον μήνα έχει 15% κρατήσεις, ενώ διαφορετικά έχει 20% κρατήσεις. Επίσης, αν είναι έγγαμος έχει ένα επίδομα 50 €. Τέλος, να υπολογίζει και να τυπώνει τον τελικό μισθό που λαμβάνει ο υπάλληλος, όπως επίσης να τυπώνει και όλες τις κρατήσεις και τα επιδόματα που του αντιστοιχούν.
ΓΡΑΨΕ ‘Ονοματεπώνυμο Υπαλλήλου’
ΔΙΑΒΑΣΕ Ον
ΓΡΑΨΕ ‘Ώρες εργασίας’
ΔΙΑΒΑΣΕ Ωρες
ΓΡΑΨΕ ‘Ωρομίσθιο:’
ΔΙΑΒΑΣΕ Ωρομίσθιο
Μισθός <- Ωρομίσθιο* Ωρες
ΓΡΑΨΕ ‘Έγγαμος ΝΑΙ ή ΟΧΙ ‘
ΔΙΑΒΑΣΕ Απ
ΑΝ Απ = ‘ΝΑΙ’ ΤΟΤΕ
Επίδομα <- 50
ΑΛΛΙΩΣ
Επίδομα <- 0
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ ‘Μισθός=’, Μισθός
ΑΝ Μισθός <= 1000 ΤΟΤΕ
Κρατήσεις <- Μισθός* 15/100
ΑΛΛΙΩΣ
Κρατήσεις <- Μισθός* 20/100
ΤΕΛΟΣ_ΑΝ
Τελικός_Μισθός <- Μισθός + Επίδομα – Κρατήσεις
ΓΡΑΨΕ ‘Κρατήσεις:’, Κρατήσεις, ‘Επίδομα:’, Επίδομα, ‘Τελικός Μισθός=’, Τελικός_Μισθός
Συχνά λάθη μαθητών στη Δομή Επιλογής
Τα πιο συνηθισμένα λάθη που κάνουν οι μαθητές στη δομή επιλογής έχουν να κάνουν με την υλοποίηση των Αν και με τις βασικές μεθοδολογίες. Είναι λογικό η απλή χρέωση για ένα μαθητή να είναι εύκολη και η κλιμακωτή χρέωση ως ύλη πανελλαδικών εξετάσεων να είναι πιο δύσκολη να την εφαρμόσει ο μαθητής στο ΑΕΠΠ. Τις περισσότερες φορές όμως είναι καθαρά θέμα εμπειρίας και πολλών ασκήσεων, σε συνδυασμό βέβαια με τη γνώση της μεθοδολογίας. Προσοχή: κλιμακωτή χρέωση κάνω μόνο όταν η εκφώνηση το λέει ξεκάθαρα.
Η εμπειρία μας δείχνει ότι η γνώση του τυπολογίου που υπάρχει στην αρχή της σελίδας βοηθάει στο Α και Β θέμα των πανελλαδικών εξετάσεων. Σε συνδυασμό με τη γνώση του Επίλεξε ως μετατροπή θα έχετε καλύψει μεγάλο κομμάτι των πρώτων και δεύτερων θεμάτων πληροφορικής.
Όποτε η εκφώνηση της άσκησης πληροφορικής εξετάζει 1,2,3 και παραπάνω ενδεχόμενα αμέσως χρειάζεται να πάρουμε ΑΝ με απλή, σύνθετη ή πολλαπλή δομή. Να θυμάστε πως οι συνθήκες της δομής επιλογής ( ΑΝ συνθήκη ΤΟΤΕ), πρέπει να χρησιμοποιούν μεταβλητές που έχετε ήδη στο πρόγραμμα και κάθε φορά που υπάρχει χαρακτήρας, αυτός να μπαίνει σε “…”.
Ερωτήσεις Σωστό-Λάθος στη Δομή Επιλογής ΑΕΠΠ
Παρακάτω θα βρείτε ερωτήσεις τύπου Σωστού Λάθους που είναι βασισμένες πάνω στη πρακτική θεωρία της Δομής επιλογής όπως υπάρχει στο βιβλίο της πληροφορικής Γ λυκείου (ΑΕΠΠ). Μπορείτε να δώσετε τις απαντήσεις σας και να ελέγξετε τη λύση με της επεξήγηση για τυχόν απορίες που μπορεί να υπάρξουν.
1. Η εντολή ΕΠΙΛΕΞΕ μπορεί να χρησιμοποιηθεί με συνθήκες της μορφής Χ > 5.
❌ ΛΑΘΟΣ — Η ΕΠΙΛΕΞΕ δέχεται μόνο σταθερές τιμές, όχι εκφράσεις ή ανισότητες..
2. Στην απλή επιλογή, αν η συνθήκη είναι ψευδής, το πρόγραμμα τερματίζει.
❌ ΛΑΘΟΣ — Αν η συνθήκη είναι ψευδής, το πρόγραμμα απλώς παρακάμπτει τις εντολές του κλάδου ΤΟΤΕ και συνεχίζει κανονικά.
3. Ο τελεστής ΚΑΙ επιστρέφει ΑΛΗΘΗΣ μόνο όταν και οι δύο συνθήκες είναι αληθείς.
ΣΩΣΤΟ — Αυτή είναι η ορισμός του λογικού τελεστή ΚΑΙ (AND).
4. Η εμφωλευμένη επιλογή μπορεί να αντικατασταθεί πάντα από την εντολή ΕΠΙΛΕΞΕ.
❌ ΛΑΘΟΣ — Η ΕΠΙΛΕΞΕ αντικαθιστά την πολλαπλή δομή επιλογής.
5. Στη σύνθετη επιλογή, όταν η συνθήκη είναι ψευδής εκτελείται ο κλάδος ΑΛΛΙΩΣ.
ΣΩΣΤΟ — Ο κλάδος ΑΛΛΙΩΣ εκτελείται όταν η συνθήκη είναι ψευδής. Ο κλάδος ΤΟΤΕ εκτελείται όταν είναι αληθής.
Λυμένες Ασκήσεις Δομής Ακολουθίας ΑΕΠΠ με Αναλυτικές Λύσεις
1. Η ΔΕΥΑΘ χρεώνει νερό ως εξής: τα πρώτα 5 m³ → 0,50€/m³, τα επόμενα 10 m³ (6–15) → 0,80€/m³, πάνω από 15 m³ → 1,20€/m³. Να γραφεί πρόγραμμα που διαβάζει m³ κατανάλωσης και υπολογίζει το κόστος με κλιμακωτή χρέωση.
ΛΥΣΗ:
ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: M3, KOSTOS
ΑΡΧΗ
ΔΙΑΒΑΣΕ M3
ΑΝ M3 <= 5 ΤΟΤΕ
KOSTOS ← M3 * 0.50
ΑΛΛΙΩΣ
ΑΝ M3 <= 15 ΤΟΤΕ
KOSTOS ← 5 * 0.50 + (M3 – 5) * 0.80
ΑΛΛΙΩΣ
KOSTOS ← 5 * 0.50 + 10 * 0.80 + (M3 – 15) * 1.20
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ ‘Κόστος: ‘, KOSTOS, ‘ €’
ΤΕΛΟΣ Α1
Επεξήγηση Λύσης
Τυπικό πρόβλημα κλιμακωτής χρέωσης. Ελέγχουμε από το μικρότερο προς το μεγαλύτερο όριο. Για κατανάλωση π.χ. 20 m³: 5×0,50 + 10×0,80 + 5×1,20 = 2,50 + 8,00 + 6,00 = 16,50€. ΠΡΟΣΟΧΗ, κλιμακωτή χρέωση κάνουμε μόνο εφόσον το ζητήσει.
2. Να γραφεί πρόγραμμα που διαβάζει τρεις ακεραίους Α, Β, Γ και εμφανίζει τον μεγαλύτερο (MAX) και τον μικρότερο (MIN).
ΛΥΣΗ:
ΠΡΟΓΡΑΜΜΑ Α2
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Α, Β, Γ, MAX, MIN
ΑΡΧΗ
ΔΙΑΒΑΣΕ Α, Β, Γ
MAX ← Α
ΑΝ Β > MAX ΤΟΤΕ
MAX ← Β
ΤΕΛΟΣ_ΑΝ
ΑΝ Γ > MAX ΤΟΤΕ
MAX ← Γ
ΤΕΛΟΣ_ΑΝ
MIN ← Α
ΑΝ Β < MIN ΤΟΤΕ
MIN ← Β
ΤΕΛΟΣ_ΑΝ
ΑΝ Γ < MIN ΤΟΤΕ
MIN ← Γ
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ ‘Μέγιστος: ‘, MAX
ΓΡΑΨΕ ‘Ελάχιστος: ‘, MIN
ΤΕΛΟΣ Α2
Επεξήγηση Λύσης
Η τεχνική αρχικοποίησης (MAX←Α, MIN←Α) και διαδοχικής σύγκρισης είναι η τυπική μέθοδος για MAX/MIN. Επεκτείνεται εύκολα σε Ν αριθμούς με επανάληψη. Πολύ σημαντικό είναι να προσέξετε, σε περίπτωση που σας ζητήσουν εκτός από την μέγιστη τιμή να να αφέρετε και ποιος είναι αυτός που έκανε τη μέγιστη τιμή τότε μαζί με τον υπολογισμό του μεγίστου πρέπει να κρατήσετε και μία ακόμη μεταβλητή που λέγεται μαξον και έχει μέσα της το όνομα αυτού που έκανε το μαξ. Στο παράδειγμα μας θα λέγαμε μαξον <– “1ος αριθμός” κοκ.
Ασκήσεις Πολλαπλής Επιλογής — Δομή Επιλογής ΑΕΠΠ
Παρακάτω θα βρεις ερωτήσεις πολλαπλής επιλογής πάνω στη θεωρία της Δομής Επιλογής όπως αυτή δίνεται στο βιβλίο Γ λυκείου της Πληροφορικής (ΑΕΠΠ). Με αντίστοιχο τρόπο θα τα ζητήσουν στις πανελλαδικές εξετάσεις. Διάλεξε τη σωστή απάντηση και στη συνέχεια έλεγξε τη λύση σου.
Ερώτηση 1 — Εντολή ΕΠΙΛΕΞΕ
Ποια από τις παρακάτω χρήσεις της εντολής ΕΠΙΛΕΞΕ είναι σωστή;
α. ΠΕΡΙΠΤΩΣΗ Χ > 5
β. ΠΕΡΙΠΤΩΣΗ 1, 2, 3
γ. ΠΕΡΙΠΤΩΣΗ Χ + 1
δ. ΠΕΡΙΠΤΩΣΗ Χ = 1
Απάντηση: β) — Η ΕΠΙΛΕΞΕ δέχεται λίστα σταθερών τιμών χωριστά με κόμμα (π.χ. ΠΕΡΙΠΤΩΣΗ 1, 2, 3). Οι επιλογές α, γ, δ χρησιμοποιούν εκφράσεις ή συνθήκες που δεν επιτρέπονται.
Ερώτηση 2 — Κλιμακωτή Χρέωση
Ένα πρόγραμμα υπολογίζει έκπτωση: αν η αγορά είναι > 200€ τότε έκπτωση 20%, αν > 100€ τότε 10%, αλλιώς 0%.
Ποια δομή είναι η σωστή;
| α) | β) |
|---|---|
|
ΑΝ ΑΓΟΡΑ > 200 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.20 ΑΛΛΙΩΣ ΑΝ ΑΓΟΡΑ > 100 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.10 ΑΛΛΙΩΣ ΕΚΠΤΩΣΗ ← 0 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ |
ΑΝ ΑΓΟΡΑ > 100 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.10 ΑΛΛΙΩΣ ΑΝ ΑΓΟΡΑ > 200 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.20 ΑΛΛΙΩΣ ΕΚΠΤΩΣΗ ← 0 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ |
| γ) | δ) |
|
ΑΝ ΑΓΟΡΑ > 100 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.10 ΤΕΛΟΣ_ΑΝ ΑΝ ΑΓΟΡΑ > 200 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.20 ΤΕΛΟΣ_ΑΝ |
ΑΝ ΑΓΟΡΑ > 200 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.20 ΤΕΛΟΣ_ΑΝ ΑΝ ΑΓΟΡΑ > 100 ΤΟΤΕ ΕΚΠΤΩΣΗ ← 0.10 ΤΕΛΟΣ_ΑΝ |
Απάντηση: α. Σε κλιμακωτή χρέωση ελέγχουμε πάντα από το μεγαλύτερο όριο προς το μικρότερο. Η επιλογή β ελέγχει πρώτα το 100 — αγορά 250€ θα πάρει λάθος έκπτωση 10%. Η γ χρησιμοποιεί ανεξάρτητες ΑΝ (όχι εμφωλευμένες) που οδηγεί σε λάθος αποτελέσματα.
Ερώτηση 3 — Εύρεση MAX δύο αριθμών
Ποιο τμήμα κώδικα βρίσκει σωστά τον μέγιστο των Α, Β;
| α) | β) |
|---|---|
|
ΑΝ Α > Β ΤΟΤΕ ΜΑΧ ← Α ΑΛΛΙΩΣ ΜΑΧ ← Β ΤΕΛΟΣ_ΑΝ |
ΑΝ Α > Β ΤΟΤΕ ΜΑΧ ← Β ΑΛΛΙΩΣ ΜΑΧ ← Α ΤΕΛΟΣ_ΑΝ |
| γ) | δ) |
|
ΑΝ Α < Β ΤΟΤΕ ΜΑΧ ← Α ΑΛΛΙΩΣ ΜΑΧ ← Β ΤΕΛΟΣ_ΑΝ |
ΜΑΧ ← Α ΑΝ Β > ΜΑΧ ΤΟΤΕ ΜΑΧ ← Β ΤΕΛΟΣ_ΑΝ |
Απάντηση: α και δ. Και οι δύο βρίσκουν σωστά τον μέγιστο. Η α χρησιμοποιεί σύνθετη επιλογή (ΑΝ Α > Β → MAX=Α). Η δ αρχικοποιεί MAX←Α και μετά ελέγχει αν ο Β είναι μεγαλύτερος — τεχνική πολύ χρήσιμη για ΜΑΧ πολλών αριθμών.
Ερώτηση 4 — Εύρεση ΜΙΝ τριών αριθμών
Ποιο τμήμα κώδικα βρίσκει σωστά τον ελάχιστο των Α, Β, Γ;
| α) | β) |
|---|---|
|
ΜΙΝ ← Α ΑΝ Β < ΜΙΝ ΤΟΤΕ ΜΙΝ ← Β ΤΕΛΟΣ_ΑΝ ΑΝ Γ < ΜΙΝ ΤΟΤΕ ΜΙΝ ← Γ ΤΕΛΟΣ_ΑΝ |
ΜΙΝ ← Α ΑΝ Β < Α ΤΟΤΕ ΜΙΝ ← Β ΤΕΛΟΣ_ΑΝ ΑΝ Γ < Β ΤΟΤΕ ΜΙΝ ← Γ ΤΕΛΟΣ_ΑΝ |
| γ) | δ) |
|
ΑΝ Α < Β ΚΑΙ Α < Γ ΤΟΤΕ ΜΙΝ ← Α ΑΛΛΙΩΣ ΑΝ Β < Γ ΤΟΤΕ ΜΙΝ ← Β ΑΛΛΙΩΣ ΜΙΝ ← Γ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ |
ΑΝ Α < Β ΤΟΤΕ ΑΝ Α < Γ ΤΟΤΕ ΜΙΝ ← Α ΑΛΛΙΩΣ ΜΙΝ ← Γ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ Β < Γ ΤΟΤΕ ΜΙΝ ← Β ΑΛΛΙΩΣ ΜΙΝ ← Γ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ |
Απάντηση: α, γ και δ είναι σωστές. Η α χρησιμοποιεί τη βέλτιστη τεχνική: αρχικοποιεί MIN←Α και ελέγχει διαδοχικά κάθε αριθμό. Η γ και δ χρησιμοποιούν εμφωλευμένη επιλογή. Η β είναι λάθος γιατί στο δεύτερο ΑΝ ελέγχει Γ < Β αντί για Γ < ΜΙΝ — αν Α=5, Β=3, Γ=4 τότε MIN=3 αλλά το πρόγραμμα δίνει MIN=4.
Άσκηση Αντιστοίχισης — Εντολές Δομής Επιλογής ΑΕΠΠ
Αντιστοίχισε κάθε εντολή της Στήλης Α με τη σωστή λειτουργία της από τη Στήλη Β.
| Στήλη Α — Εντολή / Δομή | Στήλη Β — Λειτουργία |
|---|---|
| 1. ΑΝ … ΤΟΤΕ … ΤΕΛΟΣ_ΑΝ | α. Εκτελεί εντολές μόνο αν συνθήκη αληθής, αλλιώς δεν κάνει τίποτα |
| 2. ΑΝ … ΤΟΤΕ … ΑΛΛΙΩΣ … ΤΕΛΟΣ_ΑΝ | β. Εκτελείται όταν καμία ΠΕΡΙΠΤΩΣΗ δεν ταιριάζει |
| 3. ΕΠΙΛΕΞΕ … ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ | γ. Ελέγχει μεταβλητή έναντι πολλών σταθερών τιμών |
| 4. ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ | δ. Εκτελεί εντολές1 αν αληθής, εντολές_2 αν ψευδής |
| 5. ΑΝ μέσα σε ΑΝ |
ε. Χρησιμοποιείται για κλιμακωτές συνθήκες / πολλαπλά κριτήρια |
Απαντήσεις: 1→α, 2→δ, 3→γ, 4→β, 5→ε

