Magaz, The Greek Linux Magazine
Magaz Logo

Επόμενο  Προηγούμενο  Περιεχόμενα

4. Δεδομένα: Μεταβλητές και σταθερές.

Στο παράδειγμά μας στις γραμμές 49,50,66 γίνεται ο ορισμός μεταβλητών. Τα προγράμματα συνήθως χρησιμοποιούν διαφορετικής μορφής δεδομένα και χρειάζεται ένα τρόπο να τα αποθηκεύει. Αυτά τα δεδομένα μπορεί να είναι ή αριθμοί ή γράμματα (χαρακτήρες). Η Xbasic έχει δύο τρόπους να αποθηκεύει δεδομένα -μεταβλητές και σταθερές- όπου κάθε περίπτωση έχει τις ιδιότητές της.

4.1 Μεταβλητές

Οι μεταβλητές χρησιμοποιούνται για να αποθηκεύσουμε δεδομένα του προγράμματος και να τα χρησιμοποιήσουμε σε κάποιο άλλο σημείο τους. Οι μεταβλητές στην πραγματικότητα δείχνουν σε κάποια θέση μνήμης στον υπολογιστή που είναι αποθηκευμένα τα δεδομένα που αντιστοιχούν στην μεταβλητή. Τα ονόματα των μεταβλητών ξεκινάνε πάντα με τουλάχιστον ένα πεζό αγγλικό γράμμα. Τα κεφαλαία τα χρησιμοποιούμε αποκλειστικά να γράφουμε τις εντολές της Xbasic. Είναι απαραίτητο να γίνει αυτό γιατί εντολή που έχει έστω και ένα πεζό γράμμα δεν αναγνωρίζεται. Στα ονόματα των μεταβλητών η γλώσσα δεν μετατρέπει σε κεφαλαία ή πεζά ότι μοιάζει και έτσι οι μεταβλητές numa και numA είναι διαφορετικές. Τα ονόματα μεταβλητών δεν μπορούν να περιέχουν σύμβολα εκτός από το την υπογράμμιση (Underscore _).

4.2 Αριθμητικές μεταβλητές

Στην Xbasic υπάρχουν διάφορα είδη αριθμητικών μεταβλητών. Ανάλογα με το είδος της μεταβλητής υπάρχουν διαφορετικές απαιτήσεις μνήμης και διαφέρουν ως προς τον τρόπο που γίνονται οι μαθηματικές πράξεις σε αυτές. Π.χ. Μικρές αριθμητικές τιμές 1,10,100,-5 χρειάζονται λιγότερη μνήμη για να αποθηκευθούν από ότι οι τιμές 3.14 ή 312.45687632 και λιγότερη ώρα για τον υπολογισμό τους. Με την κατάλληλη χρήση των μεταβλητών εξασφαλίζεται η γρήγορη και αποτελεσματική λειτουργία του προγράμματός μας. Οι αριθμητικές μεταβλητές διακρίνονται σε τρία βασικά είδη:

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

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

  • Μεταβλητές με πρόσημο (signed).
    @       SBYTE   (8 bits)        -128            έως     127
    %       SSHORT  (16 bits)       -32768          έως     32767
    &   SLONG   (32 bits)       -2147483648     έως     2147483647              
    

  • Μεταβλητές χωρίς πρόσημο (Unsigned).
    @@      UBYTE   (8 bits)        0               έως     255
    %%      USHORT  (16 bits)       0               έως     65535
    &&      ULONG   (32 bits)       0               έως     4294967295
    

  • Μεταβλητή συστήματος XLONG

    Η μεταβλητή αυτή μπορεί να είναι 32 ή 64 bit ανάλογα με το σύστημα που χρησιμοποιούμε.

Οι μεταβλητές κινητής υποδιαστολής είναι δύο τύπων.


!       SINGLE (32 bits) σύμφωνα με την κωδικοποίηση IEEE 
#       DOUBLE (64 bits) σύμφωνα με την κωδικοποίηση IEEE 

Οι μεταβλητές κινητής υποδιαστολής ανάλογα με το είδος τους μπορούν να έχουν ακρίβεια 8 δεκαδικών ψηφίων ο τύπος SINGLE και 16 δεκαδικών ψηφίων ο τύπος DOUBLE.

4.3 Σκοπός μεταβλητών

AUTO AUTOX STATIC SHARED (/όνομα ομάδας/) EXTERNAL (/όνομα ομάδας/)

EXTERNAL ορίζονται οι μεταβλητές που το περιεχόμενό τους είναι διαθέσιμο για οποιοδήποτε κομμάτι προγράμματος ακόμη και αν αυτό είναι σε βιβλιοθήκη και γίνεται σύνδεση (link) μετά την μεταγλώττισή του (compile).

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

STATIC ορίζονται οι μεταβλητές που ανήκουν στην τρέχουσα συνάρτηση και κρατούν τις τιμές τους για διαδοχικές κλήσεις της συνάρτησης.

AUTO και AUTOX ορίζονται οι μεταβλητές που ανήκουν στην τρέχουσα συνάρτηση και για κάθε κλήση της συνάρτησης κάθε φορά παίρνουν νέα τιμή.

Οι μεταβλητές SHARED και EXTERNAL συνήθως ορίζονται στο τμήμα PROLOG όπως αναφέρθηκε προηγούμενα.

4.4 Σταθερές

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


Λ.χ. 
perim=3.14*(2*R)
emb=3.14*R*R

Αντί να γράφουμε τον αριθμό 3.14 κάθε φορά που θέλουμε να βάλουμε τον αριθμό π στους υπολογισμούς μας ορίζουμε σαν σταθερά την pi=3.14

Έτσι το πρόγραμμα διαμορφώνεται σε:


$pi=3.14

 perim=$pi*(2*R)
 emb=$pi*R*R

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

Οι σταθερές στην Xbasic είναι δύο ειδών.

  • Οι τοπικές σταθερές που ορίζονται αρχικά μέσα σε μια συνάρτηση και στο όνομά τους προηγείται ένα $ Π.χ. $YES
  • Οι σταθερές που αφορούν όλο το πρόγραμμα και ορίζονται στο κομμάτι PROLOG στην αρχή του προγράμματος και στο όνομα τους προηγούνται δύο $. Π.χ. $$READ

Υπάρχουν και οι σταθερές συστήματος που τις δίνει η Xbasic και είναι διαθέσιμες σε όλα τα προγράμματα όπως $$TRUE και $$FALSE.

Επόμενο  Προηγούμενο  Περιεχόμενα


Valid HTML 4.01!   Valid CSS!