Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
για την «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» (ΑΕΠΠ)

Νέα 25 Ιουλ 11: Έκδοση 1.5.1 με υποστήριξη ψευδογλώσσας

Η εντολή ΓΙΑ

Η εντολή ΓΙΑ είναι η πιο απλή εντολή επανάληψης. Χρησιμοποιεί ένα μετρητή για να μετράει πόσες επαναλήψεις γίνονται. Επιλέγουμε να τη χρησιμοποιήσουμε όταν γνωρίζουμε από πριν πόσες επαναλήψεις θέλουμε.

Παράδειγμα:

ΠΡΟΓΡΑΜΜΑ ΗΕντολήΓια 
ΜΕΤΑΒΛΗΤΕΣ 
  ΠΡΑΓΜΑΤΙΚΕΣ: π 
ΑΡΧΗ 
  ΓΙΑ π ΑΠΟ 10 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -0.5 
    ΓΡΑΨΕ π 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 

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

  • Στο βιβλίο μαθητή το μέρος ΜΕ ΒΗΜΑ της εντολής ΓΙΑ αναφέρεται τέσσερις φορές χωρίς κάτω παύλα, ενώ σε όλες τις υπόλοιπες αναφορές των σχολικών εγχειριδίων είναι με κάτω παύλα. Έτσι ο Διερμηνευτής τα θεωρεί και τα δύο αποδεκτά εκτός εάν αλλάξετε τη σχετική επιλογή από το μενού Εργαλεία.
  • Αν το βήμα παραληφθεί, θεωρείται ίσο με 1.
  • Στα μέρη ΑΠΟ, ΜΕΧΡΙ και ΜΕ_ΒΗΜΑ μπορούν να χρησιμοποιηθούν ακέραιες ή πραγματικές εκφράσεις. Βέβαια αν ο μετρητής είναι ακέραιος, δεν επιτρέπεται πραγματική τιμή στο ΑΠΟ ή στο ΜΕ_ΒΗΜΑ. Οι εκφράσεις αυτές αποτιμούνται μία μόνο φορά, δηλαδή αν περιέχουν κλήση συνάρτησης αυτή θα καλεστεί μία φορά.
  • Η ΓΙΑ είναι η εντολή με τις πιο μεγάλες διαφορές στην υλοποίησή της στις γλώσσες προγραμματισμού Basic και Pascal (τη C τη βγάζω απ' έξω γιατί η for της δεν αντιστοιχεί ακριβώς με την έννοια του μετρητή, της αρχικής τιμής και της τιμής τέλους). Δηλαδή:
    • Στην Pascal δεν επιτρέπεται βήμα, παρά μόνο το -1 όταν κάνουμε downto αντί για to.
    • Μετά από ένα «for i := 1 to 10» στην Pascal το i είναι 10, ενώ στην Basic και στο Delphi είναι 11. Το τελευταίο ισχύει και στο Διερμηνευτή, για συμφωνία με το σχολικό βιβλίο.
    • Στο Delphi και στην Pascal αν δεν πρόκειται να γίνει καμιά επανάληψη (π.χ. for i := 1 to 0), η αρχική τιμή δεν ανατίθεται στο μετρητή. Στην Basic όπως και στο Διερμηνευτή ο μετρητής έτσι κι αλλιώς παίρνει την αρχική τιμή.

    Ουσιαστικά η μετάφραση του ΓΙΑ με χρήση της ΟΣΟ είναι:
      μετρητής <- έκφραση_αρχής
      τιμή_τέλους <- έκφραση_τέλους         !ΓΙΑ να μη γίνεται πολλές
      τιμή_βήματος <- έκφραση_βήματος              !φορές η αποτίμηση
      ΟΣΟ (μετρητής (>= Η <=) έκφραση_τέλους) ΕΠΑΝΑΛΑΒΕ
        εντολές
        μετρητής <- μετρητής + τιμή_βήματος
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Οι τιμή_τέλους, τιμή_βήματος είναι βοηθητικές μεταβλητές. Το (>= Η <=) εξαρτάται από την τιμή_βήματος. Αν είναι θετική, χρησιμοποιούμε το μικρότερο ή ίσο, αλλιώς το μεγαλύτερο ή ίσο.