Υπολογίζοντας το εμβαδό κάτω από την καμπύλη με την Πληροφορική των Πανελλαδικών

Στο μάθημα των Μαθηματικών Προσανατολισμού… Γ’ Λυκείου ο υπολογισμός του εμβαδού ανάμεσα σε μια καμπύλη και τον άξονα των x από μία τιμή α μέχρι μία τιμή β γίνεται κλασικά μέσω του υπολογισμού της έκφρασης του αόριστου ολοκληρώματος: αν αυτή η έκφραση είναι G(x), τότε το ζητούμενο εμβαδό είναι G(β)-G(α). Όμως, ο υπολογισμός της έκφρασης του αόριστου ολοκληρώματος δεν είναι πάντα εύκολη υπόθεση! Δοκιμάστε για παράδειγμα την ολοκλήρωση της παρακάτω συνάρτησης:

Ας δούμε ένα απλό πρόγραμμα στην Γλώσσα του μαθήματος της Πληροφορικής της Γ’ Λυκείου το οποίο μπορεί να χρησιμοποιηθεί για τoν υπολογισμό του εμβαδού όχι μόνο στην παραπάνω περίπτωση, αλλά και για κάθε συνάρτηση της οποίας δίνεται ο τύπος.

Το παραπάνω πρόγραμμα βασίζεται άμεσα στον ορισμό του ορισμένου ολοκληρώματος, ως το όριο του αθροίσματος των εμβαδών των ορθογωνίων στα οποία μπορεί να χωριστεί η επιφάνεια κάτω από την καμπύλη, καθώς το πλήθος αυτών των ορθογωνίων τείνει στο άπειρο (ισοδύναμα καθώς η ποσότητα δχ τείνει στο 0) – βλ. ενότητα 3.4, “Ορισμένο ολοκλήρωμα”, Μαθηματικά Γ’ Τάξης ΓΕΛ Ομάδας Προσανατολισμού... Από αυτόν τον ορισμό συνεπάγεται ότι μπορούμε να πετύχουμε όσο καλή προσέγγιση του εμβαδού θέλουμε επιλέγοντας μια ανάλογα μεγάλη τιμή του πλήθους των ορθογωνίων.

Το τελευταίο πλήθος εκφράζεται από την μεταβλητή ν στο παραπάνω πρόγραμμα, ενώ το εμβαδό του ι-οστού ορθογωνίου από την έκφραση f(α+ι*δχ)*δχ, όπου δχ είναι η μία διάσταση του ορθογωνίου και f(α+ι*δχ) η άλλη, όπου f είναι μία συνάρτηση με δεδομένο αναλυτικό τύπο, της οποίας κάποιο ορισμένο ολοκλήρωμα ζητείται– τέτοιες συναρτήσεις μπορούν εύκολα να κωδικοποιηθούν στην ΓλώσσαΗ μεταβλητή Σ κρατάει το άθροισμα των εμβαδών των ορθογωνίων.

Η μεταβλητή δχ είναι αντιστρόφως ανάλογη της μεταβλητής ν: όσο μεγαλύτερη η μία, τόσο μικρότερη η άλλη. Για την παραπάνω εμφανιζόμενη τιμή δχ=0.001 το πρόγραμμα δίνει ικανοποιητική επίλυση σε διάφορες περιπτώσεις, αλλά ανάλογα με το εύρος του διαστήματος [α, β] και την απαιτούμενη τιμή δχ, ο αριθμός ν μπορεί να υπερβαίνει το φράγμα 105. Η συγκεκριμένη τιμή επιλέχτηκε λόγω του ότι η υπολογιστική της αντιμετώπιση είναι εφικτή στους περισσότερους Η/Υ που κυκλοφορούν εκεί έξω. Φυσικά, μπορείτε να θέσετε μεγαλύτερη τιμή, ανάλογα και με τις δυνατότητες του υπολογιστή σας.

