New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
ΓΛΩΣΣΑ - Βικιπαίδεια

ΓΛΩΣΣΑ

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Το άρθρο αυτό αναφέρεται σε γλώσσα προγραμματισμού σχεδιασμένη για εκπαιδευτικούς σκοπούς, για άλλες σημασίες δείτε γλώσσα (αποσαφήνιση)

Στην δευτεροβάθμια εκπαίδευση της Ελλάδας διδάσκεται ως γλώσσα προγραμματισμού η ΓΛΩΣΣΑ, που περιγράφεται στο βιβλίο "Ανάπτυξη εφαρμογών σε Προγραμματιστικό Περιβάλλον".

Τα προγράμματα που γράφουν οι μαθητές της τεχνολογικής κατεύθυνσης της Γ’ Λυκείου, όταν εφαρμόζουν αλγόριθμους, και τα θέματα των πανελλαδικών εξετάσεων στο σχετικό μάθημα, γράφονται στην ΓΛΩΣΣΑ.

Πίνακας περιεχομένων

[Επεξεργασία] Σύνταξη των εντολών

Η γλώσσα προγραμματισμού ΓΛΩΣΣΑ σχεδιάστηκε για εκπαιδευτικούς λόγους, οπότε διαθέτει μόνο τις εντελώς απαραίτητες εντολές για να εξασκηθούν οι μαθητές στον προγραμματισμό ηλεκτρονικών υπολογιστών.

Οι εντολές μπορεί να έχουν ισχύ κατά την φάση της μετάφρασης του προγράμματος, και λέγονται δηλωτικές, ή μπορεί να έχουν ισχύ κατά την φάση της εκτέλεσης του προγράμματος, και λέγονται εκτελέσιμες.

Ο γενικός κανόνας είναι ότι οι δηλωτικές μπαίνουν στην αρχή του προγράμματος (ή διαδικασίας ή συνάρτησης), ακολουθούν οι εκτελέσιμες και τελευταία είναι η εντολή ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ή ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ).

Ακολουθεί πίνακας με τις εντολές της ΓΛΩΣΣΑΣ και παρακάτω περιγράφεται η σημασία μερικών από αυτές.

Δηλωτικές εντολές της ΓΛΩΣΣΑΣ
ΠΡΟΓΡΑΜΜΑ ή ΔΙΑΔΙΚΑΣΙΑ ή ΣΥΝΑΡΤΗΣΗ
ΣΤΑΘΕΡΕΣ
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ:
 ΠΡΑΓΜΑΤΙΚΕΣ:
 ΧΑΡΑΚΤΗΡΕΣ:
 ΛΟΓΙΚΕΣ:
ΑΡΧΗ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ή ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ή ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Εκτελέσιμες εντολές της ΓΛΩΣΣΑΣ
ΓΡΑΨΕ
ΔΙΑΒΑΣΕ
ΚΑΛΕΣΕ
ΑΝ σ ΤΟΤΕ
 ΑΛΛΙΩΣ_ΑΝ σ ΤΟΤΕ
 ΑΛΛΙΩΣ
ΤΕΛΟΣ_ΑΝ
ΕΠΙΛΕΞΕ
 ΠΕΡΙΠΤΩΣΗ
 ΑΛΛΙΩΣ
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
ΓΙΑ τ1 ΑΠΟ τ2 ΜΕΧΡΙ τ3 ΜΕ_ΒΗΜΑ τ4
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΟΣΟ σ ΕΠΑΝΑΛΑΒΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΜΕΧΡΙΣ_ΟΤΟΥ σ

[Επεξεργασία] Επιτρεπτοί χαρακτήρες στην ΓΛΩΣΣΑ

Για το γράψιμο των εντολών χρησιμοποιούνται οι παρακάτω χαρακτήρες:

  • γράμματα λατινικά : κεφαλαία A – Z και πεζά a – z
  • γράμματα ελληνικά : κεφαλαία Α – Ω και πεζά α – ω (και τονούμενα και το τελικό ς)
  • ψηφία : 0123456789
  • σημεία στίξης : ( ) * + – / = . , • ‘ !
  • και το κενό διάστημα (space).

