Pág.43 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
• El título está compuesto por: el Mando “para”, el
nombre del procedimiento y los parámetros
(opcional).
• El nombre del procedimiento debe ser una palabra.
Cuando se deben utilizar varias palabras para
nombrar un procedimiento, se escriben sin dejar
espacio entre ellas y con mayúscula la primera letra
de la segunda palabra y de las subsiguientes
palabras (ejemplo: valorMasAlto).
• Cada instrucción completa debe ocupar una línea de
código
• Puede contener líneas en blanco
• En la última línea solo puede aparecer el Mando “fin”
• Desde un procedimiento se pueden invocar otros
procedimientos.
Ejemplo 3-4
Escribir un procedimiento para dibujar en la pantalla un cuadrado de
tamaño variable.
R/.
ANÁLISIS DEL PROBLEMA
Formular el problema: Ya está claramente planteado.
Resultados esperados: El dibujo de un cuadrado en la pantalla.
Datos disponibles: El tamaño de los lados del cuadrado debe
ingresarlo el usuario; se sabe que todos los ángulos internos de un
cuadrado son de 90 grados. El estudiante debe preguntarse si sus
conocimientos actuales de matemáticas le permiten resolver este
problema; de no ser así, debe plantear una estrategia para obtener
los conocimientos requeridos.
Restricciones: El tamaño del cuadrado lo suministra el usuario.
Procesos necesarios: Leer el tamaño del cuadrado como un
parámetro llamado lado; bajar la pluma de dibujar; avanzar adelante
una distancia igual a lado; girar 90 grados a la derecha; avanzar
adelante una distancia igual a lado; girar 90 grados a la derecha;
avanzar adelante una distancia igual a lado; girar 90 grados a la
derecha; avanzar adelante una distancia igual a lado.
DISEÑO DEL ALGORITMO
Aquí tenemos dos formas equivalentes e igualmente correctas de
algoritmo para dibujar un cuadrado. El algoritmo de la izquierda
utiliza un rectángulo de proceso para cada instrucción; el de la
derecha agrupa en un solo rectángulo las instrucciones de proceso
adyacentes.
TRADUCCIÓN DEL ALGORITMO
El siguiente procedimiento es la traducción al lenguaje Logo del
algoritmo representado por el diagrama de flujo. Pedir a los
estudiantes que lo escriban en el área de procedimientos.
MicroMundos
para cuadrado :lado
limpia
cp
adelante :lado
derecha 90
adelante :lado
derecha 90
adelante :lado
derecha 90
adelante :lado
fin
Cuando escriban en el Centro de Mando el nombre del
procedimiento, seguido del parámetro correspondiente al tamaño del
lado (Ejemplo: cuadrado 100 ) debe dibujarse en la pantalla un
cuadrado.
Scratch
Con el fin de poder ejemplificar más adelante las dos
formas de ejecutar un procedimiento, se debe escribir
este otro procedimiento:
MicroMundos
para dibujaCuadrado
cuadrado 120
fin
El procedimiento cuadrado ilustra el modelo general
para escribir procedimientos con parámetros. Este tipo
de procedimientos son muy útiles cuando varias
Pág.44 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
instrucciones se deben ejecutar en un programa varias
veces de manera idéntica, cuya única diferencia sea el
valor inicial que tomen algunas variables. En estos
casos, las instrucciones se “empaquetan” en un
procedimiento y los distintos valores iniciales de las
variables se asignan por medio de parámetros.
El nombre del parámetro se debe escribir en la línea del
título, después del nombre del procedimiento,
ajustándose a las indicaciones establecidas en la
Unidad 2 de esta guía para nombrar identificadores. No
olvidar que al parámetro se debe anteponer el signo de
dos puntos (:) tal como se puede apreciar en el ejemplo
3-4 (:lado).
Luego de definir el nombre de un parámetro en la línea
de título de un procedimiento (para cuadrado :lado), este
parámetro se puede utilizar en cualquiera de las
instrucciones (ejemplo: adelante :lado).
En otras palabras, la línea de título del procedimiento
cuadrado le dice a Logo que solo hay un parámetro,
llamado lado. En el cuerpo del procedimiento se utiliza el
Mando adelante acompañado del parámetro :lado. Esta
instrucción dibuja una línea cuya medida es igual al
valor que contiene :lado.
Cuando en el título de un procedimiento se definen uno
o varios parámetros, estos no tienen valor. Solo cuando
se ejecuta el procedimiento es que se conoce el valor de
cada parámetro. Por esta razón, todo parámetro debe
tener un nombre. Por ejemplo, al cambiar la línea de
título del procedimiento cuadrado por la siguiente (con
dos parámetros):
para cuadrado :lado :ángulo
el valor del ángulo se tratará como un parámetro cuando
se invoque el procedimiento.
En resumen, un procedimiento, internamente, es un
algoritmo que resuelve en forma parcial un problema.
Desde el punto de vista externo es una orden o
instrucción única que puede formar parte de otro
procedimiento o algoritmo (Cajaraville, 1989).
Por otra parte, los estudiantes deben aprender a
distinguir entre escribir un procedimiento y ejecutarlo. La
primera actividad es el resultado de las etapas de
análisis del problema, diseño del algoritmo y traducción
de este a un lenguaje de programación.
La segunda actividad (ejecutar un procedimiento) hay
dos formas de realizarla. La manera más simple
consiste en escribir el nombre del procedimiento en el
Centro de Mando (ver ilustración 3-2). Escribir cuadrado
100 en el Centro de Mando ejecuta el procedimiento
llamado cuadrado, asigna el valor 100 al parámetro :lado
y dibuja en la pantalla un cuadrado. Este procedimiento
requiere que el usuario especifique la medida de los
lados. Para dibujar un cuadrado cuyos lados midan 60
unidades se debe escribir cuadrado 60 en el Centro de
Mando. Para dibujar un cuadrado más grande se debe
aumentar el valor del parámetro; por ejemplo:
cuadrado 150.
Otra forma de ejecutar un procedimiento es invocándolo
desde otro procedimiento. Cuando se ejecuta el
procedimiento dibujaCuadrado (sin parámetros),
indirectamente se ejecuta el procedimiento cuadrado
con 120 como parámetro. Este procedimiento dibuja
exactamente el mismo cuadrado cada vez que se
ejecuta (ver ejemplo 3-4).
Adicionalmente, poder invocar un procedimiento desde
otro, simplifica el dibujo de figuras simétricas. Se dice
que una figura es simétrica cuando al doblarla por la
mitad sus dos partes coinciden (Casasbuenas &
Cifuentes, 1998b). El ejemplo 3-5 en la sección
“Estructura Secuencial” ilustra muy bien la construcción
de figuras simétricas mediante la utilización de
procedimientos que invocan a otros procedimientos.
Cada procedimiento tiene su propia biblioteca de
nombres, esta es la razón por la cual un procedimiento
puede transferirle parámetros a otros, manteniendo los
valores de sus propios parámetros. Como los nombres
de los parámetros son privados, diferentes
procedimientos pueden usar el mismo nombre para un
parámetro sin que haya confusión acerca de su valor.
Cuando Logo ejecuta un procedimiento, éste establece
una biblioteca privada que contiene los nombres de los
parámetros que hay en la definición del procedimiento,
asociados con los valores dados al momento de llamar
al procedimiento. Al ejecutarse una instrucción que
contiene el nombre del parámetro, el procedimiento
busca en su biblioteca privada el valor de ese nombre.
Este es el motivo por el cual el mismo nombre de
parámetro puede estar en dos bibliotecas distintas y
tener información diferente.
Los parámetros son como "variables locales" del
procedimiento en el cual fueron definidos. La
importancia de los nombres de entrada privados es que
ofrecen la posibilidad de ejecutar un procedimiento sin
tener que preocuparse por detalles de su definición.
Por su parte, en Scratch no hay procedimientos con
parámetros como en MicroMundos; sin embargo, se
pueden simular con las instrucciones de Control “Al
enviar a todos” y “Al recibir”.
Scratch