Ας δούμε το πρόγραμμά μας στην πράξη. Θα υπολογίσουμε το παρακάτω ολοκλήρωμα (το οποίο δεν μπορεί να υπολογιστεί με την μεθοδολογία που περιγράφεται στα Μαθηματικά Προσανατολισμού… της Γ’ ΓΕΛ ):

Κωδικοποιούμε την συνάρτηση f (και φυσικά θέτουμε α=0 και β=10):

Η εκτέλεση του προγράμματος στον Διερμηνευτή της Γλώσσας δίνει 0.88672693.  Δοκιμάζουμε μια μικρότερη τιμή για το δχ, 0.0001 και παίρνουμε 0.88627693. Παρατηρείστε ότι ο αριθμός αριστερά από την υποδιαστολή και τα τρία πρώτα δεκαδικά ψηφία δεν άλλαξαν, γεγονός που συνιστά μια ένδειξη (όχι όμως  και απόδειξη) ότι ο αριθμός αριστερά από την υποδιαστολή και τα τρία πρώτα δεκαδικά του αποτελέσματος είναι αυτά ακριβώς! Ας τσεκάρουμε το αποτέλεσμά μας με ένα καταξιωμένο λογισμικό όπως το Wolfram|Alpha, το οποίο δίνει 0.886227

(https://www.wolframalpha.com/input/?i=integrate+e%5E%28-x%5E2%29+from+0+to+10)

Ας δούμε ένα άλλο ολοκλήρωμα, το οποίο επίσης δεν φαίνεται και πολύ εύκολο:

Κωδικοποιούμε την συνάρτηση στην Γλώσσα:

Η εκτέλεση του προγράμματος για δχ=0.001 δίνει 3052491665.01952. Δοκιμάζουμε για μικρότερο δχ, 0.0001, και παίρνουμε 3056988940.38689. Παρατηρούμε ότι τα τρία πρώτα ψηφία αριστερά από την υποδιαστολή δεν άλλαξαν. Το Wolfram|Alpha δίνει 3057488912.86528.

(https://www.wolframalpha.com/input/?i=integrate+%CF%87%5E%CF%87+from+0+to+10)

Η ποσοστιαία απόκλιση της δεύτερης τιμής που έδωσε το πρόγραμμά μας από την τιμή του Wolfram|Alpha είναι 0.016%.

Μια άλλη (κάπως πιο εύκολη για τα Μαθηματικά) περίπτωση:

Η επίλυση του αόριστου ολοκληρώματος που δίνει το Wolfram|Alpha μοιάζει κάπως έτσι:

https://www.wolframalpha.com/input/?i=integrate+1%2F%28%28x-3%29%5E4%2B1%2F2%29

Διαμορφώνουμε την f στο πρόγραμμά μας:

Οπότε, με την εκτέλεση για δχ=0.001 παίρνουμε 3.72272538. Δοκιμάζουμε για δχ=0.0001 και παίρνουμε 3.72272005. Παρατηρούμε ότι η τιμή αριστερά από την υποδιαστολή και τα πέντε πρώτα δεκαδικά ψηφία δεν άλλαξαν. To Wolfram|Alpha δίνει 3.72272

(https://www.wolframalpha.com/input/?i=integrate+1%2F%28%28x-3%29%5E4%2B1%2F2%29+from+0+to+10 )

Ας δούμε, τέλος, και μια εύκολη (για τα Μαθηματικά) περίπτωση:

Κωδικοποιούμε την συνάρτηση:

Για δχ=0.001 παίρνουμε 333.283335. Για δχ=0.0001 παίρνουμε 333.32833335.  Από την γνωστή παράγουσα της συνάρτησης παίρνουμε 10^3/3 =333.3333…

Αξίζει να σημειώσουμε ότι ο κλάδος της Πληροφορικής που μελετάει τα προβλήματα της Ανάλυσης από καθαρά υπολογιστική σκοπιά – η οποία έχει και ιδιαίτερη σημασία για την επιστημονική μοντελοποίηση και έρευνα – ονομάζεται Αριθμητική Ανάλυση.

*Οι εικόνες του κώδικα του προγράμματος είναι screenshots από τον Διερμηνευτή της Γλώσσας

Γιώργος Μπουγιούκας

Το θέμα Γ των πανελλαδικών της ΑΕΠΠ και η ταξινόμηση φυσαλίδας (bubble sort)

Το πιο “δύσκολο” σημείο του θέματος Γ των φετινών πανελλαδικών (2017) ήταν κατά κοινή ομολογία η ιδιαίτερη μορφή ταξινόμησης η οποία ζητήθηκε στο υποερώτημα Γ3. Τέτοιου είδους προβλήματα (ταξινόμησης) γίνονται πολύ εύκολα αν θεωρήσουμε τον ακόλουθο γενικό ορισμό της ταξινόμησης:

α) Θεωρείστε έναν μονοδιάστατο πίνακα Α[μ] τύπου Τ.

β) Θεωρείστε μια συνάρτηση Διάταξη(χ1, χ2, …) λογικού τύπου με τουλάχιστον δύο τυπικές παραμέτρους (οι δύο πρώτες τύπου Τ), η οποία ορίζεται στην γλώσσα της ΑΕΠΠ για κάθε τιμή των παραμέτρων χ1, χ2, οι οποίες παίρνουν τιμές αποκλειστικά από τα στοιχεία του πίνακα Α. Θεωρείστε ότι για την συνάρτηση αυτή ισχύει, για κάποιες παραμέτρους π1, π2, π3:

i) Αν ισχύει Διάταξη(π1,π2,…) = Αληθής και Διάταξη(π2,π1,…) = Αληθής, τότε ισχύει π1=π2

