miércoles, 22 de julio de 2015

■ Unidades

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