Abstracción funcional en Pascal
La abstracción funcional en Pascal se obtiene mediante el uso de módulos(funciones y procedimientos) que son secciones de código que resuelven un problema concreto y pueden ser reutilizadas referenciándolas mediante un identificador sin conocer como están implementadas.
En esto último consiste la abstacción, en preocuparse únicamente de “que” se hace, y olvidar el “como “ se hace.
En Pascal disponemos de 2 tipos de módulos o subprogramas, las funciones y los procedimientos. Ambos deben ser declarados antes de ser referenciados.
La diferencia entre ellos es que la función debe recibir unos parámetros de entrada y devolver un resultado, mientras que los procedimientos realizan tareas sin devolver ningún valor al subprograma que lo invoca.
Cuando invocamos a una acción con nombre puede ser necesario incluír en la invocación parámetros, que pueden pasarse por valor o por referencia.
Hay dos tipos de parámetros: actuales y formales
Los parámetros actuales son los que se encuentran en la invocación al módulo, mientras que los formales son los que se encuentran en la declaración del mismo.
Cuando realizamos un paso de parámetros por valor, se crean tantas variables locales como parámetros hemos introducido y se les asigna el valor de cada uno de los parámetros actuales.
Estas variables locales, desaparecen al concluír la ejecución del módulo, por tanto, son desconocidas por el programa que invoca al módulo y cualquier cambio que se realice sobre estas variables no afecta al parámetro actual.
Cuando realizamos un paso de parámetros por referencia, debemos anteponer la palabra reservada “VAR” al parámetro.
Cuando hacemos un paso por referencia, no se crea ninguna copia de la variable, sino que directamente se actúa sobre la dirección de memoria a la que esta hace referencia. Esto es útil cuando deseamos que el módulo modifique el valor de la variable global.
Pascal permite el paso de una función como parámetro de otro módulo. Esto se puede llevar a cabo incluyendo en el programa la directiva de compilación {$F+} y especificando el tipo de dato que devuelve la función.
La recursividad esta una técnica de programación que consiste en realizar una llamada a un modulo en su propio cuerpo de código.
Es necesario detacar que no se pueden usar variables globales en los algoritmos recursivos.
Pascal permite la sobrecarga de módulos, es decir, podemos definir dos o más módulos con el mismo identificador pero distintos parámetros, permitiendo así englobar varios módulos con operaciones similares.
En esto último consiste la abstacción, en preocuparse únicamente de “que” se hace, y olvidar el “como “ se hace.
En Pascal disponemos de 2 tipos de módulos o subprogramas, las funciones y los procedimientos. Ambos deben ser declarados antes de ser referenciados.
La diferencia entre ellos es que la función debe recibir unos parámetros de entrada y devolver un resultado, mientras que los procedimientos realizan tareas sin devolver ningún valor al subprograma que lo invoca.
Cuando invocamos a una acción con nombre puede ser necesario incluír en la invocación parámetros, que pueden pasarse por valor o por referencia.
Hay dos tipos de parámetros: actuales y formales
Los parámetros actuales son los que se encuentran en la invocación al módulo, mientras que los formales son los que se encuentran en la declaración del mismo.
Cuando realizamos un paso de parámetros por valor, se crean tantas variables locales como parámetros hemos introducido y se les asigna el valor de cada uno de los parámetros actuales.
Estas variables locales, desaparecen al concluír la ejecución del módulo, por tanto, son desconocidas por el programa que invoca al módulo y cualquier cambio que se realice sobre estas variables no afecta al parámetro actual.
Cuando realizamos un paso de parámetros por referencia, debemos anteponer la palabra reservada “VAR” al parámetro.
Cuando hacemos un paso por referencia, no se crea ninguna copia de la variable, sino que directamente se actúa sobre la dirección de memoria a la que esta hace referencia. Esto es útil cuando deseamos que el módulo modifique el valor de la variable global.
Pascal permite el paso de una función como parámetro de otro módulo. Esto se puede llevar a cabo incluyendo en el programa la directiva de compilación {$F+} y especificando el tipo de dato que devuelve la función.
La recursividad esta una técnica de programación que consiste en realizar una llamada a un modulo en su propio cuerpo de código.
Es necesario detacar que no se pueden usar variables globales en los algoritmos recursivos.
Pascal permite la sobrecarga de módulos, es decir, podemos definir dos o más módulos con el mismo identificador pero distintos parámetros, permitiendo así englobar varios módulos con operaciones similares.