Martes, 31 Agosto 2021 03:03

Tipo de datos en Pascal

Written by
Rate this item
(0 votes)

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

Los tipos de datos 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:

pascal datatypes

Los tipos de datos de campo de datos básicos en Pascal incluyen:

Entero
Word
LongInt
Real
Char
Booleano


Standard Pascal no prevé el tipo de datos de cadena, pero la mayoría de los compiladores modernos sí lo hacen. Los programadores experimentados de Pascal también usan punteros para la asignación de memoria dinámica, objetos para la programación orientada a objetos y muchos otros, pero esto le ayuda a comenzar.

Más información sobre los tipos de datos de Pascal:

Integer: El tipo de datos Integer puede contener números enteros. el tamaño de un número entero depende del compilador y del procesador. En las PC anteriores al 80386, "entero" significaba números enteros de 16 bits en el rango de -32768 a 32767. Este es el rango con signo que se puede almacenar en una palabra de 16 bits, y es un legado de la época en que 16- las CPU de bits eran comunes. Para fines de compatibilidad con versiones anteriores, un entero de 32 bits con signo es un entero largo y puede contener un rango de valores mucho mayor, 2147483647 a -2147483648.

Word: El tipo de datos Word es un entero sin signo de 16 bits, que tiene un rango de 0 a 65535.
El tipo de datos Real tiene un rango de 3.4x10-38 a 3.4x1038, además del mismo rango en el lado negativo. Los valores reales se almacenan dentro de la computadora de manera similar a la notación científica, con una mantisa y un exponente, con algunas complicaciones. En Pascal, puede expresar valores reales en su código en notación de punto fijo o en notación científica, con el carácter E separando la mantisa del exponente. Por lo tanto, 452.13 es lo mismo que 4.5213e2


Char: El tipo de datos Char contiene caracteres. Asegúrese de encerrarlos entre comillas simples, así: 'a' 'B' '+' Pascal estándar usa caracteres de 8 bits, no de 16 bits, por lo que Unicode, que se usa para representar todos los conjuntos de idiomas del mundo en un UNIfied El sistema CODE, no es compatible.


WideChar es un carácter de dos bytes (un elemento de DBCS: juego de caracteres de doble byte) y puede contener un carácter Unicode. Nota: algunos caracteres Unicode requieren dos WideChars. Ver UTF-16.


