Para entender el concepto de "Unidad", antes hay que tener claro que es una librería.
■ Librería
Una librería o biblioteca, es un conjunto de funciones predefinidas que permiten al usuario ampliar las funcionalidades del lenguaje. Estas pueden ser propias del lenguaje o bien definidas por el usuario.
En Turbo Pascal, a las librerías definidas por el usuario se les conoce como unidades.
Una unidad en Pascal es como un programa independiente desarrollado en el mismo lenguaje, está compuesta por procedimientos y funciones definidos por el usuario, cada procedimiento con sus propias variables. A diferencia del programa (.pas), la unidad no se ejecuta sola sino que se agrega a un programa principal como librería en el uses.
■ Estructura
Al igual que el programa, la unidad también consta de un nombre, pero en lugar de anteponerle el prefijo "Program", se pone "Unit" seguido del nombre, también puede utilizar las librerías propias del lenguaje especificadas en el "uses". Posteriormente se compone de dos partes principales que son "Interface" e "Implementation", en la primera solo se declaran todos los procedimientos y funciones que formaran parte de la unidad, en la segunda se definirán cada uno de esos procedimientos y funciones.
Unit NombreDeLaUnidad;
Interface
<Declaración de Procedimientos / Funciones>
Implementation
<uses>
<Definición de cada procedimiento / función>
End.
■ Ejemplo
Pensemos en una unidad con dos funciones, una que calcula el área de un cuadrado y otra que calcula el área de un círculo.
Unit Areas;
Interface
function AreaCuadrado(lado : real) : real;
function AreaCirculo(radio : real) : real;
Implementation
Uses crt,math;
function AreaCuadrado(lado : real) : real;
begin
AreaCuadrado := power(lado,2);
end;
function AreaCirculo(radio : real) : real;
begin
AreaCirculo := power((3.1416 * radio),2);
end;
End.
Una vez declarada la unidad puede utilizarse en el programa principal, para esto solo basta incluirla en el uses como si fuera otra librería.
Program CalcularArea;
Uses crt, Areas;
Var
Op : integer;
Medida, Resultado : real;
Begin
WriteLn('Elija opción:');
WriteLn('1 Cuadrado / 2 Circulo');
ReadLn(Op);
if (Op = 1) then
begin
Write('Ingresa medida: ');
ReadLn(Medida);
Resultado := AreaCuadrado(Medida);
WriteLn('El área es: ',Resultado:0:2);
end;
if (Op = 2) then
begin
Write('Ingresa medida: ');
ReadLn(Medida);
Resultado := AreaCirculo(Medida);
WriteLn('El área es: ',Resultado:0:2);
end;
ReadKey;
End.
Como puede verse, en el "uses" de este programa se incluye "Areas", nombre de la unidad, con esto, en el programa principal se puede hacer uso de las funciones que están definidas en la unidad con el simple hecho de invocarlas con sus respectivos argumentos.
El uso de unidades en Pascal permite al programador optimizar su código manteniéndolo lo más estructurado y legible posible, ya que se pueden crear diversas unidades para fines específicos y con esto evitar saturar el programa principal.
No hay comentarios:
Publicar un comentario