ii) Αν ισχύει Διάταξη(π1,π2,…) = Αληθής και Διάταξη(π2, π3,…) = Αληθής, τότε ισχύει Διάταξη(π1,π3,…) = Αληθής

Σημειώνεται ότι η σημασία της έκφρασης Αν…, τότε … στα i) και ii) αμέσως παραπάνω δεν έχει καμία σχέση με την “δομή επιλογής” της Γλώσσας της ΑΕΠΠ, αλλά είναι η “λογική συνεπαγωγή” (γνωστή ίσως και από τα Μαθηματικά), η οποία συμβολίζεται συνήθως με “. Για κάθε ζεύγος προτάσεων (λογικών εκφράσεων) Α, Β ο πίνακας τιμών της λογικής συνεπαγωγής είναι:

Παρατηρούμε, δηλαδή, ότι η λογική συνεπαγωγή Α → Β είναι Ψευδής μόνο όταν η Α είναι Αληθής και η Β είναι Ψευδής.

Οπότε, η συνάρτηση Συνεπάγεται(Α,Β) μπορεί να κατασκευαστεί στην Γλώσσα της ΑΕΠΠ:

Μ’ αυτόν τον τρόπο, θεωρώντας τις λογικές μεταβλητές Α, Β, Γ και Δ οι παραπάνω δύο προϋποθέσεις i), ii) γράφονται (και απαιτείται να είναι Αληθείς) στην Γλώσσα της ΑΕΠΠ:

i) Συνεπάγεται(Α, Β), όπου:

Α <- Διάταξη(π1,π2,…) KAI Διάταξη(π2,π1,…) και

Β <- π1 = π2

ii) Συνεπάγεται(Γ, Δ), όπου

Γ <- Διάταξη(π1,π2,…) ΚΑΙ Διάταξη(π2, π3,…) και

Δ<- Διάταξη(π1,π3,…)

 

Ορισμός: ο πίνακας Α[μ] είναι ταξινομημένος σύμφωνα με την συνάρτηση Διάταξη(π1,π2,…) όταν για κάθε ζευγάρι διαδοχικών στοιχείων του πίνακα με δείκτες i και i -1, με 2i≤μ, ισχύει Διάταξη(Α[i-1], Α[i],…) = Αληθής.

Σημειώστε ότι ο παραπάνω ορισμός δεν είναι ταυτόσημος με τον ορισμό του σχολικού βιβλίου, ωστόσο μπορείτε να τον χρησιμοποιείτε ως μέθοδο για να λύνετε προβλήματα, στον βαθμό που δεν απαιτείται αιτιολόγηση.

