ΓΙΑ ... ΑΠΟ ... ΜΕΧΡΙ ... ΜΕ_ΒΗΜΑ ...

Εντολή Επανάληψης ΓΙΑ

Η εντολή αυτή χρησιμοποιείται μόνο όταν γνωρίζουμε (ή μπορούμε να υπολογίσουμε) από την εκφώνηση του προβλήματος τον αριθμό των επαναλήψεων που χρειάζεται να πραγματοποιηθούν.

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

 

Σύνταξη στη ΓΛΩΣΣΑ

Διάγραμμα Ροής

Εντολές1

ΓΙΑ μ ΑΠΟ ατ ΜΕΧΡΙ ττ ΜΕ_ΒΗΜΑ β

 

Εντολές2

 

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

Εντολές3

Επεξηγήσεις

μ : μία μεταβλητή που χαρακτηρίζεται σαν μετρητής

ατ: η αρχική τιμή που παίρνει η μεταβλητή μ

ττ: η τελική τιμή που μπορεί να πάρει η μεταβλητή μ

β : το βήμα μεταβολής της μεταβλητής μ

Ο μετρητής μπορεί να είναι ακέραιος ή πραγματικός και είναι πάντα μεταβλητή. Η αρχική τιμή, η τελική τιμή και το βήμα μπορεί να είναι ακέραιοι ή πραγματικοί και μπορεί να είναι μεταβλητές ή σταθερές.


Πως δουλεύει:

1ο βήμα:

Εκτελούνται οι εντολές1 (πριν την επανάληψη).

 

2ο βήμα:

Δίνεται στη μεταβλητή μ η αρχική τιμή ατ <- ατ)

 

3ο βήμα:

Συγκρίνεται η τιμή της μεταβλητής μ με την τελική τιμή ττ. Πιο συγκεκριμένα, δημιουργείται και ελέγχεται η συνθήκη μ <= ττ, όταν το βήμα είναι θετικό (μ >= ττ όταν το βήμα είναι αρνητικό, οπότε η αρχική τιμή θα είναι μεγαλύτερη της τελικής τιμής).

 

4ο βήμα :


Αν η παραπάνω συνθήκη είναι αληθής τότε:
Εκτελείται η ομάδα εντολών 2 μέσα στην επανάληψη
Στο ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ, αυξάνεται (ή μειώνεται) η τιμή της μεταβλητής μ όσο ορίζει το βήμα β <- μ + β).
Ο έλεγχος επιστρέφει στο βήμα 3.

Αν η παραπάνω συνθήκη είναι Ψευδής τότε :

Εκτελούνται οι εντολές3 που είναι μετά την επανάληψη. Εδώ συνήθως γίνεται η παρουσίαση των αποτελεσμάτων του προβλήματος.


Παρατηρήσεις

  • Όταν χρησιμοποιείται οδηγεί σε πιο απλούς και κατανοητούς αλγορίθμους από την ΟΣΟ ή την ΜΕΧΡΙΣ_ΟΤΟΥ.
  • Οι εντολές μέσα στην επανάληψη μπορεί να μην εκτελεστούν καμία φορά
  • Το βήμα δεν μπορεί να πάρει την τιμή μηδέν (0) γιατί δημιουργείται πρόβλημα μη περατότητας
  • Όταν το βήμα είναι 1, μπορεί να παραληφθεί η έκφραση ΜΕ_ΒΗΜΑ. Κατά συνέπεια, όταν δεν βλέπουμε τη λέξη ΜΕ_ΒΗΜΑ, σημαίνει ότι το βήμα είναι 1
  • Η μεταβλητή μ αρχικά παίρνει την ατ, αλλά μπορεί να μη γίνει ποτέ ίση με την ττ. (π.χ. ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 4 ΜΕ_ΒΗΜΑ 2, το ι παίρνει τις τιμές 1,3,5
  • Το βήμα μπορεί να πάρει πραγματική τιμή
  • Αν δεν τροποποιείται το βήμα και η τελική τιμή (πράγμα που γενικά ισχύει) ο αριθμός των επαναλήψεων που πραγματοποιείται ισούται με Ακέραιο Μέρος του (τελική τιμή - αρχική τιμή)/βημα+1
  • Η μεταβλητή μ παίρνει από μόνη τις τιμές (αρχικά ίση με αρχική τιμή, στη συνέχεια αυξάνει κατά βήμα) χωρίς να υπάρχει εντολή εκχώρησης. Οι ενέργειες εκχώρησης είναι ενσωματωμένες στην εντολή ΓΙΑ



Παράδειγμα 1:

Στο παρακάτω πρόγραμμα δίνονται 10 ακέραιοι αριθμοί και υπολογίζεται πόσοι από αυτούς είναι άρτιοι:

ΠΡΟΓΡΑΜΜΑ Άρτιοι
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: π ,χ ,ι
ΑΡΧΗ
π← 0
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10
ΓΡΑΨΕ 'Δώσε τον ',ι, 'ο ακέραιο αριθμό: '
ΔΙΑΒΑΣΕ χ
ΑΝ χ MOD 2 = 0 ΤΟΤΕ
π←π+1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Άρτιοι : ',π
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Παράδειγμα 2:

Στο παρακάτω τμήμα προγράμματος υπολογίζεται το άθροισμα Σ=12+32+52+…+99


Σ<- 0

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100 ΜΕ_ΒΗΜΑ 2

α <- i ^ 2

Σ <- Σ + α

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

ΓΡΑΨΕ Σ