Magaz, The Greek Linux Magazine
Magaz Logo

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

3. Τελεστές

Οι τελεστές είναι σύμβολα που με την χρήση τους γίνονται πράξεις και ενέργειες όπου συμμετέχουν μία ή και περισσότερες παράμετροι. όπως στην άλγεβρα. Στην Xbasic υπάρχουν τελεστές αριθμητικοί, λογικοί, σε επίπεδο bit και τελεστές διευθύνσεων. Ο κάθε ένας έχει την προτεραιότητά του και ανήκει σε μια τάξη που ορίζει:

  • τους δεκτούς τύπους παραμέτρων
  • τον τύπο του αποτελέσματος και,
  • τους κανόνες μετατροπής των τύπων για την εκτέλεση μιας πράξης

3.1 Ο τελεστής εκχώρησης (=)

Αυτόν τον τελεστή τον χρησιμοποιούμε για να εκχωρήσουμε μια τιμή σε μια μεταβλητή Π.Χ. a1=10

3.2 Τελεστές μιας παραμέτρου

Οι τελεστές μιας παραμέτρου έχουν μόνο μια παράμετρο δεξιά από τον τελεστή. Τέτοιο παράδειγμα είναι ο τελεστής - δηλώνει το αρνητικό αριθμητικό πρόσημο Π.Χ. -10, -a1 -(a+b). Στην τελευταία περίπτωση το άθροισμα (a+b) επειδή περικλείεται από παρενθέσεις θεωρείται μία παράμετρος.

3.3 Τελεστές δύο παραμέτρων

Οι τελεστές αυτοί υπολογίζουν τις δύο τιμές που τους δίνονται σαν παράμετροι και δίνουν ένα αποτέλεσμα. Όταν οι παράμετροι είναι διαφορετικού τύπου πρώτα μετατρέπεται η μια στο είδος της άλλης και μετά εκτελείται η πράξη.

3.4 Προτεραιότητα τελεστών

Όπως και στην άλγεβρα έτσι και εδώ οι τελεστές έχουν προτεραιότητα. Οι τελεστές με την μεγαλύτερη προτεραιότητα εκτελούνται πρώτα και τελευταίοι εκτελούνται αυτοί που έχουν την μικρότερη προτεραιότητα. Αν για παράδειγμα γράψουμε x1=a+b*c τότε, πρώτα θα υπολογιστεί το b*c και μετά το αποτέλεσμα θα προστεθεί στο a. Με την προτεραιότητα μειώνονται οι ανάγκες χρήσης παρενθέσεων για τον καθορισμό του τρόπου υπολογισμού των πράξεων. Οι παρενθέσεις χρειάζονται όταν θέλουμε να ορίσουμε εμείς την σειρά εκτέλεσης. Δηλ.

  • x1=a+b*c όπου είναι το ίδιο με το να γράφαμε x1=a+(b*c) ή
  • x1=(a+b)*c όπου εξαναγκάζουμε να γίνει πρώτα το άθροισμα και μετά ο πολλαπλασιασμός.

3.5 Είδη τελεστών

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

Οι τελεστές επιπέδου bit κάνουν πράξεις σε ακέραιους αριθμούς και παράγουν ακέραιους αριθμούς σαν αποτέλεσμα, αλλά λειτουργούν σε επίπεδο bit χωρίς τα κρατούμενα Carry και Borrow. Οι πράξεις με bit έχουν να κάνουν περισσότερο με την εσωτερική αρχιτεκτονική του επεξεργαστή (processor) και είναι γνωστές στους προγραμματιστές που έχουν δουλέψει C και Assembly. Για τον μέσο χρήστη / προγραμματιστή συνήθως οι τελεστές επιπέδου bit δεν χρειάζονται αλλά τους αναφέρω εδώ για να δείξω την δύναμη που έχει η Xbasic να φτάνει σε τόσο χαμηλό επίπεδο. Έτσι κάποιος που θέλει να κάνει μερικά πράγματα που οι γνωστές Basic δεν έχουν, και χρειαζόταν να χρησιμοποιήσει την C ή την Assembly τώρα με την Xbasic μπορεί να παραμείνει στην Basic και να κάνει αυτά που θέλει.

Οι λογικοί τελεστές κάνουν πράξη σε αριθμητικές ή και αλφαριθμητικές μεταβλητές και δίνουν ένα λογικό αποτέλεσμα τύπου Αληθές. [$$TRUE(-1)] ή Ψευδές [$$FALSE(0)].

3.6 Ομάδες τελεστών

Ομάδα 1

Η ομάδα 1 των τελεστών περιλαμβάνει τους λογικούς τελεστές && (AND), || (OR) και ^^ (XOR).

Ομάδα 2