Σημειώνουμε ότι μπορούμε να χρησιμοποιήσουμε οποιονδήποτε (σχεδόν) χαρακτήρα του κώδικα που αναγνωρίζει ο υπολογιστής μας μέσα σε σχόλια (γραμμές που έχουν πρώτον χαρακτήρα το !), μέσα σε σταθερές και μεταβλητές που περιέχουν σειρές χαρακτήρων.

Η ΓΛΩΣΣΑ έχει ελεύθερο τρόπο γραφής του προγράμματος, δηλαδή δεν υποχρεώνει ένα τμήμα της εντολής να περιέχεται σε συγκεκριμένο τμήμα της εγγραφής. Αν μια εγγραφή αποτελείται από κενά ή έχει πρώτον χαρακτήρα !, η εγγραφή θεωρείται ότι περιέχει σχόλια. Τα σχόλια και τα κενά αγνοούνται κατά την εκτέλεση, εκτός αν τα κενά βρίσκονται μέσα σε σταθερές χαρακτήρων. Εγγραφές με σχόλια μπορούν να βρίσκονται οπουδήποτε στο πρόγραμμα πριν από την εντολή

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

[Επεξεργασία] Εκχώρηση τιμής

Η εντολή εκχώρησης τιμής έχει σύμβολο το '\leftarrow' και γράφεται έτσι:

Ν \leftarrow (Ν + 2)

και σημαίνει κάνε τις πράξεις στην έκφραση στο δεξιό μέρος και βάλε την προκύπτουσα τιμή στην μεταβλητή που βρίσκεται στο αριστερό μέρος.

[Επεξεργασία] Προγράμματα και υποπρογράμματα

Στην ΓΛΩΣΣΑ υπάρχουν τα κύρια προγράμματα και δυο είδη υποπρογραμμάτων, οι διαδικασίες και οι συναρτήσεις. Το πρόγραμμα, η διαδικασία και η συνάρτηση έχουν οπωσδήποτε όνομα.

Η εκτέλεση ξεκινάει από το κύριο πρόγραμμα, που αρχίζει με την εντολή

ΠΡΟΓΡΑΜΜΑ όνομα_προγράμματος

και όταν χρειάζεται να καλέσει μια διαδικασία, χρησιμοποιεί την εντολή

ΚΑΛΕΣΕ όνομα_διαδικασίας (λίστα_παραμέτρων)

και τελειώνει με την εντολή

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Μια διαδικασία της ΓΛΩΣΣΑΣ αρχίζει με την εντολή

ΔΙΑΔΙΚΑΣΙΑ όνομα_διαδικασίας (λίστα_παραμέτρων)

και τελειώνει με την εντολή

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

η οποία δίνει τον έλεγχο της εκτέλεσης πίσω, στο πρόγραμμα που κάλεσε την διαδικασία.

Στις εκφράσεις μπορεί να περιλαμβάνεται κάποια συνάρτηση της ΓΛΩΣΣΑΣ. Η απλή αναφορά του ονόματός της δίνει τον έλεγχο σε ένα υποπρόγραμμα - συνάρτηση, που αρχίζει με την εντολή

ΣΥΝΑΡΤΗΣΗ όνομα_συνάρτησης (λίστα_παραμέτρων) : τύπος_συνάρτησης

ενδιάμεσα η μεταβλητή όνομα_συνάρτησης παίρνει οπωσδήποτε τιμή

όνομα_συνάρτησης \leftarrow τιμή

και η συνάρτηση τελειώνει με την εντολή

ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

η οποία επιστρέφει μια τιμή (δες παρακάτω για τον τύπο της συνάρτησης, ΑΚΕΡΑΙΑ, ΠΡΑΓΜΑΤΙΚΗ, ΛΟΓΙΚΗ, κλπ, και της τιμής της) στην έκφραση που την χρησιμοποίησε.

