Η δομή ΓΙΑ
Ασκήσεις που λύνονται με τη δομή επανάληψης ΓΙΑ.
Να σημειωθεί ότι όταν στη δομή αυτή παραλείπεται το βήμα εννοείται ότι είναι ίσο με ένα(1).
Παρακάτω αναφέρονται ενδεικτικά 3 πιο βασικές κατηγορίες προβλημάτων που μπορούν να επιλυθούν με τη ΓΙΑ, δίνοντας κάποια παραδείγματα για πλήρη κατανόηση.
? Ακολουθίες αριθμών του τύπου :
1) S= 2+ 4+ 6 + ? + 200
2) S= 2 4 6 ? 20
3) S=18 + 15 + 12 + ? + 0
4) S= 33 + 73 + 113 + ? + 273
5) S= 5+ (½)2 + (1/4)2 + (1/6)2 + ? + (1/30)2
6) S= 33 + 73 + 113 + ? για 18 συνολικά διαδοχικούς όρους
ΛΥΣΕΙΣ
1) S? 0
Για Ι από 2 μέχρι 200 με βήμα 2
S?S+ Ι
Τέλος_Επανάληψης
Γράψε S
2) P? 1
Για Ι από 2 μέχρι 200 με βήμα 2
P?PI
Τέλος_Επανάληψης
Γράψε P
3) S? 0
Για Ι από 18 μέχρι 0 με βήμα -3
S?S + Ι
Τέλος_Επανάληψης
Γράψε S
4) S? 0
Για Ι από 3 μέχρι 27 με βήμα 4
S?S+ Ι^3
Τέλος_Επανάληψης
Γράψε S
5) S ?5
Για Ι από 2 μέχρι 30 με βήμα 2
S?S+ (1/Ι)^2
Τέλος_Επανάληψης
Γράψε S
6) S?0
X? 3
Για Ι από 1 μέχρι 18
S?S+ X^3
X ? X + 4
Τέλος_Επανάληψης
Γράψε S
? Η επαναληπτική δομή ΓΙΑ μπορεί να χρησιμοποιηθεί κυρίως όταν γνωρίζουμε εκ των προτέρων το πλήθος των επαναλήψεων ή μπορούμε να τον προσδιορίσουμε έμμεσα με κάποιο ?βηματισμό? για την είσοδο πολλών ? διαφορετικών δεδομένων.
Παράδειγμα : Να δίνονται τα ονόματα και οι μισθοί 15 υπαλλήλων μιας μικρής εταιρείας και να εμφανίζεται ο μέσος μισθός της εταιρείας.
ΛΥΣΗ
S? 0
Για Ι από 1 μέχρι 15
Διάβασε ΟΝΟΜ, ΜΙΣ
S?S+ ΜΙΣ
Τέλος_Επανάληψης
ΜΟ ?S/15
Γράψε ΜΟ
Εδώ όλες οι εντολές που βρίσκονται μέσα στη δομή θα εκτελεστούν 15 φορές.
? Επίσης μπορεί να υπάρξουν Εμφωλευμένες δομές επανάληψης ΓΙΑ.
Παράδειγμα 1.
Να υπολογίσουμε και να εμφανίσουμε την προπαίδεια των αριθμών μέχρι το 10.
Για Α από 1 μέχρι 10
Για Β από 1 μέχρι 10
P ?Α * Β
Γράψε P
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Εδώ κάθε φορά πρέπει να τελειώσει πρώτα η εσωτερική επανάληψη και μετά να αλλάξει τιμή του Α. Δηλαδή η εσωτερική επανάληψη θα γίνει 10 φορές επί 10 που είναι εξωτερική = 100 φορές θα εκτελεστούν οι εντολές που βρίσκονται μέσα και στις δύο δομές.
Παράδειγμα 2.
Να υπολογιστεί το άθροισμα : S= 2/1! + 2/2! + 2/3! + 2/4! + ?.. + 2/10!
Όπου ν! = 1 2 3 4 ν (π.χ. 4! = 1 2 3 4)
Για Ι από 1 μέχρι 12
P? 1
Για κ από 1 μέχρι Ι
P?P * κ
Τέλος_Επανάληψης
S?S + 2/P
Τέλος_Επανάληψης
Γράψε S
Εδώ η εσωτερική επανάληψη θα γίνει 12 φορές, καθώς και οι εντολές που είναι έξω από αυτήν. Ενώ για τις εντολές που είναι μέσα και στις δύο δομές, ο αριθμός των επαναλήψεων θα είναι κάθε φορά διαφορετικός γιατί εξαρτάται από τη τιμή που παίρνει η μεταβλητή Ι κάθε φορά.
Παράδειγμα 3.
Να γραφεί αλγόριθμος που εμφανίζει τα παρακάτω σχήματα από ?*?.
* * * * * * * * * * * * * * * * * * * * *
|
* * * * * * * * * * * * * * * * * * * * * |
καθώς και συνδιασμό των άνω σχημάτων .... ώστε να σχηματιστεί το γράμμα Κ από το σύμβολο ' * ' .