Η ομάδα 2 των τελεστών περιλαμβάνει τους τελεστές = (ίσο),<> (διάφορο),< (μικρότερο), <=(μικρότερο ή ίσο), >= (μεγαλύτερο ή ίσο), > (μεγαλύτερο) και τα αντίστοιχά τους ==, !=, !>=, !>, !<, !<=. Οι παράμετροί τους μπορεί να είναι Ακέραιοι, δεκαδικοί ή αλφαριθμητικές μεταβλητές. Οι αλφαριθμητικές μεταβλητές συγκρίνονται χαρακτήρα, χαρακτήρα από την αρχή μέχρι το τον πρώτο διαφορετικό χαρακτήρα. Έτσι βγαίνει το αποτέλεσμα της σύγκρισης. Το αποτέλεσμα είναι πάντα XLONG ή $$TRUE ή $$FALSE.

Ομάδα 3

Η ομάδα 3 περιλαμβάνει τους τελεστές επιπέδου Bit AND, XOR και OR με τα αντίστοιχα σύμβολά τους &,^,|. Οι παράμετροί τους μπορεί να είναι ακέραιοι ή άλλες πράξεις. Το αποτέλεσμά τους είναι πάντα του ίδιου τύπου με τον τύπο των παραμέτρων τους.

Ομάδα 4

Η ομάδα 4 περιλαμβάνει τους αριθμητικούς τελεστές +, -, *, /, **. Οι παράμετροι μπορεί να είναι ακέραιοι ή δεκαδικοί. Το αποτέλεσμα είναι πάντα τύπος μεταβλητής της υψηλότερης ακρίβειας από τις μεταβλητές των παραμέτρων.

Ομάδα 5

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

Ομάδα 6

Σε αυτή την ομάδα έχουμε τους τελεστές MOD και \. O MOD δίνει το υπόλοιπο της ακέραιας διαίρεσης των παραμέτρων του. Ο \ δίνει το πηλίκο της ακέραιας διαίρεσης των παραμέτρων του. Το αποτέλεσμα των τελεστών αυτής της ομάδας είναι πάντα ακέραιο.

Ομάδα 7

Εδώ έχουμε του τελεστές <<, >>, <<<.>>>. Αυτοί οι τελεστές έχουν την ιδιότητα να μεταφέρουν τα bits των παραμέτρων τους ορισμένες θέσεις αριστερά ή δεξιά. Οι παράμετροι τους μπορεί να είναι ακέραιοι ή πράξεις. Το αποτέλεσμά τους είναι το ίδιο με τον τύπο της αριστερής παραμέτρου.

Ομάδα 8

Η ομάδα αυτή περιλαμβάνει τους τελεστές μιας παραμέτρου + και -.Η παράμετρος μπορεί να είναι ακέραιος αριθμός ή δεκαδικός. Το αποτέλεσμα είναι του ίδιου τύπου με την παράμετρο.

Ομάδα 9

Εδώ έχουμε τους τελεστές ! και !!. Στον τελεστή ! το αποτέλεσμα είναι λογικό $$TRUE αν η παράμετρος έχει τιμή 0 και $$FALSE όταν έχουμε οποιαδήποτε άλλη τιμή. Στον τελεστή !! το αποτέλεσμα είναι λογικό $$FALSE αν η παράμετρος έχει τιμή 0 και $$TRUE όταν έχουμε οποιαδήποτε άλλη τιμή.

Ομάδα 10

Ένας μόνο τελεστής ανήκει στην ομάδα αυτή και είναι ο   (ΝΟΤ) σε επίπεδο bit.Η παράμετρος μπορεί να είναι ή ακέραιος αριθμός ή το όνομα μιας συνάρτησης. Το αποτέλεσμα είναι πάντα XLONG.

Ομάδα 11

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

3.7 Προτεραιότητα τελεστών

Προτεραιότητα 12
&, && της ομάδας 11
NOT της ομάδας 10
!, !! της ομάδας 9
+, - της ομάδας 8

Προτεραιότητα 11
<<<, >>>, <<, >> της ομάδας 7

Προτεραιότητα 10
** της ομάδας 4

Προτεραιότητα 9
*, / της ομάδας 4 MOD, \ της ομάδας 6

Προτεραιότητα 8
+ της ομάδας 5 - της ομάδας 4

Προτεραιότητα 7
& ή AND της ομάδας 3

Προτεραιότητα 6
XOR ^ και OR | της ομάδας 3

Προτεραιότητα 5
>, >=, <, <= της ομάδας 2

Προτεραιότητα 4
<>, = ή !=, == της ομάδας 2

Προτεραιότητα 3
& Λογικό AND της ομάδας 1

Προτεραιότητα 2
^^ Λογικό XOR και || Λογικό OR της ομάδας 1

Προτεραιότητα 1
= τελεστής εκχώρησης.

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


Valid HTML 4.01!   Valid CSS!