Θέματα προς μαθητές για κατανόηση ζητημάτων εντοπισμού του min, max, θέσης αυτών, κλπ, από μονοδιάστατο πίνακαΟ παρακάτω αλγόριθμος εντοπίζει την ελάχιστη τιμή ενός μονοδιάστατου πίνακα Α που περιέχει Ν διαφορετικές τιμές:
ΠαράθεσηΑλγόριθμος Ελάχιστη_τιμή
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
Για ι από 2 μέχρι N
Αν Α[ι] < ελάχιστο τότε ελάχιστο <- Α[ι]
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο //
Τέλος Ελάχιστη_τιμή
1. Αν ο αλγόριθμος αλλάξει όπως παρακάτω, συνεχίζει να εντοπίζει την ελάχιστη τιμή; Γιατί;
ΠαράθεσηΑλγόριθμος Ελάχιστη_τιμή
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
Για ι από 1 μέχρι N
Αν Α[ι] < ελάχιστο τότε ελάχιστο <- Α[ι]
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο //
Τέλος Ελάχιστη_τιμή
2. Αν ο αλγόριθμος αλλάξει όπως παρακάτω, συνεχίζει να εντοπίζει την ελάχιστη τιμή; Γιατί;
ΠαράθεσηΑλγόριθμος Ελάχιστη_τιμή
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
Για ι από 2 μέχρι N
Αν Α[ι] <= ελάχιστο τότε ελάχιστο <- Α[ι]
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο //
Τέλος Ελάχιστη_τιμή
3. Αν ο πίνακας μπορεί να περιέχει και ίσες τιμές, τότε οι παραπάνω αλγόριθμοι συνεχίζουν να εντοπίζουν την ελάχιστη τιμή; Γιατί;
4. Υπό ποιες προϋποθέσεις θα μπορούσε ο παρακάτω αλγόριθμος να είναι σωστός; Γιατί;
ΠαράθεσηΑλγόριθμος Ελάχιστη_τιμή
Δεδομένα // Α, Ν //
ελάχιστο <- 0
Για ι από 1 μέχρι N
Αν Α[ι] < ελάχιστο τότε ελάχιστο <- Α[ι]
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο //
Τέλος Ελάχιστη_τιμή
Ο παρακάτω αλγόριθμος εντοπίζει την ελάχιστη τιμή ενός μονοδιάστατου πίνακα Α που περιέχει Ν διαφορετικές τιμές. Επίσης, εντοπίζει τη θέση της ελάχιστης τιμής μέσα στον πίνακα:
ΠαράθεσηΑλγόριθμος Ελάχιστo_και_θέση
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
θέση <- 1
Για ι από 2 μέχρι N
Αν Α[ι] < ελάχιστο τότε
ελάχιστο <- Α[ι]
θέση <- ι
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο, θέση //
Τέλος Ελάχιστo_και_θέση
1. Αν ο αλγόριθμος αλλάξει όπως παρακάτω, συνεχίζει να εντοπίζει την ελάχιστη τιμή και τη θέση της στον πίνακα; Γιατί;
ΠαράθεσηΑλγόριθμος Ελάχιστo_και_θέση
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
θέση <- 1
Για ι από 1 μέχρι N
Αν Α[ι] < ελάχιστο τότε
ελάχιστο <- Α[ι]
θέση <- ι
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο, θέση //
Τέλος Ελάχιστo_και_θέση
2. Αν ο αλγόριθμος αλλάξει όπως παρακάτω, συνεχίζει να εντοπίζει την ελάχιστη τιμή και τη θέση της στον πίνακα; Γιατί;
ΠαράθεσηΑλγόριθμος Ελάχιστo_και_θέση
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
θέση <- 1
Για ι από 2 μέχρι N
Αν Α[ι] <= ελάχιστο τότε
ελάχιστο <- Α[ι]
θέση <- ι
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο, θέση //
Τέλος Ελάχιστo_και_θέση
3. Αν ο πίνακας μπορεί να περιέχει και ίσες τιμές, τότε ο αρχικός αλγόριθμος τι εντοπίζει; Γιατί;
4. Αν ο πίνακας μπορεί να περιέχει και ίσες τιμές, τότε ο αλγόριθμος του 2ου ερωτήματος τι εντοπίζει; Γιατί;
5. Υπό ποιες προϋποθέσεις θα μπορούσε ο παρακάτω αλγόριθμος να είναι σωστός; Γιατί;
ΠαράθεσηΑλγόριθμος Ελάχιστo_και_θέση
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
Για ι από 2 μέχρι N
Αν Α[ι] < ελάχιστο τότε
ελάχιστο <- Α[ι]
θέση <- ι
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο, θέση //
Τέλος Ελάχιστo_και_θέση
Πράγματι, Νίκο,
ωραίες ασκησούλες για την κατανόηση των παραλλαγών σ' αυτό το θέμα
Ποοολύ καλό.. Στο κλεψα ;) Τους το δίνω, σήμερα κιόλας :)
Δύο σημεία μόνο με προβληματίζουν:
Παράθεση από: Νίκος Αδαμόπουλος στις 24 Ιαν 2011, 06:24:46 ΜΜ
Ο παρακάτω αλγόριθμος εντοπίζει την ελάχιστη τιμή ενός μονοδιάστατου πίνακα Α που περιέχει Ν διαφορετικές αριθμητικές τιμές:
Αλγόριθμος Ελάχιστo
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
...
1. Μήπως να αλλάζαμε όνομα στον αλγόριθμο σε
Εύρεση_Μέγιστου ή κάτι παρόμοιο; Έχουμε και μεταβλητή με το ίδιο όνομα ..
2. Γιατί απαραίτητα να αναφερόμαστε σε
αριθμητικές τιμές στην εκφώνηση; Ο αλγόριθμος δουλεύει για
οτιδήποτε τιμές. Έτσι δεν είναι;
Έχεις δίκιο! Οι αλλαγές έγιναν...
(Συμπλήρωμα)Ο παρακάτω αλγόριθμος εντοπίζει την ελάχιστη τιμή ενός μονοδιάστατου πίνακα Α που περιέχει Ν διαφορετικές τιμές. Επίσης, εντοπίζει τη θέση της ελάχιστης τιμής μέσα στον πίνακα:
ΠαράθεσηΑλγόριθμος Ελάχιστo_και_θέση
Δεδομένα // Α, Ν //
ελάχιστο <- Α[1]
θέση <- 1
Για ι από 2 μέχρι N
Αν Α[ι] < ελάχιστο τότε
ελάχιστο <- Α[ι]
θέση <- ι
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα // ελάχιστο, θέση //
Τέλος Ελάχιστo_και_θέση
6. Για λόγους "λιτότητας", προκειμένου να μειωθούν οι μεταβλητές που χρησιμοποιεί ο αλγόριθμος, αποφασίστηκε να μη γίνει χρήση της μεταβλητής: ελάχιστο. Συμπληρώστε κατάλληλα τον παρακάτω αλγόριθμο ώστε να επιτελεί το ίδιο σκοπό:
ΠαράθεσηΑλγόριθμος Ελάχιστo_και_θέση
Δεδομένα // Α, Ν //
θέση <- 1
Για ι από 2 μέχρι N
Αν Α[ι] < ....... τότε
θέση <- ι
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα // ........., θέση //
Τέλος Ελάχιστo_και_θέση
7. Αναφέρετε πιθανές προϋποθέσεις ώστε ο παρακάτω "αλγόριθμος" να επιτελεί τον ίδιο σκοπό (!):
ΠαράθεσηΑλγόριθμος Ελάχιστo_και_θέση
Δεδομένα // Α, Ν //
θέση <- 1
ελάχιστο <- Α[1]
Αποτελέσματα // ελάχιστο, θέση //
Τέλος Ελάχιστo_και_θέση
Ποοοοολύ ωραίες ερωτήσεις.. Μπράβο Νίκο !
(εννοείται ότι τις χρησιμοποιειώ... as of now ;) )