Συνεπάγεται από τον παραπάνω ορισμό ότι:

Ο πίνακας Α[μ] δεν είναι ταξινομημένος σύμφωνα με την συνάρτηση Διάταξη(π1,π2,…) όταν υπάρχει (τουλάχιστον ένα) ζευγάρι διαδοχικών στοιχείων του πίνακα με δείκτες i και i -1, με 2≤i≤μ, τέτοιο ώστε Διάταξη(Α[i-1], Α[i],…) = Ψευδής.

Θεώρημα: Ο πίνακας Α μπορεί να ταξινομηθεί σύμφωνα με την συνάρτηση Διάταξη(π1,π2,…) με τον παρακάτω αλγόριθμο, τον οποίο θα ονομάζαμε “γενικό αλγόριθμο ταξινόμησης φυσαλίδας”:

Όπου η διαδικασία ΑΝΤΙΜΕΤΑΘΕΣΕ ορίζεται ως εξής, για κάθε τύπο Τ δεδομένων της Γλώσσας:

Για παράδειγμα, αν θεωρήσουμε ότι ο πίνακας Α είναι πίνακας ακεραίων, τότε η συνάρτηση Διάταξη η οποία αντιστοιχεί στην γνωστή αύξουσα ταξινόμηση ακεραίων του πίνακα είναι:

Ας δούμε τώρα όμως την περίπτωση του υποερωτήματος Γ3. Εύκολα μπορούμε να διαπιστώσουμε ότι η συνάρτηση Διάταξη(χ1,χ2,…) η οποία αντιστοιχεί στην συγκεκριμένη περίπτωση είναι:

Και ο γενικός αλγόριθμος φυσαλίδας για αυτήν την περίπτωση:

Ένα επιπλέον παράδειγμα:

Δίνεται πίνακας χαρακτήρων Π[100] με κάθε στοιχείο να παίρνει μία από τις ακόλουθες τρεις δυνατές τιμές: “Πρώτος”, “Δεύτερος”, “Τρίτος”. Να κατασκευάσετε τμήμα προγράμματος, το οποίο να αναδιατάσσει τον πίνακα Π έτσι ώστε όλα τα στοιχεία με την τιμή “Πρώτος” να βρίσκονται στην αρχή του πίνακα, να ακολουθούν όλα τα στοιχεία με την τιμή “Δεύτερος” και στο τέλος όλα τα στοιχεία με την τιμή “Τρίτος”.

Θεωρούμε την παρακάτω συνάρτηση Διάταξη(χ1,χ2):

Και την χρησιμοποιούμε στον “γενικό αλγόριθμο ταξινόμησης φυσαλίδας”:

Φυσικά, όπως σε κάθε περίπτωση, μπορούμε να μην εμφανίσουμε “ρητά” την συνάρτηση Διάταξη:

Γιώργος Μπουγιούκας

Σχετικά με το θέμα Α1 των πανελλαδικών της ΑΕΠΠ του 2017

Στο φετινό θέμα Α1 των πανελλαδικών της ΑΕΠΠ το πρώτο  υποερώτημα αφορούσε την ισχύ της ισοδυναμίας δύο λογικών εκφράσεων:

Η έκφραση ΟΧΙ(Κ=10 ΚΑΙ Χ>7) είναι ισοδύναμη με την έκφραση (Κ<>10 Ή Χ<=7)” (Σωστό ή Λάθος)

Η παραπάνω ισοδυναμία συνεπάγεται από τον έναν από τους δύο γνωστούς στην Πληροφορική “νόμους De Morgan”, για κάθε λογική έκφραση Α, για κάθε λογική έκφραση Β:

(ΟΧΙ (Α ΚΑΙ Β)) ↔ ((ΟΧΙ Α) Ή (ΟΧΙ Β))

(ΟΧΙ (Α Ή Β)) ↔ ((ΟΧΙ Α) ΚΑΙ (ΟΧΙ Β))

