La Programación: Procedimientos
Las palabras utilizadas en los ejemplos de El Estado de la Tortuga son primitivas, parte del vocabulario de Logo. La programación en Logo significa añadir palabras a ese vocabulario. La nuevas palabras que se agregan se llaman procedimientos. No existe diferencia de uso entre las primitivas y los procedimientos, salvo que a estos últimos los define usted mismo.
Un procedimiento es un grupo de instrucciones Logo que lleva un nombre. El siguiente ejemplo es un procedimiento. Haga clic en el Área de Procedimientos y escriba esto:
para cuadrado
repite 4 [adelante 100 derecha 90]
finLa primera y la última línea de un procedimiento tienen un formato especial. Siempre hay que empezar con la palabra para, seguida del nombre del procedimiento. El para en la línea del título indica que le estamos enseñando a Logo una palabra nueva. El nombre del procedimiento es siempre una palabra. Esta palabra puede ser cualquier cosa, excepto un número o una primitiva. La última línea siempre debe ser la palabra fin. Tanto la línea del título como la última línea siempre deben estar solas; es decir, deben finalizar con un retorno de línea. Las instrucciones entre para, seguida del nombre del procedimiento, y fin se llaman cuerpo del procedimiento.
Nota: Puede revisar la sintaxis de un procedimiento presionando la tecla F4. Es importante distinguir entre lo que significa definir un procedimiento y pedirle a Logo que lo ejecute. La manera más simple de ejecutar un procedimento en Logo es escribiendo su nombre en el Centro de Mando. Logo ejecuta cada línea del procedimiento. Escribir cuadrado en el Centro de Mando produce el mismo efecto que escribir repite 4 [adelante 100 derecha 90].
Si se escribe una palabra de la cual Logo no tiene definición, aparece un mensaje de error. Por ejemplo, trate de ejecutar el procedimiento cuadradogrande que no ha sido previamente definido. Si escribe cuadradogrande en el Centro de Mando, aparecerá el siguiente mensaje de error:
No sé cómo hacer cuadradograndeOtra forma de ejecutar un procedimiento consiste en llamarlo desde dentro de otro procedimiento. Dentro de la definición de un procedimiento se puede llamar a otro previamente definido. Suponga que ha definido el procedimiento triángulo:
para triángulo
repite 3 [adelante 100 derecha 120]
finAhora defina el procedimiento casa:
para casa
cuadrado
adelante 100
derecha 30
triángulo
finCuando se ejecuta casa, indirectamente también se están ejecutando los procedimientos cuadrado y triángulo. Casa los ejecuta por usted. Lo que está sucediendo es lo siguiente:
Logo va a cada instrucción del procedimiento casa. Cuando ve la instrucción para cuadrado, mira si hay una definición de cuadrado y ejecuta el cuerpo de ese procedimiento. En el caso de cuadrado, su cuerpo es repite 4 [adelante 100 derecha 90]. Luego va a adelante y derecha. Logo sabe que son primitivas.
Cuando llega a triángulo, busca la definición de triángulo y ejecuta el procedimiento.
Luego va a la siguiente línea de casa que es fin. Ahora casa está terminado.
Cuadrado y triángulo son subprocedimientos de casa. Casa es el superprocedimiento de cuadrado y triángulo.
Algunas veces, al programar de arriba hacia abajo, los programadores escriben superprocedimentos que contienen subprocedimientos que todavía no han sido definidos. La programación de arriba hacia abajo es un estilo de programación que involucra estructuración y planificación. Es el estilo de programación preferido por muchos programadores de computadoras.
Si trata de ejecutar casa antes de definir el subprocedimiento triángulo, aparecerá un mensaje de error parecido:
No sé cómo hacer triángulo en casaCuando se define un procedimiento, éste pasa a formar parte del vocabulario Logo para ese proyecto. Cuando se abre un proyecto nuevo, este procedimiento ya no estará disponible. Por supuesto que se puede copiar y pegar la definición dentro de un nuevo proyecto.
Dentro de cualquier proyecto, el vocabulario Logo disponible consiste en las primitivas Logo, más los procedimientos definidos en el área de Procedimientos del proyecto y las palabras añadidas al crear objetos.