Αγαπητοί συνάδελφοι, κάνω post μία άσκηση που σκέφτηκα σχετικά με τη χρήση της εντολής Όσο ... Επανάλαβε η οποία θα βοηθήσει τους μαθητές να κατανοήσουν καλύτερα την έννοια του Μετρητή και του Αθροιστή.
Ας υποθέσουμε ότι ο τωρινός πληθυσμός της Ελλάδας είναι 11.000.000 κάτοικοι. Αν αυξάνεται κατά 7,5% ανά έτος, σε πόσα χρόνια θα ξεπεράσει τα 15.000.000; Να γραφεί σχετικός αλγόριθμος.
Αλγόριθμος Πληθυσμός
Αρχή
Π <-- 11000000
Χρόνια <-- 0
Όσο Π <= 15000000 Επανάλαβε
Π <-- Π + (Π * 7.5)/100
Χρόνια <-- Χρόνια + 1
Τέλος_Επανάληψης
Εμφάνισε "Ο πληθυσμός θα ξεπεράσει τα 15000000 σε ", Χρόνια, " χρόνια."
Τέλος Πληθυσμός
άλλος τρόπος
έστω x(i), x(i-1) ο πληθυσμός της ελλάδας σε δυο διαδοχικά έτη
άρα ισχύει
x(0) = 11000000
x(i) = (7.5/100)*x[i-1] + x(i-1) = (107.5/100)*x(i-1) = 1.075 * x(i-1) = 1.075^2 * x(i-2) = 1.075^i * x(0)
θέλουμε x(i) < 15000000 , δηλαδή 1.075^i * x(0) < 15000000 ή i < log(15000000/11000000) = log(15/11)
όπου log είναι με βάση 1.075 και υπολογίζεται από τον τύπο αλλαγή βάσης , μετά θέλουμε και ένα ακέραιο μέρος.
(η παραπάνω λύση είναι προσεγγιστική μπορεί να μου έχει ξεφύγει ένα +\- 1 ανάλογα με το αν ο αρχικός πληθυσμός θεωρηθεί ως x[0] ή x[1])
συνήθως αυτές οι ασκήσεις βγαίνουν και με άθροισμα όρων γεωμετρικής προόδου οπότε δεν ξέρω κατά πόσο αναδεικνύουν την χρησιμότητα των αλγορίθμων