Θυμίζει λίγο την γνωστή “επιμεριστική” ιδιότητα, με τον τελεστή ΟΧΙ να εφαρμόζεται σε κάθε έναν από τους τελεστέους των τελεστών ΚΑΙ/Ή στο πρώτο μέλος της ισοδυναμίας, και με τον τελεστή ΚΑΙ να μετατρέπεται σε Ή, ενώ τον Ή να μετατρέπεται σε ΚΑΙ στο δεύτερο μέλος.

Αν και ο τελεστής της λογικής ισοδυναμίας “↔”  δεν ορίζεται ως λογικός τελεστής στην Γλώσσα της ΑΕΠΠ,  τον ρόλο αυτού του τελεστή στην τελευταία αναλαμβάνει ο γνωστός λογικός τελεστής της ισότητας “=”, όπως θα δούμε παρακάτω. Οπότε, οι νόμοι De Morgan στην Γλώσσα της ΑΕΠΠ γράφονται (και είναι Αληθείς), για κάθε λογική έκφραση Α, για κάθε λογική έκφραση Β:

(ΟΧΙ (Α ΚΑΙ Β)) = ((ΟΧΙ Α) Ή (ΟΧΙ Β))

(ΟΧΙ (Α Ή Β)) = ((ΟΧΙ Α) ΚΑΙ (ΟΧΙ Β))

Αντικαθιστώντας την λογική έκφραση Α με την λογική έκφραση Κ=10, την Β με την Χ>7 (αφού οι παραπάνω νόμοι ισχύουν για κάθε ζεύγος λογικών εκφράσεων Α, Β) και εφαρμόζοντας τον πρώτο νόμο De Morgan παραπάνω, παίρνουμε:

(ΟΧΙ(Κ=10 ΚΑΙ Χ>7)) = ((ΟΧΙ Κ=10) Ή (ΟΧΙ Χ>7)) →

((ΟΧΙ Κ=10) Ή (ΟΧΙ Χ>7)) = (Κ <> 10 Ή Χ <= 7)

Ωστόσο, οι νόμοι De Morgan δεν διδάσκονται στην δευτεροβάθμια εκπαίδευση, οπότε το πρόβλημα μπορεί να αντιμετωπιστεί με τη χρήση πίνακα παρόμοιου με αυτόν ο οποίος δίνεται στην σελ. 43 του σχολικού βιβλίου της ΑΕΠΠ, για κάθε διάταξη τιμών (“αποτίμηση”) των λογικών εκφράσεων (ή “προτάσεων”) Α, Β.

Πίνακας τιμών για τις λογικές πράξεις Ή, ΚΑΙ και ΟΧΙ, σελ. 43 σχολικού βιβλίου ΑΕΠΠ (η σκίαση με μπλε και κόκκινο χρώμα δική μου)

Ένας τέτοιος πίνακας λοιπόν μπορεί να κατασκευαστεί όχι μόνο για τις λογικές εκφράσεις “Α Ή Β”, “Α ΚΑΙ Β” και “ΌΧΙ Α”, αλλά…για κάθε λογική έκφραση!

Πριν κατασκευάσουμε όμως έναν τέτοιο πίνακα για τις δύο λογικές εκφράσεις του παραπάνω υποερωτήματος των πανελλαδικών του 2017, ας δούμε την έννοια της λογικής ισοδυναμίας. Η λογική ισοδυναμία (ή απλά «ισοδυναμία») ορίζεται ως εξής: δύο προτάσεις (ή λογικές εκφράσεις) είναι ισοδύναμες όταν είναι και οι δύο Αληθείς ή όταν είναι και οι δύο Ψευδείς. Με άλλα λόγια δύο προτάσεις είναι λογικά ισοδύναμες όταν είναι…λογικά ίσες! Επομένως, στην Γλώσσα της ΑΕΠΠ η λογική ισοδυναμία μεταξύ δύο λογικών εκφράσεων εκφράζεται με τον τελεστή της ισότητας “=”! Δίνεται παρακάτω ο πίνακας τιμών της λογικής ισοδυναμίας:

