Pascal - Tipos de variables

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 esnot case-sensitive, 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:

Variables básicas en Pascal

No Señor Tipo y descripción
1

Character

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

2

Integer

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

3

Real

Un valor de coma flotante de precisión simple.

4

Boolean

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

5

Enumerated

Especifica una lista definida por el usuario.

6

Subrange

Representa variables cuyos valores se encuentran dentro de un rango.

7

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 tipo.

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 lo 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 porvar palabra clave 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 se compila y ejecuta el código anterior, 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.

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

Which drink do you want?
You can drink limejuice

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.

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

Enter your marks(1 - 100): 
100
Enter your grade(A - E):
A
Marks: 100 Grade: A