Το πέρασμα παραμέτρων σε υποπρογράμματα της ΓΛΩΣΣΑΣ δεν γίνεται με αναφορά ούτε με τιμή αλλά με τρόπο γνωστό ως πέρασμα με αντιγραφή (copy in - copy out).

[Επεξεργασία] Δηλωτικές και εκτελέσιμες εντολές

Μέσα σε ένα πρόγραμμα (ή υποπρόγραμμα) δηλώνουμε πρώτα ποιες σταθερές και ποιες μεταβλητές θα χρησιμοποιήσουμε, καθώς και τον τύπο καθεμιάς μεταβλητής. Οι δηλωτικές εντολές γράφονται πρώτες και ακολουθούν οι εκτελέσιμες. Ο διαχωρισμός γίνεται με την εντολή

ΑΡΧΗ

[Επεξεργασία] Δήλωση τύπου

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

ΠΡΟΓΡΑΜΜΑ ΔΕΙΓΜΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α, β, γ[3, 6, 9]
  ΠΡΑΓΜΑΤΙΚΕΣ: δ, ε[10], ζ
  ΧΑΡΑΚΤΗΡΕΣ: η, θ, ι
  ΛΟΓΙΚΕΣ: κ, λ, μ
ΑΡΧΗ

[Επεξεργασία] Δομικά στοιχεία προγράμματος

Η δόμηση ενός προγράμματος πρέπει να είναι όσο το δυνατό απλούστερη. Κάθε πρόγραμμα μπορεί να φτιαχτεί με χρήση τριών μόνο απλών σχηματισμών, της ακολουθίας, του βρόχου και της επιλογής.

[Επεξεργασία] Ακολουθία

Αν χρειάζονται δυο βήματα για να λυθεί ένα πρόβλημα, και πρέπει να εκτελεστούν πρώτα το ένα και μετά το άλλο, λέμε ότι έχουμε τον σχηματισμό της ακολουθίας (sequence) των βημάτων. Γράφουμε πρώτα τις εντολές του πρώτου βήματος και από κάτω συνεχίζουμε γράφοντας τις εντολές του δεύτερου βήματος.

[Επεξεργασία] Βρόχος

Όταν πρέπει μια ομάδα εντολών να εκτελεστεί επαναληπτικά, έχουμε τον σχηματισμό του βρόχου (loop). Μια συνθήκη, (που ισχύει ή δεν ισχύει, που είναι ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ), καθορίζει αν επιτρέπεται οι εντολές του βρόχου να εκτελεστούν ακόμα μια φορά.

Αν η συνθήκη εξετάζεται ως προς την ισχύ της πριν την πρώτη εκτέλεση των εντολών του βρόχου, οι εντολές στον σχηματισμό αυτό μπορούν να εκτελεστούν από μηδέν φορές (αν η συνθήκη είναι ΨΕΥΔΗΣ) μέχρι άπειρες φορές (αν η συνθήκη είναι πάντα ΑΛΗΘΗΣ). Για να σχηματίσουμε τον βρόχο αυτό, μπορούμε να χρησιμοποιήσουμε τις εντολές

ΟΣΟ συνθήκη
ΕΠΑΝΑΛΑΒΕ
εντολές
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! παράδειγμα βρόχου
ΑΡΧΗ \leftarrow 5.5
ΒΗΜΑ \leftarrow 0.15
ΤΕΛΟΣ \leftarrow 12.
Α \leftarrow ΑΡΧΗ
ΟΣΟ (Α <= ΤΕΛΟΣ) ΕΠΑΝΑΛΑΒΕ
! εντολές του βρόχου
  Α \leftarrow Α + ΒΗΜΑ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! επόμενες εντολές

ή με τις εντολές

ΓΙΑ μεταβλητή ΑΠΟ αρχική_τιμή ΜΕΧΡΙ τελική_τιμή ΜΕ_ΒΗΜΑ τιμή_βήματος
εντολές
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! παράδειγμα βρόχου
ΓΙΑ R ΑΠΟ 0. ΜΕΧΡΙ 2. ΜΕ_ΒΗΜΑ 0.4
  ΓΙΑ S ΑΠΟ –R ΜΕΧΡΙ R + R ΜΕ_ΒΗΜΑ 0.5
    ΓΡΑΨΕ 'τιμή R=', R, ' τιμή S=', S, ' συνάρτ=', ΣΥΝΑΡΤ(R, S)
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