Πίνακας τιμών της λογικής ισοδυναμίας

Ας δούμε τώρα όμως τον πίνακα τιμών για τις λογικές εκφράσεις του θέματος Α1.

Πίνακας τιμών των λογικών εκφράσεων του πρώτου υποερωτήματος του θέματος Α1 των πανελλαδικών της ΑΕΠΠ του 2017

Παρατηρούμε ότι για κάθε αποτίμηση των λογικών εκφράσεων Κ=10” και “Χ>7”, οι τιμές των λογικών εκφράσεων “ΟΧΙ (Κ=10 ΚΑΙ Χ>7)” και “Κ<>10 Ή Χ <= 7” είναι ίσες, άρα οι λογικές αυτές εκφράσεις είναι ισοδύναμες.

Γιώργος Μπουγιούκας

Πίνακας προτεραιότητας (ιεραρχίας) τελεστών Γλώσσας*

prec

*Σύμφωνα με τις Οδηγίες Μελέτης Μαθητή (σελ.10 και σελ. 12). Το βιβλίο μαθητή της ΑΕΠΠ δεν καθορίζει προτεραιότητα μεταξύ των λογικών τελεστών.

Ακριβής λειτουργία της δομής επανάληψης ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ…ΜΕ_ΒΗΜΑ

Τελευταία ενημέρωση 22/9/2016

Θεωρούμε τις ακέραιες* μεταβλητές ι, α, β, γ με τον περιορισμό γ≠0 και την γενική μορφή αυτής της δομής επανάληψης:

(*Σημείωση: Οι μεταβλητές ι, α, β και γ μπορεί να είναι και πραγματικές. Η γενική λογική παραμένει η ίδια με την διαφορά ότι ο τύπος α + (Α_Τ(α – β)  DIV  Α_Τ(γ) + 1) * γ ο οποίος παρουσιάζεται παρακάτω δεν ισχύει σ’ αυτήν την περίπτωση)

ΓΙΑ  ι  ΑΠΟ  α  ΜΕΧΡΙ  β  ΜΕ_ΒΗΜΑ  γ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Η ακριβής λειτουργία αυτής της δομής επανάληψης είναι η εξής (με την αυστηρή σειρά βημάτων που υποδεικνύει ο παρακάτω αλγόριθμος):

1) Εκχώρησε στην μεταβλητή ι την τιμή της α.

2)

α) Εάν η μεταβλητή γ (βήμα) είναι θετική

Εάν η λογική συνθήκη ι <= β (η ι είναι μικρότερη ή ίση της β) είναι αληθής, τότε εκτέλεσε το σώμα του βρόγχου, αλλιώς τερμάτισε την δομή επανάληψης (οπότε το πρόγραμμα συνεχίζεται με τις εντολές που βρίσκονται ακριβώς μετά την εντολή “ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ”)

β) Εάν η μεταβλητή γ (βήμα) είναι αρνητική

Εάν η λογική συνθήκη ι >= β (η ι είναι μεγαλύτερη ή ίση της β) είναι αληθής, εκτέλεσε το σώμα του βρόγχου, αλλιώς τερμάτισε την δομή επανάληψης (οπότε το πρόγραμμα συνεχίζεται με τις εντολές που βρίσκονται ακριβώς μετά την εντολή “ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ”).

3) Εκχώρησε στην τιμή του ι την τρέχουσα τιμή του ι συν την τιμή του βήματος:

ι  <-  ι + γ

(Αν το γ (βήμα) είναι αρνητικό, πχ -4, έχουμε ι  <-  ι + (-4), ή ισοδύναμα    ι  <-  ι – 4 )

4) Πήγαινε στο βήμα 2).

Σημείωση 1:

Για την δομή επανάληψης ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ…ΜΕ_ΒΗΜΑ είναι δυνατό να μην εκτελεστεί καμία (!) επανάληψη, εάν η λογική συνθήκη που ελέγχεται είναι ψευδής χωρίς να έχει εκτελεστεί προηγούμενα καμία επανάληψη. Αυτό γενικά είναι “νόμιμο” και μάλιστα χρήσιμο σε πολλές περιπτώσεις τόσο στην Γλώσσα όσο και σε πραγματικές γλώσσες προγραμματισμού.

Σημείωση 2:

Ακριβώς μετά τον τερματισμό της δομής επανάληψης η μεταβλητή ι έχει τιμή:

α) Εάν δεν έχει εκτελεστεί καμία επανάληψη (δηλαδή αν ι =α )

Ίση με το α

Σημείωση:

Μετά το τέλος της  δομής επανάληψης ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ…ΜΕ_ΒΗΜΑ δεν έχει εκτελεστεί καμία επανάληψη αν και μόνο αν η λογική συνθήκη ι=α είναι αληθής.

β) Εάν έχει εκτελεστεί τουλάχιστον μία επανάληψη (δηλαδή αν ι <> α)

Ίση με  α + (Α_Τ(α – β)  DIV  Α_Τ(γ) + 1) * γ

(όπου Α_Τ η ενσωματωμένη συνάρτηση που επιστρέφει την απόλυτη τιμή της παραμέτρου)

Σημείωση:

Μετά το τέλος της  δομής επανάληψης ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ…ΜΕ_ΒΗΜΑ έχει εκτελεστεί τουλάχιστον μία επανάληψη αν και μόνο αν η λογική συνθήκη ι<>α είναι αληθής.

Παραδείγματα

A)

ΓΙΑ ι ΑΠΟ 5 ΜΕΧΡΙ 3
ΓΡΑΨΕ ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Έχουμε δηλαδή:

α = 5
β = 3
γ = 1

Με την εφαρμογή του παραπάνω αλγορίθμου έχουμε:

1) Η μεταβλητή ι παίρνει την τιμή 5

2) Ελέγχεται η συνθήκη 5 <= 3 η οποία είναι ψευδής και η δομή επανάληψης τερματίζει.

Βλέπουμε δηλαδή ότι δεν εκτελείται καμία επανάληψη.

Κατά την συνέχεια του προγράμματος η μεταβλητή ι θα έχει τιμή σύμφωνα με τα παραπάνω:
ίση με α, δηλαδή 5

Β)

ΓΙΑ ι ΑΠΟ 5 ΜΕΧΡΙ 15 ΜΕ_ΒΗΜΑ 5
ΓΡΑΨΕ ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Έχουμε δηλαδή:

α = 5
β = 15
γ = 5

Με την εφαρμογή του παραπάνω αλγορίθμου έχουμε:

1) Η μεταβλητή ι παίρνει την τιμή 5

2) Ελέγχεται η συνθήκη 5 <= 15 η οποία είναι Αληθής, άρα εκτελείται το σώμα του βρόγχου:

Εμφανίζεται στην οθόνη η τιμή του ι, δηλαδή 5.

3) Η τιμή του ι αυξάνεται κατά 5, δηλαδή γίνεται 10.

4) Ελέγχεται η συνθήκη 10 <= 15 η οποία είναι Αληθής, άρα εκτελείται το σώμα του βρόγχου:

Εμφανίζεται στην οθόνη η τιμή του ι, δηλαδή 10.

5) Η τιμή του ι αυξάνεται κατά 5, δηλαδή γίνεται 15.

6) Ελέγχεται η συνθήκη 15 <= 15 η οποία είναι Αληθής, άρα εκτελείται το σώμα του βρόγχου:

Εμφανίζεται στην οθόνη η τιμή του ι, δηλαδή 15.
.
7) Η τιμή του ι αυξάνεται κατά 5, δηλαδή γίνεται 20.

8) Ελέγχεται η συνθήκη 20 <= 15 η οποία είναι Ψευδής, άρα η δομή επανάληψης τερματίζει.

Άρα, κατά την συνέχεια του προγράμματος η μεταβλητή ι θα έχει τιμή 20, αυτό όμως μπορεί να υπολογιστεί σύμφωνα με τον παραπάνω τύπο και χωρίς την προηγούμενη προσομοίωση εκτέλεσης του αλγορίθμου:

