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

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

Οι τύποι δεδομένων της ΓΛΩΣΣΑΣ

Όταν λέμε τύπο δεδομένων, εννοούμε από ποιο σύνολο τιμών παίρνει τιμές μια έκφραση. Στη ΓΛΩΣΣΑ υπάρχουν τέσσερις τύποι δεδομένων:

  • ο ακέραιος, π.χ. -1234567890
  • ο πραγματικός, π.χ. 3.14
  • οι χαρακτήρες, π.χ. "Ν" ή 'Μυρτώ'
  • ο λογικός, δηλαδή ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ

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

  • Αν και προγραμματίζοντας στο χαρτί δεν αντιμετωπίζουμε πρόβλημα μεγέθους στους αριθμούς, στον υπολογιστή έχουμε πάντα περιορισμένο μέγεθος, όσο μεγάλο και αν είναι αυτό. Στην τρέχουσα υλοποίηση του Διερμηνευτή, οι ακέραιοι είναι από -9,223,372,036,854,775,808 μέχρι 9,223,372,036,854,775,807 (64 bit προσημασμένος) και οι πραγματικοί από 5.0 x 10^-324 μέχρι 1.7 x 10^308.
  • Πρόβλημα μεγέθους υπάρχει και στους πολύ μικρούς πραγματικούς αριθμούς. Δηλαδή ενώ στο σύνολο των πραγματικών αριθμών δε νοείται ο επόμενος του 1, στον υπολογιστή υπάρχει πάντα ο επόμενος του 1, και στην τρέχουσα υλοποίηση του Διερμηνευτή είναι ο 5.0 x 10^-324. Έτσι αν για παράδειγμα προσπαθήσουμε να προσθέσουμε έναν πολύ μικρό αριθμό στο 1, το άθροισμα θα είναι πάλι 1! Όταν το αποτέλεσμα κάποιας πράξης είναι τόσο μικρός αριθμός που δεν μπορεί να αναπαρασταθεί από τον υπολογιστή, προκύπτει λάθος εκτέλεσης.
  • Δεν υπάρχει διαφορετικός τύπος δεδομένων για ένα χαρακτήρα και για πολλούς χαρακτήρες (π.χ. char και string). Η σύγκριση μεταξύ των αλφαριθμητικών γίνεται σύμφωνα με τη διάταξη του προτύπου Unicode, και έτσι τα κεφαλαία είναι διαφορετικά από τα πεζά και τα τονισμένα διαφορετικά από τα άτονα.
  • Τα αλφαριθμητικά επιτρέπεται να περικλείονται είτε με απλά είτε με διπλά εισαγωγικά. Για να συμπεριλάβουμε ένα απλό εισαγωγικό σε ένα αλφαριθμητικό πρέπει να γράψουμε δύο απλά (π.χ. 'Γιάννενα πρώτα στ'' άρματα') εκτός αν περικλείεται από διπλά εισαγωγικά (π.χ."Γιάννενα πρώτα στ' άρματα"). Το αντίστροφο συμβαίνει για τα αλφαριθμητικά που περικλείονται από διπλά εισαγωγικά.
  • Οι πραγματικοί αριθμοί λόγω της περιορισμένης ακρίβειας δε συμπεριφέρονται πάντα όπως θα θέλαμε. Για παράδειγμα αν σε οποιαδήποτε γλώσσα προγραμματισμού προσθέσουμε στο 1 τριάντα φορές το 0.30 δεν θα πάρουμε το 10 αλλά το 10.000000001. Αυτό δημιουργεί προβλήματα σε εντολές επανάληψης, αφού μπορεί να γίνει μία επανάληψη λιγότερη ή περισσότερη. Ο Διερμηνευτής αντιμετωπίζει αυτό το πρόβλημα «περιορίζοντας» την ακρίβεια των πραγματικών σε συγκρίσεις. Για περισσότερες λεπτομέρειες δείτε την περιγραφή της επιλογής «Σημαντικά δεκαδικά ψηφία πραγματικών σε συγκρίσεις» στο αρχείο βοήθειας του Διερμηνευτή.