next up previous contents
Next: Invocación de procedimientos Up: Interpretación algorítmica Previous: Procedimientos y programación en   Contents


Definición de procedimientos

Un programa en lógica está formado por un conjunto de reglas, o cláusulas, de acuerdo a la sintaxis vista en el capítulo anterior. Dichas reglas son de dos tipos:

\begin{displaymath}
\begin{array}{llll}
A & \leftarrow & . & \mathrm{(I)} \\
A & \leftarrow & B_1, \ldots, B_m & \mathrm{(II)}
\end{array}\end{displaymath}

Cada regla de un programa se interpretará como la definición de un procedimiento. De acuerdo a la tradición de la programación imperativa toda definición está compuesta de un encabezamiento y un cuerpo. El predicado que aparece a la izquierda del símbolo « $ \leftarrow$» será el encabezamiento, y los predicados que aparecen a la derecha de dicho símbolo constituirán el cuerpo del procedimiento. Los argumentos que pueda contener el predicado del encabezamiento serán los parámetros formales. Los predicados que aparecen en el cuerpo representan invocaciones a otros procedimientos, que serán ejecutadas durante la evaluación del procedimiento. El orden en que aparecen los predicados en el cuerpo no necesariamente indica la secuencia en la que se harán las invocaciones. Si la regla es de tipo (I), entonces el procedimiento tiene cuerpo vacío, y la evaluación del mismo se reduce a un retorno de control.

Si se considera nuevamente el programa para la concatenación de listas:

        CONCAT (   [] , X,   X   ) <- .
        CONCAT ( [X.L], Y, [X.Z] ) <- CONCAT ( L, Y, X ).

el mismo está formado por la definición de dos procedimientos. El primero tiene cuerpo vacío, mientras que el segundo al ser activado producirá una invocación recursiva.


next up previous contents
Next: Invocación de procedimientos Up: Interpretación algorítmica Previous: Procedimientos y programación en   Contents
Cesar Ballardini
2003-10-14
Hosted by www.Geocities.ws

1