5 + (Α_Τ(5 – 15)  DIV  Α_Τ(5) + 1) * 5 = 5 + (Α_Τ(-10)  DIV  Α_Τ(5) + 1) * 5 =
5 + (10 DIV  5 + 1) * 5 = 5 + (2 + 1) * 5 = 5 + (2 + 1) * 5 = 5+3*15  = 5+15 = 20

Γ)

ΓΙΑ ι ΑΠΟ -5 ΜΕΧΡΙ -2 ΜΕ_ΒΗΜΑ -1
ΓΡΑΨΕ ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Έχουμε δηλαδή:

α = -5
β = -2
γ = -1

Με την εφαρμογή του παραπάνω αλγορίθμου έχουμε:

1) Η μεταβλητή ι παίρνει την τιμή -5

2) Ελέγχεται η συνθήκη -5 >= -2 η οποία είναι ψευδής και η δομή επανάληψης τερματίζει.

Βλέπουμε δηλαδή ότι δεν εκτελείται καμία επανάληψη.

Κατά την συνέχεια του προγράμματος η μεταβλητή ι θα έχει τιμή σύμφωνα με τα παραπάνω:
ίση με α, δηλαδή -5

Δ)

ΓΙΑ ι ΑΠΟ -5 ΜΕΧΡΙ -8 ΜΕ_ΒΗΜΑ -2
ΓΡΑΨΕ ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Έχουμε δηλαδή:

α = -5
β =  -8
γ = -2

Με την εφαρμογή του παραπάνω αλγορίθμου έχουμε:

1) Η μεταβλητή ι παίρνει την τιμή -5

2) Ελέγχεται η συνθήκη -5 >= -8 η οποία είναι Αληθής, άρα εκτελείται το σώμα του βρόγχου:

Εμφανίζεται στην οθόνη η τιμή του ι, δηλαδή -5.

3) Η τιμή του ι μειώνεται κατά 2, δηλαδή γίνεται -7.

4) Ελέγχεται η συνθήκη -7 >= -8 η οποία είναι Αληθής, άρα εκτελείται το σώμα του βρόγχου:

Εμφανίζεται στην οθόνη η τιμή του ι, δηλαδή -7.

5) Η τιμή του ι μειώνεται κατά -2, δηλαδή γίνεται -9.

6) Ελέγχεται η συνθήκη -9 >= -8 η οποία είναι Ψευδής, άρα η δομή επανάληψης τερματίζει.

Άρα, κατά την συνέχεια του προγράμματος η μεταβλητή ι θα έχει τιμή -9, αυτό όμως μπορεί να υπολογιστεί σύμφωνα με τον παραπάνω τύπο και χωρίς την προηγούμενη προσομοίωση εκτέλεσης του αλγορίθμου:

-5 + (Α_Τ(-5 – (-8))  DIV  Α_Τ(-2) + 1) * (-2) = -5 + (Α_Τ(-5 + 8)  DIV  Α_Τ(-2) + 1)* (-2)=
-5 + (Α_Τ(3)  DIV  Α_Τ(-2) + 1) * (-2) = -5 + (3  DIV 2 + 1) * (-2) = -5 + (1 + 1) * (-2) =
-5 + 2 * (-2) = -5-4 = -9

Ιστορικό σημείωμα

Μια πρώιμη μορφή της δομής επανάληψης ΓΙΑ…ΑΠΟ…ΜΕΧΡΙ…ΜΕ_ΒΗΜΑ εμφανίστηκε στον χώρο των μαθηματικών το 1931 με την ονομασία «πρωτόγονη αναδρομική συνάρτηση» κατά την δημοσίευση των αποδείξεων των θεωρημάτων μη-πληρότητας του Κουρτ Γκέντελ. Οι πρωτόγονες αναδρομικές συναρτήσεις είχαν προταθεί 8 χρόνια νωρίτερα από τον Σκόλεμ.