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

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

Η εντολή ΔΙΑΒΑΣΕ

Η εντολή ΔΙΑΒΑΣΕ διαβάζει από το πληκτρολόγιο μία λίστα μεταβλητών, χωρισμένων από κόμματα. Για να το επιτύχει αυτό, σε κάθε ΔΙΑΒΑΣΕ η αντίστοιχη γραμμή της καρτέλας «Οθόνη εκτέλεσης» χρωματίζεται για να προσελκύσει την προσοχή του χρήστη και η εκτέλεση του προγράμματος παύει μέχρι να εισαχθούν τα δεδομένα και να πατηθεί το [Enter]. Οι μεταβλητές αυτές μπορεί να είναι οποιουδήποτε τύπου δεδομένων, εκτός από λογικού.

Παράδειγμα:

ΠΡΟΓΡΑΜΜΑ ΗΕντολήΔΙΑΒΑΣΕ 
!Διαβάζει μία ακέραια μεταβλητή, μία πραγματική και μία
!αλφαριθμητική. Οι λογικές δεν είναι δυνατόν να διαβαστούν.
!Αντίθετα με τις περισσότερες γλώσσες προγραμματισμού, όταν
!μία ΔΙΑΒΑΣΕ έχει πολλά ορίσματα, αυτά πρέπει να εισαχθούν
!σε ξεχωριστές γραμμές (με [Enter] ανάμεσα από τα ορίσματα).
!Αυτό γίνεται για ευκολία των μαθητών, κοιτάξτε το εγχειρίδιο
!της Γλώσσας για περισσότερες πληροφορίες.
ΜΕΤΑΒΛΗΤΕΣ 
  ΑΚΕΡΑΙΕΣ: α 
  ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] 
  ΧΑΡΑΚΤΗΡΕΣ: κ 
ΑΡΧΗ 
  ΔΙΑΒΑΣΕ α, Π[23 DIV 3]              !διαβάζει το α και το Π[7]
  ΔΙΑΒΑΣΕ κ 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 

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

  • Δεν επιτρέπεται να διαβαστεί κάτι που δεν είναι μεταβλητή. Για παράδειγμα, η εντολή
      ΔΙΑΒΑΣΕ α + β, -π, 24, 'κείμενο'
    είναι τελείως λάθος.
  • Δεν είναι δυνατό να διαβαστούν λογικές μεταβλητές. Αντί αυτού μπορούμε να διαβάσουμε έναν ακέραιο ή ένα χαρακτήρα και στη συνέχεια να δώσουμε την αντίστοιχη τιμή στη λογική μεταβλητή με μια εντολή Αν, όπως στο πιο κάτω παράδειγμα:
    ΠΡΟΓΡΑΜΜΑ ΔιάβασμαΛογικήςΜεταβλητής 
    ΜΕΤΑΒΛΗΤΕΣ 
      ΑΚΕΡΑΙΕΣ: ι 
      ΛΟΓΙΚΕΣ: φύλο 
    ΑΡΧΗ 
      ΓΡΑΨΕ 'Δώσε 0 αν είσαι γυναίκα και 1 αν είσαι άντρας: ' 
      ΔΙΑΒΑΣΕ ι 
      ΑΝ ι = 0 ΤΟΤΕ 
        φύλο <- ΑΛΗΘΗΣ 
      ΑΛΛΙΩΣ 
        φύλο <- ΨΕΥΔΗΣ 
      ΤΕΛΟΣ_ΑΝ 
      !Η παραπάνω εντολή Αν ισοδυναμεί με την εντολή «φύλο <- ι = 0»
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 
  • Στο Διερμηνευτή υπάρχει η επιλογή να ελέγχονται τα δεδομένα κατά την είσοδο. Αυτό σημαίνει ότι αν το πρόγραμμα προσπαθεί να διαβάσει έναν ακέραιο, η περιοχή εισόδου δεν επιτρέπει να πατηθούν γράμματα παρά μόνο νούμερα. Αντίστοιχα στους πραγματικούς επιτρέπει και μία τελεία.
  • Σε εντολές του τύπου ΔΙΑΒΑΣΕ χ, ψ, ω δεν επιτρέπεται να εισαχθούν όλα τα δεδομένα σε μία γραμμή, αλλά πρέπει κάθε τιμή να εισάγεται χωριστά πατώντας ισάριθμες φορές το [Enter] (αντίθετα από τις περισσότερες γλώσσες προγραμματισμού). Αυτό γίνεται για ευκολία των μαθητών, και για να μη δημιουργηθούν προβλήματα: για παράδειγμα η παράλληλη χρήση των read και readln της Pascal μπερδεύει εύκολα ακόμα και πεπειραμένους προγραμματιστές, ενώ στην C η scanf δε μπορεί να διαβάσει αλφαριθμητικά που να περιέχουν κενά.
    Για του λόγου το αληθές: σε μια εντολή ΔΙΑΒΑΣΕ όνομα, ηλικία αν ο χρήστης έδινε «Άλκης Γεωργόπουλος 35» πού θα έπρεπε να σταματήσει το διάβασμα του αλφαριθμητικού;