όπου παρατηρούμε πώς ένας βρόχος μπορεί να περιέχει έναν άλλο βρόχο, (και τους λέμε ένθετους ή εμφωλιασμένους (nested) βρόχους). Όταν η τιμή_βήματος είναι ίση με 1, μπορούμε να παραλείπουμε την φράση: ΜΕ_ΒΗΜΑ 1, (γιατί όταν παραλείπεται η φράση, υπονοείται ότι το βήμα είναι 1).

Αν η συνθήκη εξετάζεται ως προς την ισχύ της μετά την πρώτη εκτέλεση των εντολών του βρόχου, οι εντολές του βρόχου εκτελούνται τουλάχιστον μια φορά. Για να σχηματίσουμε τον βρόχο αυτό μπορούμε να χρησιμοποιήσουμε τις εντολές

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
εντολές
ΜΕΧΡΙΣ_ΟΤΟΥ συνθήκη

[Επεξεργασία] Επιλογή

Ο σχηματισμός της επιλογής (selection) δίνει στον προγραμματιστή την ευχέρεια να εξηγήσει στον υπολογιστή τι αποφάσεις να πάρει, δηλαδή ο υπολογιστής καθοδηγείται στο να επιλέξει μια ομάδα από εκτελέσιμες εντολές αντί άλλης ομάδας.

Απλή επιλογή γίνεται με τον σχηματισμό

ΑΝ συνθήκη ΤΟΤΕ
εντολή
ΤΕΛΟΣ_ΑΝ

που έχει μια συνθήκη και μια εντολή. Αν η συνθήκη είναι ΑΛΗΘΗΣ, τότε εκτελείται η εντολή. Αν η συνθήκη είναι ΨΕΥΔΗΣ, τότε εκτελείται η επόμενη (μετά το ΤΕΛΟΣ_ΑΝ) εντολή.

! παράδειγμα
ΑΝ (K > L+3) ΤΟΤΕ
  N \leftarrow N + 2
ΤΕΛΟΣ_ΑΝ

Λίγο πιο περίπλοκη είναι η δομή

ΑΝ συνθήκη Α ΤΟΤΕ
εντολές Α
ΑΛΛΙΩΣ
εντολές Ω
ΤΕΛΟΣ_ΑΝ

που μπορεί να έχει δύο ομάδες εντολών. Υπάρχει μια συνθήκη Α που, αν είναι ΑΛΗΘΗΣ εκτελούνται οι εντολές που ακολουθούν το ΤΟΤΕ, ενώ αν είναι ΨΕΥΔΗΣ εκτελούνται οι εντολές που ακολουθούν το ΑΛΛΙΩΣ. Το τέλος της δομής σημειώνεται με την εντολή ΤΕΛΟΣ_ΑΝ.

! παράδειγμα
ΑΝ (K = N) ΤΟΤΕ
  K \leftarrow K + 1
  ΓΡΑΨΕ K, S
ΑΛΛΙΩΣ
  ΓΡΑΨΕ N, T
  T \leftarrow 0.
  N \leftarrow N + 2
ΤΕΛΟΣ_ΑΝ

Υπάρχει μια φράση

ΑΛΛΙΩΣ_ΑΝ συνθήκη Β ΤΟΤΕ
εντολές Β

