Pascal - Tipos de datos

Los tipos de datos de una entidad indican el significado, las limitaciones, los posibles valores, las operaciones, las funciones y el modo de almacenamiento asociado a ella.

Los tipos de caracteres enteros, reales, booleanos y de caracteres se denominan tipos de datos estándar. Los tipos de datos se pueden clasificar como escalares, punteros y tipos de datos estructurados. Ejemplos de tipos de datos escalares son enteros, reales, booleanos, de caracteres, subrangos y enumerados. Los tipos de datos estructurados se componen de tipos escalares; por ejemplo, matrices, registros, archivos y conjuntos. Discutiremos los tipos de datos de puntero más adelante.

Tipos de datos de Pascal

Los tipos de datos de Pascal se pueden resumir como se muestra a continuación en el siguiente diagrama:

Declaraciones de tipo

La declaración de tipo se utiliza para declarar el tipo de datos de un identificador. La sintaxis de la declaración de tipo es -

type-identifier-1, type-identfier-2 = type-specifier;

Por ejemplo, la siguiente declaración define las variables días y edad como tipo entero, sí y verdadero como tipo booleano, nombre y ciudad como tipo de cadena, tarifas y gastos como tipo real.

type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;

Tipos de enteros

La siguiente tabla le brinda detalles sobre los tipos de enteros estándar con sus tamaños de almacenamiento y rangos de valores utilizados en Object Pascal:

Tipo Mínimo Máximo Formato
Entero -2147483648 2147483647 32 bits firmado
Cardenal 0 4294967295 32 bits sin firmar
Shortint -128 127 firmado de 8 bits
Smallint -32768 32767 firmado de 16 bits
Longint -2147483648 2147483647 32 bits firmado
Int64 -2 ^ 63 2 ^ 63 - 1 64 bits firmado
Byte 0 255 8 bits sin firmar
Palabra 0 65535 16 bits sin firmar
Longword 0 4294967295 32 bits sin firmar

Constantes

El uso de constantes hace que un programa sea más legible y ayuda a mantener cantidades especiales en un lugar al principio del programa. Pascal permite constantes numéricas, lógicas, de cadena y de caracteres . Las constantes se pueden declarar en la parte de declaración del programa especificando elconst declaración.

La sintaxis de la declaración de tipo constante es la siguiente:

const
Identifier = contant_value;

A continuación se muestran algunos ejemplos de declaraciones constantes:

VELOCITY_LIGHT = 3.0E=10;
PIE = 3.141592;
NAME = 'Stuart Little';
CHOICE = yes;
OPERATOR = '+';

Todas las declaraciones constantes deben darse antes de la declaración de variable.

Tipos enumerados

Los tipos de datos enumerados son tipos de datos definidos por el usuario. Permiten especificar valores en una lista. Solo se permiten operadores de asignación y operadores relacionales en el tipo de datos enumerados. Los tipos de datos enumerados se pueden declarar de la siguiente manera:

type
enum-identifier = (item1, item2, item3, ... )

A continuación se muestran algunos ejemplos de declaraciones de tipos enumeradas:

type
SUMMER = (April, May, June, July, September);
COLORS = (Red, Green, Blue, Yellow, Magenta, Cyan, Black, White);
TRANSPORT = (Bus, Train, Airplane, Ship);

El orden en el que se enumeran los elementos en el dominio de un tipo enumerado define el orden de los elementos. Por ejemplo, en el tipo enumerado VERANO, abril viene antes de mayo, mayo antes de junio, y así sucesivamente. El dominio de identificadores de tipo enumerados no puede constar de constantes numéricas o de caracteres.

Tipos de subrango

Los tipos de subrango permiten que una variable asuma valores que se encuentran dentro de un cierto rango. Por ejemplo, si la edad de los votantes debe estar entre 18 y 100 años, una variable denominada edad podría declararse como:

var
age: 18 ... 100;

Veremos la declaración de variable en detalle en la siguiente sección. También puede definir un tipo de subrango utilizando la declaración de tipo. La sintaxis para declarar un tipo de subrango es la siguiente:

type
subrange-identifier = lower-limit ... upper-limit;

A continuación se muestran algunos ejemplos de declaraciones de tipo de subrango:

const
P = 18;
Q = 90;
type
Number = 1 ... 100;
Value = P ... Q;

Los tipos de subrango se pueden crear a partir de un subconjunto de un tipo enumerado ya definido, por ejemplo:

type
months = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
Summer = Apr ... Aug;
Winter = Oct ... Dec;