Τετράδιο μαθητή
ΘΕ05: Επανάληψη
Όνομα(τα):___________________________________________________
Όνομα Η/Υ:___________________________________________________
Τμήμα:_______________________Ημερομηνία:___________________
Κάνοντας και .
.. ξανακάνοντας
Κάνοντας και .
.. ξανακάνοντας
Σκεφτείτε το πρόβλημα που περιγράφεται στη συνέχεια:
Στην αρχή της σχολική χρονιάς, επισκέπτεται το σχολείο ο προπονητής της τοπικής ομάδας
μπάσκετ, προκειμένου να αναγνωρίσει … ταλέντα. Χωρίς να έχει, σε πρώτη φάση, τη
δυνατότητα να δοκιμάσει τους μαθητές στο γήπεδο, αποφασίζει να κάνει μία πρώτη διαλογή με
βάση το ύψος τους. Τον ενδιαφέρουν μαθητές με ύψος πάνω από 1.70.
Θα πρέπει να κατασκευάσετε τον αλγόριθμο που θα ανακοινώνει σε κάποιο μαθητή αν …
είναι υποψήφιος!
1. Αναλύστε το πρόβλημα
πορείτε να αναγνωρίσετε τα
δεδομένα
του προβλήματος; Τι στοιχεία, ποιες ποσότητες
χρειάζεστε για να αποφασίσετε αυτό που ζητάει το πρόβλημα (αν ο μαθητής είναι .
..
υποψήφιος!) Περιγράψτε τα με απλά λόγια:
Μ
Για να
αποφασίσω
αν ο μαθητής είναι .
.. υποψήφιος για την τοπική ομάδα
μπάσκετ πρέπει να γνωρίζω.
..
ώς θα ονομάσετε τη μεταβλητή που θα χρησιμοποιήσετε για να αποθηκεύσετε την τιμή
του;
Π
Η μεταβλητή που θα χρησιμοποιήσω για να αποθηκεύσω το _______
του μαθητή θα ονομάζεται _______
2. Σχεδιάστε τον αλγόριθμο
οιό είναι το μήνυμα που θα πρέπει να εμφανίζει ο αλγόριθμος στο μαθητή .
.. όταν
αποφασίσει;
Π
Εάν ο αλγόριθμος 'αποφασίσει' ότι ο μαθητής μπορεί να είναι .
..
... υποψήφιος για την ομάδα μπάσκετ, θα του εμφανίζει το μήνυμα:
οιά εντολή θα πρέπει να περιλαμβάνει ο αλγόριθμος ώστε να εμφανίζει το συγκεκριμένο
μήνυμα; Διατυπώστε τη σε
μία
γραμμή στο παρακάτω πλαίσιο:
Π
Η εντολή που θα εμφανίζει στο μαθητή το μήνυμα είναι η εξής:
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 1 -
Αλγοριθμική & Προγραμματισμός
Κάνοντας και .
.. ξανακάνοντας
Τετράδιο μαθητή
αλγόριθμος θα εκτελεστεί πολλές φορές για … πολλούς μαθητές. Κάθε φορά που θα
εκτελείται θα .
.. αποφασίζει ανάλογα με τα δεδομένα που θα του δίνονται. Θα εμφανίζει
το μήνυμα
οπωσδήποτε,
σε όλους τους μαθητές; Σχηματίστε τη σωστή πρόταση, διαγράφοντας
τα λανθασμένα τμήματά της στο παρακάτω πλαίσιο.
Ο
Η εντολή που θα εμφανίζει το μήνυμα,
(είναι / δεν είναι)
σίγουρο ότι θα
πρέπει να εκτελείται για
όλους
του μαθητές.
Η εκτέλεσή της
εξαρτάται / είναι ανεξάρτητη
από τα δεδομένα του
προβλήματος. Επομένως
θα / δεν θα
εκτελείται
πάντοτε
πομένως, ποιά δομή θα πρέπει να χρησιμοποιήσετε για να συμπεριλάβετε σωστά την εντολή
εμφάνισης του μηνύματος στον αλγόριθμο;
Ε
Η εντολή εμφάνισης του μηνύματος
(θα / δεν θα)
εκτελείται πάντοτε.
Για να γίνει αυτό, θα πρέπει να χρησιμοποιηθεί στον αλγόριθμο η
δομή
_ _ _ _ _
_ _ _ _ _ _ _ _
.!
κολουθήστε το σύνδεσμο
απλό (δεξί κλικ -> Αποθήκευση προορισμού ως..)
Στο
χώρο διαγράμματος
θα
εμφανιστούν τα περισσότερα από τα βήματα που χρειάζονται για να κατασκευαστεί ο
αλγόριθμος. Πρέπει να διορθώσετε τον αλγόριθμο, προσθέτοντας τα .
.. κομμάτια που λείπουν.
Ο
αλγόριθμος
θα πρέπει:
Α
θα
ζητάει
τις τιμές για τα δεδομένα του προβλήματος,
θα
ελέγχει
τα δεδομένα και, αν αποφασίσει ότι χρειάζεται,
θα
εμφανίζει
το απαραίτητο μήνυμα !
Κατεβάστε την λύση από εδώ (δεξί κλικ -> Αποθήκευση προορισμού ως..)
3. Εκτελέστε τον αλγόριθμο
νοίξτε το
παράθυρο των μεταβλητών
και την
οθόνη χρήστη
και ξεκινήστε να εκτελείτε
τον αλγόριθμό σας βήμα – προς – βήμα:
Α
Δώστε
τις
τιμές
που προτείνονται και παρακολουθείστε το αποτέλεσμα που έχουν
στην εκτέλεση του αλγόριθμου
Δοκιμάστε
τον αλγόριθμο τουλάχιστον 3 φορές με τις τιμές του πίνακα
Συμπληρώστε
στον παρακάτω πίνακα αν εμφανίζεται το μήνυμα (στήλη 2) και
εξηγείστε την απάντησή σας (στήλη 3).
Ύψος
Εμφανίζεται;
(Ναι / Όχι)
Εξήγηση
1,50
Ερ
: Είναι το ______ > ______;
Απ:
____
1,70
Ερ
: Είναι το ______ > ______;
Απ:
____
1,90
Ερ
: Είναι το ______ > ______;
Απ:
____
4. Επεκτείνετε τον αλγόριθμο
ς αλλάξουμε λίγο την εκφώνηση του προβλήματος για να δούμε πόσο αυτό μπορεί να
επηρεάσει τη λύση μας:
Α
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 2 -
Αλγοριθμική & Προγραμματισμός
Τετράδιο μαθητή
ΘΕ05: Επανάληψη
Ο προπονητής θα εξετάσει δύο μαθητές και θέλει να μετρήσει ΠΟΣΟΙ από αυτούς
ικανοποιούν το .
. κριτήριο ύψους που έχει θέσει.
κολουθείστε στο σύνδεσμο
μετρώντας (δεξί κλικ -> Αποθήκευση προορισμού ως..)
και εξετάστε τον
αλγόριθμο που θα εμφανιστεί στο
χώρο διαγράμματος
. Όπως βλέπετε, μπορούμε να
χρησιμοποιήσουμε μόνο
μία μεταβλητή
για το διάβασμα των δεδομένων αφού δεν χρειαζόμαστε
την
αρχική της τιμή
μετά τον πρώτο έλεγχο!
Α
νοίξτε το
παράθυρο των μεταβλητών
και την
οθόνη χρήστη
και ξεκινήστε να εκτελείτε
τον αλγόριθμό σας βήμα – προς – βήμα:
Α
Δώστε
τις
τιμές
που προτείνονται και παρακολουθείστε το αποτέλεσμα που έχουν
στην εκτέλεση του αλγόριθμου
Δοκιμάστε
τον αλγόριθμο 3 φορές με τις τιμές του πίνακα
Συμπληρώστε
το αποτέλεσμα του αλγόριθμου στην 4η στήλη
Ύψος
(1η τιμή)
Ύψος
(2η τιμή)
Πλήθος
τιμών .
. >1,70
Αποτέλεσμα
αλγόριθμου
1.80
1.82
2
1.75
1.65
1
1.65
1.75
1
αλγόριθμος
δεν
δουλεύει σωστά και στις τρεις περιπτώσεις. Μπορείτε να καταλάβετε
γιατί; Σε ποιες περιπτώσεις δίνει
λανθασμένο αποτέλεσμα
;
Ο
Σε ένα ζευγάρι τιμών ο αλγόριθμος υπολογίζει λάθος αποτέλεσμα όταν
συμβαίνουν τα εξής:
- ο
πρώτος
αριθμός
(είναι /δεν είναι)
> 1.70 ενώ
συγχρόνως
- ο
δεύτερος
αριθμός
(είναι / δεν είναι)
> 1.70
όπως π.χ. με τους αριθμούς _______ και _______ που δοκιμάσαμε
Αυτό οφείλεται
στο γεγονός ότι .
..
ιορθώστε
τον αλγόριθμο. Αλλάξτε την εντολή στο κλωνάρι της δεύτερης δομής επιλογής
ώστε να κάνει
προοδευτικό υπολογισμό
. Δοκιμάστε το διορθωμένο αλγόριθμο με το
ζευγάρι τιμών που σας έδινε λάθος αποτελέσματα, και συμπληρώστε πάλι τις τιμές στον
πίνακα:
Κατεβάστε την λύση από εδώ (δεξί κλικ -> Αποθήκευση προορισμού ως..)
Δ
Ύψος
(1η τιμή)
Ύψος
(2η τιμή)
Πλήθος
τιμών .
. >1,70
Αποτέλεσμα
αλγόριθμου
οκιμάστε πάλι τον αλγόριθμο, αυτή τη φορά με νέες τιμές, αυτές που δίνονται στον.
επόμενο πίνακα
Δ
Ύψος
(1η τιμή)
Ύψος
(2η τιμή)
Πλήθος
τιμών .
. >1,70
Αποτέλεσμα
αλγόριθμου
1.65
1.55
0
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 3 -
Αλγοριθμική & Προγραμματισμός
Κάνοντας και .
.. ξανακάνοντας
Τετράδιο μαθητή
Ο αλγόριθμος, πάλι
δεν
δουλεύει σωστά. Μπορείτε να καταλάβετε γιατί;
Όταν καμία τιμή δεν είναι μεγαλύτερη από το 1.70 ο αλγόριθμος
δε δουλεύει σωστά. Η εντολή που δημιουργεί μήνυμα λάθους είναι η:
________________________________
Το λάθος οφείλεται στο γεγονός ότι:
Ποια τιμή θα πρέπει να έχει η μεταβλητή πλήθος στην περίπτωση
που κανένας παίκτης δεν είναι > 1.70;
Η μεταβλητή πλήθος θα πρέπει αρχικά να έχει την τιμή _______
ιορθώστε
τον αλγόριθμο. Προσθέστε στην αρχή του αλγόριθμου την εντολή που θα δίνει
στη μεταβλητή πλήθος την κατάλληλη τιμή ώστε ο αλγόριθμος να δίνει το σωστό
αποτέλεσμα
και στην περίπτωση
που ο αλγόριθμος δε θα περάσει από κανένα κλωνάρι.
Δ
Η εντολή που θα δίνει τη σωστή
αρχική
τιμή στη μεταβλητή πλήθος
(
αρχικοποίηση του μετρητή
) είναι η:
Πλήθος <- ____
Κατεβάστε την λύση από εδώ (δεξί κλικ -> Αποθήκευση προορισμού ως..)
5. Αλλάξτε τη.
.. δομή του αλγόριθμου
ε τη
δομή
που έχει αποκτήσει ο αλγόριθμος, κάνει σωστά αυτά που ζητάει το πρόβλημα.
Όμως οι δύο
δομές επιλογής
που περιλαμβάνει, αν και μοιάζουν, δεν είναι ακριβώς ίδιες
αφού περιέχουν διαφορετικές εντολές. Αυτό θα μας δυσκολέψει στις επόμενες εργασίες μας
(θα δείτε στη συνέχεια γιατί). Προσπαθήστε, επομένως, να
αλλάξετε
τη
δομή
του αλγόριθμου
ώστε:
Μ
να βρίσκει τα
ίδια ακριβώς αποτελέσματα
, αλλά
να περιλαμβάνει δύο ακριβώς
ίδιες δομές επιλογής
Δοκιμάστε
να χρησιμοποιήσετε
προοδευτικό υπολογισμό
και
στην πρώτη δομή επιλογής (όμοια
με τη δεύτερη)
Κατεβάστε την λύση από εδώ (δεξί κλικ -> Αποθήκευση προορισμού ως..)
Ο αλγόριθμος πλέον
:
διαβάζει τα ύψη δύο μαθητών και
μετράει πόσοι απ' αυτούς έχουν το κατάλληλο ύψος
Με τη
νέα
του
δομή
, ο αλγόριθμος
περιλαμβάνει
:
την εντολή
αρχικοποίησης
του μετρητή, και
ένα
αλγοριθμικό κομμάτι
(είσοδος + επεξεργασία)
για κάθε
μαθητή
ενώ το .
..
κομμάτι
είναι το ίδιο
για κάθε
μαθητή !
φού, με τη
νέα
του
δομή
, ο αλγόριθμος περιλαμβάνει το
ίδιο
αλγοριθμικό κομμάτι
ακριβώς
τόσες φορές όσοι είναι οι μαθητές, μπορείτε (χωρίς πολύ σκέψη.
.) να
επεκτείνετε τον αλγόριθμο ώστε να επεξεργάζεται .
.. πολλούς μαθητές.
Όσοι
είναι οι μαθητές,
τόσα
θα είναι τα .
..
κομμάτια
! Το (κοινό)
αλγοριθμικό κομμάτι
περιλαμβάνει τις ίδιες εντολές
με τις οποίες:
Α
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 4 -
Αλγοριθμική & Προγραμματισμός
Τετράδιο μαθητή
ΘΕ05: Επανάληψη
ζητάει
την τιμή
την
εξετάζει
και, αν χρειάζεται,
αυξάνει
το μετρητή
6. Ας .
.. προσθέσουμε επαναλήψεις !
στω ότι οι μαθητές δεν είναι 2 αλλά 22 ! Επιπλέον, έστω ότι ο προπονητής έχει
φροντίσει ώστε να .
..:
Έ
...έχει βάλει τους μαθητές κατά σειρά ύψους και τους εξετάζει από τον ψηλότερο προς τον
κοντύτερο.
..
Αφού, για τους
δύο μαθητές
, χρειάστηκε να περιληφθεί
δύο φορές
το τμήμα:
διάβασε – έλεγξε – αύξησε
για τους
22 μαθητές
, το μόνο που θα αλλάξει είναι ότι το ίδιο τμήμα θα περιληφθεί
22 φορές
!
Αυτή η προσέγγιση θα μας οδηγήσει σε λύση που θα είναι
απλή
αλλά .
..
εκτενής
.
Απλή
αφού περιλαμβάνει τη λογική (με
φυσική γλώσσα
σε
βήματα
):
ΑΝ το ύψος είναι πάνω από 1.70 ΤΟΤΕ αύξησε το μετρητή (ΚΑΙ ΞΑΝΑ)
ΑΝ το ύψος είναι πάνω από 1.70 ΤΟΤΕ αύξησε το μετρητή (ΚΑΙ ΞΑΝΑ)
ΑΝ.
.. (ΚΑΙ ΞΑΝΑ)
ΑΝ.
..
και
εκτενής
, αφού αυτό θα πρέπει να επαναλαμβάνεται 22 φορές.
Και .
.. ευτυχώς που οι μαθητές είναι μόνο 22. Αν ήταν 122 (ή 1122) ο αλγόριθμός θα γινόταν
μάλλον .
.. μεγάλος!
ΟΜΩΣ:
Δεν έχουμε εξετάσει ακόμα τα νέα δεδομένα της εκφώνησης με βάση τα οποία ο
προπονητής.
..
...έχει βάλει τους μαθητές κατά σειρά ύψους και τους εξετάζει από τον ψηλότερο προς τον
κοντύτερο.
..
που σημαίνει ότι .
.. μάλλον
δεν
είναι απαραίτητο να εξετάσουμε όλους τους μαθητές αφού ο
πρώτος που θα συναντήσουμε με ύψος μικρότερο (ή ίσο) του 1.70, μας αρκεί για να
καταλάβουμε ότι .
.. δε χρειάζεται να συνεχίσουμε. Καταλαβαίνετε γιατί;
Αφού τα ύψη είναι _ _ ξ _ _ _ _ _ _ ' _ _ , κανένα
δεν είναι
_ _ γ _ _ ' _ _ _ _ _
από το προηγούμενό
του. Αυτό σημαίνει
ότι, μόλις συναντήσουμε ένα ύψος που να
(είναι / μην είναι)
μεγαλύτερο από το 1.70, μπορούμε να.
..σταματήσουμε να
μετράμε
υποψήφιους
αφού και οι επόμενοι
(θα είναι / δε θα είναι)
_ _ _ ' _ _ _ _ _ από 1.70.
ν σκεφτούμε και το γεγονός ότι το αλγοριθμικό τμήμα που .
..
επαναλαμβάνουμε
για κάθε
μαθητή είναι ακριβώς το ίδιο, καταλήγουμε στο συμπέρασμα ότι το διάγραμμά μας
δεν
χρειάζεται 22 ελέγχους
, αλλά
μόνον ένα
που θα γίνεται ΞΑΝΑ και ΞΑΝΑ και ΞΑΝΑ, όσο το
ύψος είναι .
.. >1.70. Μόλις βρεθεί
έστω και ένας
βαθμός που να είναι ≤1.70, οι .
..
επαναλήψεις
πρέπει να σταματήσουν. Ακολουθήστε το σύνδεσμο
και ξαναμετρώντας (δεξί κλικ -> Αποθήκευση προορισμού ως..)
και εξετάστε το διάγραμμα ροής που εμφανίζεται για να διαπιστώσετε ότι το
πρόβλημα λύνεται εύκολα σχεδιάζοντας το γνωστό τμήμα
μία μόνο
φορά σε .
.. θηλιά (
βρόχο
)!
Α
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 5 -
Αλγοριθμική & Προγραμματισμός
Κάνοντας και .
.. ξανακάνοντας
Τετράδιο μαθητή
7. Τροποποιείστε το διάγραμμα ροής
πως είναι αυτή τη στιγμή, ο
βρόχος
θηλιά
) συναντάει τον κορμό ένα βήμα πριν από τη
συνθήκη ελέγχου
(ώστε να περιλαμβάνει την εντολή με την οποία θα διαβάζει το επόμενο
ύψος). Επειδή αυτό θα μας δυσκολέψει στη συνέχεια (όταν αντιμετωπίσουμε το ίδιο πρόβλημα
σε ψευδογλώσσα) θα πρέπει να αλλάξετε το διάγραμμα ροής ώστε ο βρόχος να συναντάει τον
κορμό
ακριβώς πριν
από τον
έλεγχο της συνθήκης
και
όχι ενωρίτερα
.
Ό
άν απλά οδηγήσετε το
βρόχο
ακριβώς επάνω από τη
συνθήκη συνέχειας
, ο αλγόριθμός σας
θα έχει ένα σοβαρό
λάθος
. Μπορείτε να καταλάβετε ποιό είναι το αυτό;
Ε
Η _ _ _ _ ' _ _ θα _ _ ' _ _ _ _ πάντοτε το ίδιο ' _ _ _ !
Κάνετε τις απαραίτητες
τροποποιήσεις
ώστε:
ο βρόχος να κλείνει ακριβώς πριν τον έλεγχο της
συνθήκης συνέχειας
κάθε φορά η συνθήκη να ελέγχει το ύψος του επόμενου μαθητή.
Κατεβάστε την λύση από εδώ (δεξί κλικ -> Αποθήκευση προορισμού ως..)
Η δομή που έχετε σχεδιάσει ονομάζεται
δομή _ _ _ _ ' _ _ _ _ _
αφού
επαναλαμβάνει
το βήμα
όσο
ισχύει η
_ _ _ _ ' _ _ συνέχειας.
Θεωρήστε ότι ο πίνακας με τα αποτελέσματα είναι αυτός που δίνεται στη συνέχεια. Μπορείτε
να .
.. μαντέψετε το αποτέλεσμα του αλγόριθμου;
Α/Α
Ύψος
Α/Α
Ύψος
1
1.92
12
1.70
2
1.90
13
1.65
3
1.90
14
1.63
4
1.88
15
1.60
5
1.87
16
1.60
6
1.85
17
1.59
7
1.81
18
1.55
8
1.81
19
1.53
9
1.73
20
1.52
10
1.71
21
1.50
11
1.70
22
1.46
κτελέστε
τον αλγόριθμο και συμπληρώστε τα στοιχεία που λείπουν στο παρακάτω πλαίσιο,
ώστε να σχηματίσετε σωστή πρόταση:
Ε
Η δομή _ _ _ _ ' _ _ _ _ _ θα εκτελείται ' _ _ το ύψος θα είναι
_ _ _ _ _ ' _ _ _ _ από το 1.70. Ο _ _ ' _ _ _ θα εκτελεστεί
_ ' _ _ φορές. Η τιμή που θα τον τερματίσει είναι η _ _ _ ' _ _ _ _,
αφού είναι ο πρώτος αριθμός, στη σειρά, που
(είναι/δεν είναι)
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 6 -
Αλγοριθμική & Προγραμματισμός
Τετράδιο μαθητή
ΘΕ05: Επανάληψη
_ _ _ _ _ ' _ _ _ _ _ από το 1.70.
Έργο ΠΛΕΙΑΔΕΣ/Νηρηίδες, Γ΄ ΚΠΣ
ΕΑ.ΙΤΥ / Υπ.Ε.Π.Θ.
- σελ. 7 -
Αλγοριθμική & Προγραμματισμός