(που γράφεται μετά την ΑΝ συνθήκη ΤΟΤΕ και πριν από την ΑΛΛΙΩΣ), που μπορεί να δώσει στην δομή επιλογής περισσότερες διακλαδώσεις:

  • Πρώτη είναι η εντολή ΑΝ με μια πρώτη συνθήκη και, αν η συνθήκη είναι ΑΛΗΘΗΣ, εκτελούνται οι εντολές μετά το ΤΟΤΕ και ο έλεγχος πηγαίνει στην μετά την ΤΕΛΟΣ_ΑΝ εντολή.
  • Αν η πρώτη συνθήκη είναι ΨΕΥΔΗΣ ακολουθεί η ΑΛΛΙΩΣ_ΑΝ με μια δεύτερη συνθήκη και, αν η δεύτερη συνθήκη είναι ΑΛΗΘΗΣ, εκτελούνται οι εντολές μετά το ΤΟΤΕ της ΑΛΛΙΩΣ_ΑΝ και ο έλεγχος πηγαίνει στην μετά την ΤΕΛΟΣ_ΑΝ εντολή.
  • Μπορούν να υπάρχουν κι άλλες ΑΛΛΙΩΣ_ΑΝΤΟΤΕ ομάδες εντολών (με τρίτη συνθήκη, τέταρτη συνθήκη, κλπ).
  • Μετά από τις ΑΛΛΙΩΣ_ΑΝΤΟΤΕ υπάρχει μια ΑΛΛΙΩΣ με τις εντολές της, που εκτελούνται όταν καμιά συνθήκη δεν είναι ΑΛΗΘΗΣ.
  • Στο τέλος της δομής υπάρχει πάντοτε μια ΤΕΛΟΣ_ΑΝ.
! παράδειγμα
ΑΝ (L = –2) ΤΟΤΕ
  Y \leftarrow –1.
ΑΛΛΙΩΣ_ΑΝ (L = 0) ΤΟΤΕ
  Y \leftarrow +1.
ΑΛΛΙΩΣ_ΑΝ (L = 2) ΤΟΤΕ
  Y \leftarrow +3.
ΑΛΛΙΩΣ
  Y \leftarrow 0.
ΤΕΛΟΣ_ΑΝ

Μπορούμε εναλλακτικά να χρησιμοποιήσουμε τις εντολές ΕΠΙΛΕΞΕΠΕΡΙΠΤΩΣΗΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ, (που είναι φτιαγμένες ακριβώς για περιπτώσεις πολλαπλής επιλογής) :

! παράδειγμα
ΕΠΙΛΕΞΕ L
  ΠΕΡΙΠΤΩΣΗ –2
    Y \leftarrow –1.
  ΠΕΡΙΠΤΩΣΗ 0
    Y \leftarrow +1.
  ΠΕΡΙΠΤΩΣΗ 2
    Y \leftarrow +3.
  ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
    Y \leftarrow 0.
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ

[Επεξεργασία] Σταθερές

Τις σταθερές (constant) που θα χρησιμοποιήσουμε μέσα σε ένα πρόγραμμα ή υποπρόγραμμα τις ορίζουμε στην αρχή του με την εντολή ΣΤΑΘΕΡΕΣ.

! παράδειγμα
ΣΤΑΘΕΡΕΣ
  ΕΝΑ = 1
  ΠΙ = 3.1415926

Η σταθερή δεν μπορεί να αλλάξει τιμή σε κάποια φάση του προγράμματος.

Μπορούμε επίσης να χρησιμοποιήσουμε στο πρόγραμμα μια σταθερή τιμή, με τύπο ΑΚΕΡΑΙΟ, ΠΡΑΓΜΑΤΙΚΟ, κλπ..

[Επεξεργασία] ΑΚΕΡΑΙΕΣ σταθερές

Παραδείγματα σωστών ακέραιων σταθερών:

–25  0  4134  7773216  +1234567890

Παραδείγματα λαθεμένων ακέραιων σταθερών:

123456789012 (ξεπερνάει το μέγιστο επιτρεπτό), 
–52.         (έχει υποδιαστολή [.]), 
4,381.       (το κόμμα δεν επιτρέπεται εκεί), 
561–2        (είναι ακέραια έκφραση, όχι ακέραια σταθερή), 
3Χ3          (έχει γράμμα μέσα). 

[Επεξεργασία] ΠΡΑΓΜΑΤΙΚΕΣ σταθερές

Παραδείγματα σωστών πραγματικών σταθερών:

3.5  +7.  –0.06  6.22  –.3456

Παραδείγματα λαθεμένων πραγματικών σταθερών:

35           (λείπει η τελεία–υποδιαστολή). 
–5.22.       (δυο υποδιαστολές). 
–+3.         (δυο πρόσημα). 

[Επεξεργασία] ΛΟΓΙΚΕΣ σταθερές

Λογικές σταθερές υπάρχουν μόνο δύο, και είναι οι ΑΛΗΘΗΣ και ΨΕΥΔΗΣ. Οι λογικές σταθερές μπορούν να χρησιμοποιηθούν στις λογικές εκφράσεις της ΓΛΩΣΣΑΣ.

[Επεξεργασία] Σειρές χαρακτήρων. Σταθερές για ΧΑΡΑΚΤΗΡΕΣ

Σειρά χαρακτήρων είναι μια αλληλουχία χαρακτήρων που περικλείονται από αποστρόφους ( ' , ASCII δεκαεξαδικός 27). Για να εμφανίζεται ο χαρακτήρας ['] απόστροφος μέσα σε σειρά χαρακτήρων που περικλείεται από αποστρόφους, τον γράφουμε δυο φορές.

Παραδείγματα σειρών χαρακτήρων:

'Α'  'ΑΒ4!Σ'  'PERSONS NAME ='

[Επεξεργασία] Μεταβλητές

Μια μεταβλητή (variable) ορίζεται με την χρήση ενός συμβολικού ονόματος, που ο πρώτος του χαρακτήρας πρέπει να είναι γράμμα και οι υπόλοιποι γράμματα, ψηφία ή υπογράμμιση (underscore) '_'. Τις μεταβλητές που θα χρησιμοποιήσουμε μέσα σε ένα πρόγραμμα ή υποπρόγραμμα τις ορίζουμε στην αρχή του. Για παράδειγμα:

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΕΝΑ, ΔΥΟ, Μηδέν
  ΠΡΑΓΜΑΤΙΚΕΣ: α, β, γ, Ρίζα1
ΑΡΧΗ

Η μεταβλητή που ορίζεται με κάποιο συμβολικό όνομα μπορεί να αποκτήσει μια τιμή. Η μεταβλητή μπορεί να αλλάξει τιμή σε κάποια φάση του προγράμματος. Μια μεταβλητή μπορεί να είναι κάποιου τύπου, (όπως και μια σταθερή), ΑΚΕΡΑΙΑ, ΠΡΑΓΜΑΤΙΚΗ, ΧΑΡΑΚΤΗΡΩΝ ή ΛΟΓΙΚΗ.

[Επεξεργασία] Μεταβλητές με δείκτες

Στην ΓΛΩΣΣΑ υπάρχει η δυνατότητα να οριστούν μεταβλητές με δείκτες, που το κάθε στοιχείο τους μπορεί να εντοπιστεί στην μνήμη (και να χρησιμοποιηθεί) με χρήση δεικτών. Γενικά τις ονομάζουμε πίνακες (table, array), αλλά αν έχουν μόνο μια διάσταση, τις λέμε και διανύσματα (vector). Οι πίνακες ορίζονται με τις δηλωτικές εντολές τύπου, όπου μετά το όνομα της μεταβλητής ακολουθούν σε αγκύλες τα όρια των δεικτών. Για παράδειγμα, με :

ΜΕΤΑΒΛΗΤΕΣ
  ΠΡΑΓΜΑΤΙΚΕΣ: Β[5], Α[2,3]

δηλώνουμε τον πραγματικό πίνακα Β με στοιχεία Β[1], Β[2], Β[3], Β[4], Β[5] και τον πραγματικό πίνακα Α με στοιχεία Α[1, 1], Α[2, 1], Α[1, 2], Α[2, 2], Α[1, 3], Α[2, 3].

Οι δείκτες χωρίζονται με κόμματα και κάθε δείκτης είναι ακέραια έκφραση. Μικρότερος δείκτης υπονοείται ότι είναι το 1.

[Επεξεργασία] Εκφράσεις

