Στο αρχικό ερώτημα:
Καλημέρα συνάδελφοι.
Η άσκηση που αντιμετώπισα έλεγε οτι ένα μωρό όταν είναι 3 μηνών έχει κάποιο ύψος και βάρος. Κάθε μήνα το ύψος αυξάνεται κατά 3% και το βάρος 5% . Και η άσκηση ρωτάει πόσο θα είναι το ύψος και το βάρος όταν φθάσει 2 χρονών!
Η δομή επανάληψης που χρησιμοποιούμε είναι ή το ΟΣΟ ή το ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ.
...
Το ερώτημα μου ειναι το εξής: Ένας μαθητής μου το έγραψε με τη δομή ΓΙΑ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 21
.......
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
-------------------------
Εγώ αυτό που σκέφτομαι είναι το εξής:
Και με το ΓΙΑ μπορεί να τρέξει ο αλγόριθμος, γιατί όντως θα κάνει 21 επαναλήψεις.
Όμως σε τέτοιου είδους ασκήσεις , που δεν ξέρουμε τον αριθμό των επαναλήψεων χρησιμοποιούμε τις άλλες δομές. Μπορεί έμμεσα να τις υπολογίζουμε τις επαναλήψεις, αλλά η άσκηση και η δομή της εκφώνησης είναι τέτοια που μας οδηγεί στην ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ..
Τι θα απαντούσατε στο μαθητή ; Την κόβουμε την άσκηση ή τη θεωρούμε σωστή ;
ευχαριστώ
Αν με κάποιο τρόπο, ΑΠΑΙΤΕΙΤΑΙ από το μαθητή να επιλέξει την καταλληλότερη εντολή επανάληψης ( Διδακτικός στόχος #6 κεφ.8 ), τότε η δεύτερη λύση είναι η σωστή. Η άσκηση μπορεί να λυθεί με ΓΙΑ οπότε είναι η καταλληλότερη. Αν όμως ΔΕΝ απαιτείται η επιλογή της καταλληλότερης εντολής, τότε ΚΑΙ η πρώτη λύση είναι (ασφαλώς) σωστή.
Η ανάπτυξη της κριτικής σκέψης σε αυτό το θέμα (εντολές επανάληψης) προϋποθέτει πως μπορεί να σκεφτεί με τον εξής τρόπο:
1. Μπορώ να χρησιμοποιήσω ΓΙΑ;
=> επιλέγω την ΓΙΑ... break (ΤΕΛΟΣ ΣΚΕΨΗΣ)
2. Είναι σίγουρη η ΜΙΑ επανάληψη;
=> επιλέγω τη ΜΕΧΡΙΣ_ΟΤΟΥ... break (ΤΕΛΟΣ ΣΚΕΨΗΣ)
3. => επιλέγω την ΟΣΟ...
Αντίστοιχα, η ανάπτυξη της κριτικής σκέψης στο κεφάλαιο του τμηματικού προγραμματισμού (διδακτικός στόχος #2 του Κεφ.10) προϋποθέτει πως μπορεί να σκεφτεί:
1. Μπορώ να χρησιμοποιήσω συνάρτηση (επιστρέφει μια τιμή - ΔΕΝ επικοινωνεί με χρήστη - ΔΕΝ επιστρέφει τις τιμές εισόδου);
=> επιλέγω ΣΥΝΑΡΤΗΣΗ... break (ΤΕΛΟΣ ΣΚΕΨΗΣ)
2. => επιλέγω ΔΙΑΔΙΚΑΣΙΑ...