Απαριθμημένος τύπος. Όλοι οι τύποι δεδομένων και ο πιο συχνά χρησιμοποιούμενος τύπος Pascal enum

Ένας απαριθμημένος τύπος καθορίζεται απευθείας απαριθμώντας όλες τις τιμές που μπορεί να λάβει μια μεταβλητή. αυτού του τύπου. Κάθε τιμή είναι μια σταθερά του τύπου της και μπορεί να ανήκει μόνο σε έναν από τους απαριθμημένους τύπους που ορίζονται στο πρόγραμμα. Ένας απαριθμημένος τύπος περιγράφεται στην ενότητα δήλωσης τύπου, η οποία ξεκινά με τον τύπο λέξης-κλειδιού. Κάθε τιμή ονομάζεται από κάποιο αναγνωριστικό και βρίσκεται σε μια λίστα που περικλείεται σε παρένθεση, για παράδειγμα:

Τύπος Χρώματα = (κόκκινο, λευκό, μπλε); Ημέρες = (Δευτ., Τρ., Τετ., Πέμ., Παρ., Σαβ., Κυρ).

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

Οι μεταβλητές οποιουδήποτε απαριθμημένου τύπου μπορούν να δηλωθούν χωρίς να δηλωθεί πρώτα αυτός ο τύπος, για παράδειγμα:

Var TextColor: (μαύρο, λευκό, πράσινο).

Οι τιμές σε έναν απαριθμημένο τύπο είναι σταθερές. Οι ενέργειες σε αυτές υπακούουν στους κανόνες που ισχύουν για τις σταθερές. Αριθμούνται ξεκινώντας από το 0 με τη σειρά που εμφανίζονται στην περιγραφή. Οι σχεσικοί τελεστές ισχύουν για όλους τους απαριθμημένους τύπους (αν και οι δύο τελεστές είναι του ίδιου τύπου). Η σειρά καθορίζεται από την ακολουθία με την οποία απαριθμούνται οι σταθερές.

Για ορίσματα τακτικού τύπου, υπάρχουν οι ακόλουθες προκαθορισμένες συναρτήσεις:

  • succ(X) - δίπλα στο X
  • pred(X) - προηγούμενο X
  • ord(X) – τακτικός αριθμός του X

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

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

τύπος nm = (λέξη1, λέξη2, …, λέξηΝ) ; varw:nm;

εδώ το nm είναι ένα αναγνωριστικό τύπου (αυθαίρετο), το word1, το word2… είναι συγκεκριμένες τιμές που μπορεί να λάβει η μεταβλητή w που ανήκει στον τύπο nm. Οι τιμές αυτού του τύπου θεωρούνται διατεταγμένες, δηλ. η δήλωση τύπου εισάγει ταυτόχρονα τη σειρά λέξης1< word2 < wordN. Порядковые значения отсчитываются с 0.

Οι συναρτήσεις ord, pred, succ και οι διαδικασίες inc και dec μπορούν να εφαρμοστούν σε μεταβλητές τύπου enum.

Οι σχεσιακές πράξεις μπορούν να εφαρμοστούν σε όλες τις μεταβλητές του ίδιου βαθμωτού τύπου: =,<>, <=, >=, <, >.

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

Παράδειγμα 1. τύπος χρώματος = (κόκκινο, κίτρινο, πράσινο, μπλε);
Ορίζεται εδώ ότι το κόκκινο< yellow < green < blue. Переменная типа color может принимать одно из перечисленных значений.

συνάρτηση succ(x)

Με δεδομένο το στοιχείο x, προσδιορίζεται η διατεταγμένη ακολουθία στην οποία ανήκει το x και επιστρέφεται το στοιχείο που ακολουθεί το x σε αυτήν την ακολουθία.

Παράδειγμα 2. Ας δοθεί μια ακολουθία γραμμάτων με αλφαβητική σειρά. Τότε το succ(A) είναι Β. succ(L) είναι M, και ούτω καθεξής.

Για παράδειγμα 1, το succ(κόκκινο) είναι κίτρινο.

συνάρτηση pred(x)

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

Παράδειγμα 3. Το pred(F) είναι Ε; Το pred(Z) είναι το Υ και ούτω καθεξής.

συνάρτηση ord(x).

Επιστρέφεται ο αριθμός του στοιχείου x στην ακολουθία.

Παράδειγμα 4. Το ord(κόκκινο) είναι 0 και το ord(πράσινο) είναι 2.


Ο αλγόριθμος γλώσσας Pascal είναι κατασκευασμένος με τέτοιο τρόπο ώστε για να λειτουργήσει κανείς σε μεταβλητές, συνήθως χρειάζεται να καθορίσει τον τύπο τους. Επιπλέον, η περιγραφή του τύπου για κάθε μεταβλητή πρέπει να γίνει πριν από την εκτέλεση του προγράμματος (στην ενότητα var). Δηλαδή, όταν εκκινείται ο μεταγλωττιστής, το πρόγραμμα λαμβάνει πρώτα πληροφορίες σχετικά με τους τύπους δεδομένων με τους οποίους θα λειτουργήσει και μόνο μετά εκτελεί οποιεσδήποτε ενέργειες.
Έτσι στο Pascal υπάρχουν 3 βασικοί τύποι: απλός, δομημένος και δείκτης. Ωστόσο, κάθε τύπος έχει τους δικούς του υποτύπους. Για ευκολία, παρατίθενται όλοι οι τύποι δεδομένων.

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

Οι πιο συχνά χρησιμοποιούμενοι τύποι ακέραιος αριθμός,πραγματικός,λαχτάρα,ψηφιόλεξη,σειρά,booleanκαι απανθρακώνωαφού συνήθως στις εργασίες δεν υποδεικνύεται ποιοι συγκεκριμένοι τύποι πρέπει να χρησιμοποιηθούν για την επίλυση. Να είστε προσεκτικοί όταν χρησιμοποιείτε τύπους και να παρακολουθείτε στενά τα επιτρεπόμενα εύρη για κάθε τύπο. Για παράδειγμα, στους κλασματικούς αριθμούς δεν μπορεί να εκχωρηθεί ο ακέραιος τύπος και ο τύπος char μπορεί να είναι μόνο ένας χαρακτήρας (για παράδειγμα, η μεταβλητή f:=gfgfgf δεν μπορεί να είναι char)
Τώρα για το πώς να περιγράψετε τον τύπο. Όπως αναφέρθηκε παραπάνω, οι χειριστές λαμβάνουν έναν τύπο στην αρχή του προγράμματος (μπορείτε να το πείτε αυτό πριν από την έναρξη του προγράμματος). Έτσι, οι τύποι περιγράφονται στην ενότητα var, η οποία βρίσκεται πριν από την έναρξη του προγράμματος (δηλαδή πριν από την έναρξη). Εξετάστε ένα απλό παράδειγμα
varx,u,yu,i:ακέραιος;
s,f:real;
Στριγκάκι;
αρχίσει
....
τέλος. Όπως μπορείτε να δείτε από το παράδειγμα, το πρότυπο περιγραφής τύπου μοιάζει με αυτό
operator1, operator2: type; Όπως έχετε ήδη παρατηρήσει, δεν χρειάζεται να περιγράψετε κάθε τελεστή, αν ο τύπος είναι γενικός, αρκεί να τους παραθέσετε χωρισμένους με κόμματα. Επίσης, δεν χρειάζεται να μετακινηθείτε σε νέα γραμμή μετά από κάθε τύπο, αυτό γίνεται εδώ απλά για ευκολότερη ανάγνωση του κώδικα. Γενικά, ο κώδικας πρέπει να είναι ευανάγνωστος και κατανοητός, επομένως συνιστάται να συνδυάζονται τελεστές γενικού τύπου και να γράφετε κάθε τύπο από μια νέα γραμμή.

Περιγραφή και χρήση

Ένας απαριθμημένος τύπος ορίζεται ως ένα σύνολο αναγνωριστικών που, από γλωσσική άποψη, παίζουν τον ίδιο ρόλο με τις κανονικές ονομασμένες σταθερές, αλλά συνδέονται με αυτόν τον τύπο. Η κλασική περιγραφή ενός τύπου απαρίθμησης στο Pascal είναι η εξής:

Τύπος Cardsuit = (κλαμπ, διαμάντια, καρδιές, μπαστούνια) ;

Εδώ, δηλώνεται ο τύπος δεδομένων Cardsuit, οι τιμές του οποίου μπορεί να είναι οποιαδήποτε από τις τέσσερις σταθερές που αναφέρονται. Μια μεταβλητή τύπου Cardsuit μπορεί να λάβει μία από τις τιμές clubs, diamonds, hearts, spades, επιτρέπεται η σύγκριση τιμών τύπου enum για ισότητα ή ανισότητα, καθώς και χρήση τους σε δηλώσεις επιλογής (σε περίπτωση Pascal) ως αξίες που προσδιορίζουν τις επιλογές.

Η χρήση των enums σας επιτρέπει να το κάνετε πηγαίους κώδικεςΤα προγράμματα είναι πιο ευανάγνωστα, καθώς σας επιτρέπουν να αντικαταστήσετε τους "μαγικούς αριθμούς" που κωδικοποιούν ορισμένες τιμές με ευανάγνωστα ονόματα.

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

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

Εκτέλεση

Κανονικά, κατά τη μεταγλώττιση, οι τιμές απαρίθμησης αντιπροσωπεύονται χρησιμοποιώντας ακέραιους αριθμούς. Ανάλογα με τη συγκεκριμένη γλώσσα προγραμματισμού, μια τέτοια αναπαράσταση μπορεί είτε να είναι εντελώς κρυφή από τον προγραμματιστή είτε διαθέσιμη σε αυτόν χρησιμοποιώντας ορισμένους «λύτες» (για παράδειγμα, αναγκαστική μετατροπή μιας τιμής τύπου enum σε μια τιμή τύπου «ακέραιος»), ή ακόμα και ελέγχεται από τον προγραμματιστή (σε τέτοιες περιπτώσεις, ο προγραμματιστής έχει τη δυνατότητα να καθορίσει ρητά με ποιους αριθμούς θα κωδικοποιηθούν όλες ή ορισμένες τιμές του τύπου enum. Όλες οι επιλογές έχουν τα θετικά και τα αρνητικά τους. Από τη μία πλευρά, η δυνατότητα χρήσης των αριθμητικών τιμών των σταθερών που συνθέτουν τον τύπο απαρίθμησης, ειδικά όταν γίνεται κατάχρηση, στερεί τη χρήση αυτών των τύπων και δημιουργεί τον κίνδυνο σφαλμάτων (όταν χρησιμοποιούνται αριθμητικές τιμές για που δεν υπάρχουν αντίστοιχες σταθερές στον τύπο). Από την άλλη πλευρά, η ρητή διαχείριση αξίας παρέχει ορισμένες πρόσθετες δυνατότητες. Για παράδειγμα, επιτρέπει τη χρήση τύπων enum κατά την οργάνωση μιας διεπαφής με λειτουργικές μονάδες γραμμένες σε άλλες γλώσσες, εάν χρησιμοποιούν ή επιστρέφουν τιμές κωδικοποιημένες με ακέραιο αριθμό από κάποιο προκαθορισμένο σύνολο.

Μια άλλη δυνατότητα που παρέχουν οι απαριθμημένοι τύποι σε επίπεδο υλοποίησης γλώσσας είναι η εξοικονόμηση μνήμης. Με έναν μικρό τύπο enum, μερικά bit είναι αρκετά για την αποθήκευση μιας τιμής αυτού του τύπου (ο τύπος Cardsuit παραπάνω απαιτεί μόνο δύο bit ανά τιμή, ενώ ένας τυπικός ακέραιος στις περισσότερες αρχιτεκτονικές που χρησιμοποιούνται παίρνει 32 bit - 16 φορές περισσότερο) και ο μεταγλωττιστής μπορεί να χρησιμοποιήσει αυτό το γεγονός για να συμπυκνώσει την αποθήκευση δεδομένων στη μνήμη. Αυτό μπορεί να είναι ιδιαίτερα σημαντικό εάν πολλές τιμές τύπων enum αποθηκεύονται σε μία μόνο εγγραφή - η συμπίεση εγγραφών κατά την επεξεργασία μεγάλου αριθμού από αυτές μπορεί να ελευθερώσει πολλή μνήμη. Ωστόσο, πρέπει να σημειωθεί ότι οι μεταγλωττιστές συνήθως δεν εφαρμόζουν αυτή τη δυνατότητα, τουλάχιστον τον τελευταίο καιρό, όταν η μνήμη του υπολογιστή έχει γίνει πολύ φθηνότερη.

Κριτική

Ο τύπος απαρίθμησης είναι παραδοσιακός για ανεπτυγμένες γλώσσες προγραμματισμού, χρησιμοποιείται αρκετά ευρέως και συχνά θεωρείται δεδομένος. Ωστόσο, αυτό το είδος δεν είναι επίσης χωρίς κριτική από θεωρητικούς και επαγγελματίες του προγραμματισμού. Έτσι, κατά την ανάπτυξη της γλώσσας προγραμματισμού Oberon, οι απαριθμημένοι τύποι συμπεριλήφθηκαν στη λίστα των χαρακτηριστικών που αφαιρέθηκαν από τη γλώσσα. Ο Niklaus Wirth, ο σχεδιαστής της γλώσσας, ανέφερε τους ακόλουθους λόγους:

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

Περιγραφή αριθμών σε διάφορες γλώσσες

Ada

Κάρτα φόρμα (CLUBS, ΔΙΑΜΑΝΤΙΑ, ΚΑΡΔΙΕΣ, ΜΠΑΚΙΑ) ;

Οι δυναμικές, ασθενώς πληκτρολογημένες γλώσσες με σύνταξη τύπου C (π.χ. perl ή JavaScript) γενικά δεν έχουν enum.

C++

ΝΤΟ#

Enum Cardsuit (Κλαμπ, Διαμάντια, Μπαστούνια, Καρδιές) ;

Ιάβα

Enum Cardsuit (Κλαμπ, Διαμάντια, Μπαστούνια, Καρδιές)

Haskell

Σε ορισμένες γλώσσες προγραμματισμού (π.χ. Haskell), οι απαριθμήσεις μπορούν να εξομοιωθούν χρησιμοποιώντας αλγεβρικούς τύπους. Για παράδειγμα, ένας τύπος Boolean που περιέχει δύο αναγνωριστικά που αντιπροσωπεύουν τις τιμές αλήθειας κωδικοποιείται ως εξής:

Data Bool = False | Αληθής

Σημειώσεις


Ίδρυμα Wikimedia. 2010 .

Βικιπαίδεια

Για τεχνικούς λόγους, ο Bool ανακατευθύνει εδώ. Μπορείτε να διαβάσετε για το Bool εδώ: stdbool.h. Ο τύπος δεδομένων Boolean (eng. Boolean ή λογικός τύπος δεδομένων) είναι ένας πρωτόγονος τύπος δεδομένων στην επιστήμη των υπολογιστών που μπορεί να πάρει δύο πιθανά ... Wikipedia

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

Integer, ακέραιος τύπος δεδομένων (English Integer), στην επιστήμη των υπολογιστών, ένας από τους απλούστερους και πιο συνηθισμένους τύπους δεδομένων σε γλώσσες προγραμματισμού. Χρησιμοποιείται για την αναπαράσταση ακεραίων. Το σύνολο των αριθμών αυτού του τύπου είναι ... ... Wikipedia

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

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

Ορισμένες γλώσσες προγραμματισμού παρέχουν έναν ειδικό τύπο δεδομένων για μιγαδικούς αριθμούς. Η παρουσία ενός ενσωματωμένου τύπου απλοποιεί την αποθήκευση σύνθετων τιμών και τους υπολογισμούς σε αυτές. Περιεχόμενα 1 Αριθμητική έναντι μιγαδικών 2 Υποστήριξη σε γλώσσες ... Wikipedia

Για να βελτιώσετε αυτό το άρθρο ΤΕΧΝΟΛΟΓΙΑ της ΠΛΗΡΟΦΟΡΙΑΣεπιθυμητό;: Βρείτε και τακτοποιήστε με τη μορφή υποσημειώσεων συνδέσμους προς έγκυρες πηγές που επιβεβαιώνουν τα γραφόμενα. Έχοντας βάλει υποσημειώσεις, κάντε πιο ακριβείς στη ... Wikipedia

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

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

Τύπος απαριθμημένος Pascal:

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

Κατά τη διαδικασία δημιουργίας ενός προγράμματος, μπορεί να χρειαστεί να συνδυάσουμε σε μια ομάδα, σύμφωνα με κάποιο κριτήριο, ένα σύνολο τιμών ενός απαριθμημένου τύπου. Για παράδειγμα, ο τύπος enum ZnakZodiaka (ζώδιο) περιλαμβάνει τις βαθμωτές τιμές Oven, Strelec, Kozerog, Bliznecy, Vesy (Κριός, Τοξότης, Αιγόκερως, Δίδυμοι, Ζυγός). Ο απαριθμημένος τύπος Planeta (Πλανήτης) συνδυάζει βαθμωτές τιμές Mercury, Venera, Earth, Mars (Mercury, Venus, Earth, Mars). Η απαριθμημένη δήλωση τύπου εμφανίζεται στην ενότητα δήλωση τύπου:

ZnakZodiaka=(Φούρνος,Strelec,Kozerog,Bliznecy,Vesy);

Οι μεταβλητές βαθμωτών τύπων που δηλώνονται στην ενότητα τύπου δηλώνονται χρησιμοποιώντας ονόματα τύπων:

Planeta = (Ερμής, Βενέρα, Γη, Άρης); var Solnsystem: Planeta;

Έτσι, η μεταβλητή Solnsystem μπορεί να λάβει τις ακόλουθες τιμές: Ερμής, Βενέρα, Γη ή Άρης. Επίσης, οι μεταβλητές ενός απαριθμημένου τύπου μπορούν να δηλωθούν σε μια ενότητα var:

Solnsystem: Ερμής, Βενέρα, Γη, Άρης.

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

Solnsystem:= Ερμής;

Η ακολουθία τιμών ενός απαριθμημένου τύπου αριθμείται αυτόματα, ξεκινώντας από το μηδέν:

Planeta = (Ερμής, Βενέρα, Γη, Άρης);

Σε αυτό το παράδειγμα ο Ερμής είναι 0, η Βενέρα είναι 1, η Γη είναι 2, ο Άρης είναι 3.

Τύπος δεδομένων διαστήματος Pascal:

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