Γενικά έκφραση (expression) είναι

  • ένα στοιχείο για επεξεργασία (σταθερή ή μεταβλητή (απλή ή δεικτοδοτημένη)),
  • μια πράξη με δυο τέτοια στοιχεία,
  • μια πράξη με δυο εκφράσεις,
  • η συνάρτηση μιας έκφρασης, π.χ. Α_Τ(ε) ),
  • μια έκφραση κλεισμένη σε παρενθέσεις.

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

Ιεραρχία Τελεστής Πράξη
1 ^ Ύψωση σε δύναμη
2 *
/
Πολλαπλασιασμός
Διαίρεση
3 +
Πρόσθεση αριθμών (και συναλύσωση σειρών χαρακτήρων)
Αφαίρεση
4 DIV
MOD
Ακέραια διαίρεση
Υπόλοιπο διαίρεσης
5 <
<=
=
>=
>
<>
Αριθμητικά ή αλφαβητικά : Μικρότερο από
Αριθμητικά ή αλφαβητικά : Ίσο ή μικρότερο από
Αριθμητικά ή αλφαβητικά ή λογικά : Ίσο με
Αριθμητικά ή αλφαβητικά: Ίσο ή μεγαλύτερο από
Αριθμητικά ή αλφαβητικά: Μεγαλύτερο από
Αριθμητικά ή αλφαβητικά ή λογικά: Διάφορο από
6 ΟΧΙ Άρνηση λογική
7 ΚΑΙ ΚΑΙ λογικό
8 Η Η λογικό

[Επεξεργασία] Ακέραιες εκφράσεις

Έτσι λέγονται οι εκφράσεις που φτιάχνονται με ακέραιες μεταβλητές ή σταθερές και έναν από τους τελεστές ^, *, +, –, DIV. Το αποτέλεσμα μιας ακέραιας έκφρασης είναι ακέραιος αριθμός.

[Επεξεργασία] Συγκριτικές εκφράσεις

Για να φτιαχτεί μια συγκριτική έκφραση, χρησιμοποιούνται δυο αριθμητικές εκφράσεις ίδιου τύπου και ανάμεσά τους τοποθετείται ένας συγκριτικός τελεστής από τους <, <=, =, >=, >, <> .

Για παράδειγμα, αν A, B, C, D, E, F, G είναι αριθμητικές μεταβλητές:

  • A<B σημαίνει A μικρότερο από το B
  • B<=C σημαίνει B μικρότερο από ή ίσο με το C
  • C=D σημαίνει C ίσο με το D
  • D>=E σημαίνει D μεγαλύτερο από ή ίσο με το E
  • E>F σημαίνει E μεγαλύτερο από το F
  • F<>G σημαίνει F διάφορο από το G

Η συγκριτική έκφραση έχει λογική τιμή, είναι δηλαδή ΑΛΗΘΗΣ (αλήθεια) ή ΨΕΥΔΗΣ (ψέμα).

[Επεξεργασία] Λογικές εκφράσεις

Λογική έκφραση είναι αυτή που έχει λογική τιμή, που μπορούμε δηλαδή να αποφανθούμε άμεσα αν είναι ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ. Για να φτιαχτεί μια σύνθετη λογική έκφραση, χρησιμοποιούμε δυο λογικές εκφράσεις και ανάμεσά τους τοποθετούμε έναν λογικό τελεστή από τους ΚΑΙ, Η, ή μια λογική έκφραση και μπροστά της τον τελεστή ΟΧΙ.

Για παράδειγμα, αν r, s, t, u, v, w είναι λογικές μεταβλητές:

  • r ΚΑΙ s αληθεύει όταν αληθεύουν και η r και η s
  • s Η t αληθεύει όταν αληθεύει η s ή όταν αληθεύει η t
  • t = u αληθεύει όταν οι t και u έχουν ίδια τιμή
  • u <> v αληθεύει όταν οι u και v έχουν διαφορετική τιμή
  • ΟΧΙ w αληθεύει όταν η w είναι ψέμα.

[Επεξεργασία] Εσωτερικές συναρτήσεις στην ΓΛΩΣΣΑ

