4º ESO – Programación con MSWLogo – Videojuego de coches (II)

Procedimientos

Tal como hemos visto en el apartado anterior, a través de la caja de entrada Logo ejecuta las instrucciones sueltas conforme se van introduciendo. Para crear un verdadero programa tenemos que darle un nombre y conseguir que todas las instrucciones que lo forman se ejecuten cuando escribamos ese nombre en la caja de entrada.

Pues bien, un procedimiento es un conjunto de instrucciones, agrupadas bajo un nombre, que serán ejecutadas al escribir el nombre del procedimiento en la caja de entrada. Su estructura es la siguiente:
para nombre del procedimiento
……..
instrucciones que lo forman
……..
fin


Para crear un procedimiento se utiliza el editor con que cuenta MSWLogo, a él se accede pinchando en el botón Editar, situado en la parte inferior derecha. Como ejemplo vamos a realizar un procedimiento para dibujar un cuadrado de lado 100. Una vez escrito, pulsamos Guardar y Salir para que el procedimiento quede almacenado en la memoria del ordenador y podamos ejecutarlo poniendo su nombre en la caja de entrada.

Después de escribir un procedimiento y guardarlo en la memoria del ordenador, éste puede ser tratado como si hubiésemos creado una nueva instrucción y, como tal, lo podemos ejecutar llamándolo desde otros procedimientos. En general, los programas se suelen dividir en varios procedimientos que son llamados o ejecutados desde uno principal o inicial.

Actividades

5. Realizar un procedimiento denominado rectangulo y otro llamado triangulo que dibujen un rectángulo y un triángulo similares a los de las actividades 1 y 2 anteriores.
6. Escribir un procedimiento denominado figura que realice el dibujo adjunto. Los triángulos y el rectángulo se harán llamando a los procedimientos del ejercicio anterior.

 

Variables

MSWLogo puede guardar información que luego nos puede servir para nuestro programa. Para ello, utilizamos dos puntos, que tomarán lo que venga después como una variable que luego podamos recuperar.

 

Compruébalo en este procedimiento llamado “cuadro”, donde tendremos que escribir la magnitud del lado. El tamaño del cuadrado se especificará mediante la variable lado que acompañará al nombre del procedimiento cuando lo invoques.

para cuadro :lado
bp
repite 4 [av :lado gd 90]
fin

Ahora invócalo para que dibuje un cuadrado de lado 100, tecleando cuadro 100. Prueba también a teclear cuadro 20, cuadro 78 o cuadro 35. ¿Lo ves? Te obedece.

Por otro lado, aprenderemos estas instrucciones nuevas:

Haz “variable – Pide una variable

:variable – Escribe la variable reconocida.

¿Sería posible construir un único procedimiento, que fuese capaz de dibujar cualquier polígono regular? Si, porque el ángulo que debe girar la tortuga puede deducirse fácilmente a partir del número de lados del polígono.

Probaremos esto con el procedimiento que llamaremos “poli”, seguido de la variable lados, que dibuje un polígono regular de 80 puntos de lado, con el número de lados indicado en la variable lados:

para poli :lados
bp bl
haz “angulo 360/:lados
repite :lados [av 80 gd :angulo]
ot
fin

haz “angulo 360/:lados – calcula el ángulo de giro en cada vértice
repite :lados [av 80 gd :angulo] – dibuja el polígono

Modificaremos ahora el procedimiento poli para que admita dos parámetros: el número de lados y la longitud de esos lados

para poli :lados :longitud
bp bl
poncp 12 poncl 0 pong [3 3]
haz “angulo 360/:lados
repite :lados [av :longitud gd :angulo]
ot
fin

Para probarlo, escribe en la línea de órdenes el polígono que quieres que dibuje. Por ejemplo, si le ordenas poli 5 90 deberá dibujar un pentágono cuyos lados miden 90 puntos.

 

Siguiente: Programación con MSWLogo (III)

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s