Free Pascal admite la implementación Delphi del tipo de datos PChar. PChar se define como un puntero a un tipo Char, pero permite operaciones adicionales. El tipo PChar se puede entender mejor como el equivalente Pascal de una cadena terminada en nulo de estilo C, es decir, una variable de tipo PChar es un puntero que apunta a una matriz de tipo Char, que termina con un carácter nulo (# 0 ). Free Pascal admite la inicialización de constantes escritas PChar o una asignación directa. Por ejemplo, los siguientes fragmentos de código son equivalentes:

program one;  
var P : PChar;  
begin  
  P := 'This is a null-terminated string.';  
  WriteLn (P);  
end.
program two;  
const P : PChar = 'This is a null-terminated string.';  
begin  
  WriteLn (P);  
end.

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
dias, edad = integer;
si, verdadero = boolean;
nombre, ciudad = 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:

TipoMinimoMaximoFormato
Integer -2147483648 2147483647 signed 32-bit
Cardinal 0 4294967295 unsigned 32-bit
Shortint -128 127 signed 8-bit
Smallint -32768 32767 signed 16-bit
Longint -2147483648 2147483647 signed 32-bit
Int64 -2^63 2^63 - 1 signed 64-bit
Byte 0 255 unsigned 8-bit
Word 0 65535 unsigned 16-bit
Longword 0 4294967295 unsigned 32-bit

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 la declaración const.

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 tipo 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 variables 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;

 

Variables y sus tipos

Una variable no es más que un nombre que se le da a un área de almacenamiento que nuestros programas pueden manipular. Cada variable en Pascal tiene un tipo específico, que determina el tamaño y el diseño de la memoria de la variable; el rango de valores que se pueden almacenar dentro de esa memoria; y el conjunto de operaciones que se pueden aplicar a la variable.

El nombre de una variable puede estar compuesto por letras, dígitos y el carácter de subrayado. Debe comenzar con una letra o un guión bajo. Pascal no distingue entre mayúsculas y minúsculas, por lo que las letras mayúsculas y minúsculas significan lo mismo aquí. Según los tipos básicos explicados en el capítulo anterior, habrá los siguientes tipos de variables básicas:

Character: Normalmente, un solo octeto (un byte). Este es un tipo entero.

Integer: El tamaño más natural de número entero para la máquina.

Real: Un valor de punto flotante de precisión simple.

Boolean: Especifica valores lógicos verdaderos o falsos. Este también es un tipo entero.

Enumerated: Especifica una lista definida por el usuario.

Subrange: Representa variables cuyos valores se encuentran dentro de un rango.

String: Almacena una variedad de caracteres.

 

El lenguaje de programación Pascal también permite definir varios otros tipos de variables, que cubriremos en capítulos posteriores como Puntero, Matriz, Registros, Conjuntos y Archivos, etc. Para este capítulo, estudiemos solo los tipos de variables básicas.

 

Declaración de variable en Pascal
Todas las variables deben declararse antes de usarlas en el programa Pascal. Todas las declaraciones de variables van seguidas de la palabra clave var. Una declaración especifica una lista de variables, seguida de dos puntos (:) y el tipo. La sintaxis de la declaración de variable es -

var
variable_list : type;

Aquí, el tipo debe ser un tipo de datos Pascal válido que incluya carácter, entero, real, booleano o cualquier tipo de datos definido por el usuario, etc., y variable_list puede constar de uno o más nombres de identificadores separados por comas. Aquí se muestran algunas declaraciones de variables válidas:

var
age, weekdays : integer;
taxrate, net_income: real;
choice, isready: boolean;
initials, grade: char;
name, surname : string;

En el tutorial anterior, hemos discutido que Pascal permite declarar un tipo. Un tipo puede identificarse mediante un nombre o identificador. Este tipo se puede utilizar para definir variables de ese tipo. Por ejemplo,

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

Ahora, los tipos así definidos se pueden usar en declaraciones de variables:

var
weekdays, holidays : days;
choice: yes;
student_name, emp_name : name;
capital: city;
cost: expenses;

Tenga en cuenta la diferencia entre la declaración de tipo y la declaración var. La declaración de tipo indica la categoría o clase de los tipos, como entero, real, etc., mientras que la especificación de la variable indica el tipo de valores que puede tomar una variable. Puede comparar la declaración de tipo en Pascal con typedef en C. Lo más importante es que el nombre de la variable se refiere a la ubicación de la memoria donde se almacenará el valor de la variable. Esto no es así con la declaración de tipos.

 

Inicialización de variable en Pascal
A las variables se les asigna un valor con dos puntos y el signo igual, seguido de una expresión constante. La forma general de asignar un valor es:

variable_name := value;

De forma predeterminada, las variables en Pascal no se inicializan con cero. Pueden contener valores basura. Por tanto, es una mejor práctica inicializar variables en un programa. Las variables se pueden inicializar (asignar un valor inicial) en su declaración. La inicialización es seguida por la palabra clave var y la sintaxis de inicialización es la siguiente:

var
variable_name : type = value;

Algunos ejemplos son:

age: integer = 15;
taxrate: real = 0.5;
grade: char = 'A';
name: string = 'John Smith';

Veamos un ejemplo, que hace uso de varios tipos de variables discutidas hasta ahora:

program Greetings;
const
message = ' Welcome to the world of Pascal ';

type
name = string;
var
firstname, surname: name;

begin
   writeln('Please enter your first name: ');
   readln(firstname);
   
   writeln('Please enter your surname: ');
   readln(surname);
   
   writeln;
   writeln(message, ' ', firstname, ' ', surname);
end.

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

Please enter your first name:
John
Please enter your surname:
Smith
Welcome to the world of Pascal John Smith

 

Variables enumeradas
Ha visto cómo usar tipos de variables simples como integer, real y boolean. Ahora, veamos las variables de tipo enumerado, que se pueden definir como:

var
var1, var2, ...  : enum-identifier;

Cuando haya declarado un tipo enumerado, puede declarar variables de ese tipo. Por ejemplo,

type
months = (January, February, March, April, May, June, July, August, September, October, November, December);
Var
m: months;
...
M := January;

El siguiente ejemplo ilustra el concepto:

program exEnumeration;
type
beverage = (coffee, tea, milk, water, coke, limejuice);

var
drink:beverage;

begin
   writeln('Which drink do you want?');
   drink := limejuice;
   
   writeln('You can drink ', drink);
end.

 

Variables de subrango
Las variables de subrango se declaran como -

var
subrange-name : lowerlim ... uperlim;

Ejemplos de variables de subrango son:

var
marks: 1 ... 100;
grade: 'A' ... 'E';
age: 1 ... 25;

El siguiente programa ilustra el concepto:

program exSubrange;
var
marks: 1 .. 100;
grade: 'A' .. 'E';

begin
   writeln( 'Enter your marks(1 - 100): ');
   readln(marks);
   
   writeln( 'Enter your grade(A - E): ');
   readln(grade);
   
   writeln('Marks: ' , marks, ' Grade: ', grade);
end.

 

Read 37 times Last modified on Martes, 31 Agosto 2021 03:39

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.

Magic PL/SQL

Blog orientado al desarrollo de PL / SQL en el "Maravilloso Mundo ORACLE". Cursos Online y Tutoriales Gratis de Manejo de Base de Datos. Aprende a programar, a crear aplicaciones para empresas y negocios y gana dinero. Hosting y Tecnología.