Στην ΓΛΩΣΣΑ είναι ορισμένες οι παρακάτω συναρτήσεις:

ΗΜ(χ) Ημίτονο του χ
ΣΥΝ(χ) Συνημίτονο του χ
ΕΦ(χ) Εφαπτομένη του χ
Τ_Ρ(χ) Τετραγωνική ρίζα του χ
ΛΟΓ(χ) Φυσικός λογάριθμος του χ, ln(x)
Ε(χ) Εκθετική συνάρτηση, ex
Α_Μ(χ) Ακέραιο μέρος του χ
Α_Τ(χ) Απόλυτη τιμή του χ

Οι ειδικές εφαρμογές λογισμικού που δέχονται προγράμματα ΓΛΩΣΣΑΣ και τα επεξεργάζονται, όπως είναι το λογισμικό Γλωσσομάθεια, προσφέρουν κι άλλες συναρτήσεις. Μερικά παραδείγματα:

ΜΗΚΟΣ_ΧΑΡ(χ) η συνάρτηση εύρεσης μήκους σειράς χαρακτήρων
ΧΑΡ(ν)
ΣΕΙΡΑ_ΧΑΡ(χ)
οι συναρτήσεις αναφοράς στον πίνακα ASCII
Κ_Μ(χ) εύρεση κλασματικού μέρους
ΣΤΡΟΓΓ(χ) πλησιέστερος ακέραιος

[Επεξεργασία] Η εντολή ΔΙΑΒΑΣΕ

Με την εντολή αυτή καθοδηγούμε τον υπολογιστή να διαβάσει στοιχεία που πρόκειται να επεξεργαστεί. Η μορφή της εντολής ΔΙΑΒΑΣΕ είναι

ΔΙΑΒΑΣΕ \<μεταβλητή> | <στοιχείο πίνακα>\(, 1, Λ)

Παραδείγματα χρήσης:

ΔΙΑΒΑΣΕ I, J, A ΔΙΑΒΑΣΕ I[10], I[11], Ι[13]

(Η Γλωσσομάθεια ανοίγει ένα αρχείο κειμένου και προτρέπει να γράψουμε εκεί τα στοιχεία που πρέπει να διαβαστούν).

[Επεξεργασία] Η εντολή ΓΡΑΨΕ

Με την εντολή αυτή εξηγούμε στον υπολογιστή ότι πρέπει να γράψει μερικές εγγραφές με στοιχεία που του καθορίζουμε, με τρόπο που του καθορίζουμε. Παραδείγματα χρήσης:

ΓΡΑΨΕ I, J, A
ΓΡΑΨΕ I[10], I[11], Ι[13]
ΓΡΑΨΕ 'Δώσε έναν αριθμό'
ΓΡΑΨΕ 'Π[', κ, '] = ', Π[Κ]

Μετά την εκτέλεση μιας ΓΡΑΨΕ η γραφίδα μετακινείται αυτόματα στην αρχή της επόμενης γραμμής, οπότε η εντολή ΓΡΑΨΕ χωρίς καθόλου παραμέτρους αφήνει μια κενή γραμμή (χρήσιμο για διαχωρισμό στοιχείων).

[Επεξεργασία] Πηγές

  • ΒΑΚΑΛΗ Α. – ΓΙΑΝΝΟΠΟΥΛΟΣ Η. – ΙΩΑΝΝΙΔΗΣ Ν. – ΚΟΙΛΙΑΣ Χ. – ΜΑΛΑΜΑΣ Κ. – ΜΑΝΩΛΟΠΟΥΛΟΣ Ι. – ΠΟΛΙΤΗΣ Π., "Ανάπτυξη εφαρμογών σε Προγραμματιστικό Περιβάλλον", Οργανισμός Έκδοσης Διδακτικών Βιβλίων, Υπουργείο Εθνικής Παιδείας και Θρησκευμάτων, Παιδαγωγικό Ινστιτούτο.
  • Σπύρος Νικολαΐδης, δωρεάν λογισμικό "Γλωσσομάθεια", e-mail : spin@glossomatheia.studies.gr.

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu