Θα ήθελα τη γνώμη σας για ποιά από τις 2 προτεινόμενες λύσεις της παρακάτω άσκησης θεωρείτε ότι είναι καλύτερη να δείξουμε στους μαθητές ως τρόπο σκέψης?
Για αγνώστου πλήθους μαθητών να εισάγετε τον αριθμό μητρώου του μαθητή και το βαθμό του και να βρείτε το μέσο όρο βαθμολογίας όλων των μαθητών. Η διαδικασία να σταματά μόλις δοθεί αριθμός μητρώου <=0.
Να χρησιμοποιηθεί η εντολή Αρχή_Επανάληψης... Μέχρις_ότου.
1η ΛΥΣΗ
Μ<-0
Σ<-0
ΔΙΑΒΑΣΕ ΑΜ
Αρχή_Επανάληψης
ΑΝ ΑΜ>0 ΤΟΤΕ
ΔΙΑΒΑΣΕ Β
Σ<-Σ+Β
Μ<-Μ+1
ΔΙΑΒΑΣΕ ΑΜ
ΤΕΛΟΣ_ΑΝ
Μέχρις_ότου ΑΜ<=0
ΑΝ Μ>0 ΤΟΤΕ
ΜΟ<-Σ/Μ
ΤΕΛΟΣ_ΑΝ
2η ΛΥΣΗ
Μ<-0
Σ<-0
Αρχή_Επανάληψης
ΔΙΑΒΑΣΕ ΑΜ
ΑΝ ΑΜ>0 ΤΟΤΕ
ΔΙΑΒΑΣΕ Β
Σ<-Σ+Β
Μ<-Μ+1
ΤΕΛΟΣ_ΑΝ
Μέχρις_ότου ΑΜ<=0
ΑΝ Μ>0 ΤΟΤΕ
ΜΟ<-Σ/Μ
ΤΕΛΟΣ_ΑΝ
Εγώ θα το έκανα έτσι (παραλείπω αρχικοποιήσεις και διαίρεση στο τέλος):
Διάβασε ΑΜ
Αρχή_επανάληψης
Διάβασε Β
Σ<-Σ+Β
Μ<-Μ+1
Διάβασε ΑΜ
Μέχρις_ότου ΑΜ=<0
Όπου δέχτηκα ότι θα γίνει τουλάχιστο μια εισαγωγή. Αν ήθελα να πιάσω και την περίπτωση εισάγεται με την πρώτη κάτι μη θετικό θα το έκανα έτσι:
Διάβασε ΑΜ
Αν ΑΜ>0 τότε
Αρχή_επανάληψης
Διάβασε Β
Σ<-Σ+Β
Μ<-Μ+1
Διάβασε ΑΜ
Μέχρις_ότου ΑΜ=<0
Τέλος_αν
Γενικά μου αρέσουν οι κουβέντες για τρόπο σκέψης. Βασικά εκεί αναλώνω το μάθημα. Θα κοιτάξω αύριο να γράψω 2 λόγια για το πως λέω στα παιδιά να σκέφτονται σχεδιάζοντας αλγόριθμο σε μορφή ψευδογλώσσας.
Μου αρεσει περισσοτερο ο δευτερος τροπος που προτεινε ο κ. gpapargi...
Εμενα βεβαια μου αρεσει να κανω παντα ελεγχο ορθοτητας...
Προσωπικά διδάσκω τη δεύτερη λύση που προτείνεις. Διαβάζεις καταρχήν τη μεταβλητή ΑΜ και προστατεύεις τις εντολές μέσα στη δομή επανάληψης με τη χρήση Αν.
Σωστά.
ή και εναλλακτικά :
Αρχή_επανάληψης
Διάβασε ΑΜ
Αν ΑΜ>0 τότε
Διάβασε Β
Σ<-Σ+Β
Μ<-Μ+1
Τέλος_αν
Μέχρις_ότου ΑΜ=<0
Καλές γιορτές.
... χρωματισμόςή και εναλλακτικά :
Αρχή_επανάληψης
Διάβασε ΑΜ
Αν ΑΜ>0 τότε
Διάβασε Β
Σ<-Σ+Β
Μ<-Μ+1
Τέλος_αν
Μέχρις_ότου ΑΜ=<0