algorithmic Me

Ejercicios de dibujo

Vamos a escribir programas con lápiz y papel con la intención de dibujar en hojas cuadriculadas. Para eso vamos a usar algunas funciones y estructuras de control.

La idea es que estudies las funciones disponibles y escribas el programa más corto que dibuja la figura.

Cuando termines con una podés pedir otra usando los botones.

La figura

Funciones básicas

La función dibujar(L) dibuja una línea de L cuadraditos de largo en la última dirección utilizada.

La función saltar(L) se mueve sin dibujar L cuadraditos en la última dirección utilizada.

La función girar(A) suma el ángulo Aa la última dirección utilizada.

Bucles

Cuando los dibujos tengan un patrón que se repite podemos utilizar un bucle repetir(N), repetirá el código que tenga adentro N veces.

Escalera

Aquí definimos la función escalera(E,L) para dibujar escaleras de E escalones de largo L.

escalera(E,L):
   repetir(E):
      dibujar(L)
      girar(90)
      dibujar(L)
      girar(270)

Pico

Aquí definimos la función pico(L) para dibujar un pico con segmentos de largo L.

pico(L):
   dibujar(L)
   girar(-45)
   dibujar(L)
   girar(90)
   dibujar(L)
   girar(-45)
   dibujar(L)

Peine

Aquí definimos la función peine(D,L) para dibujar un peine con D dientes de largo L.

peine(D,L):
   repetir(D):
      dibujar(L)
      girar(135)
      dibujar(L)
      girar(-135)

Rulo

Aquí definimos la función rulo(L) para dibujar un rulo con segmentos de largo L.

rulo(L):
   dibujar(2*L)
   girar(-90)
   dibujar(L)
   girar(-90)
   dibujar(L)
   girar(-90)
   dibujar(2*L)

Cuadrado

Aquí definimos la función cuadrado(C,L) para dibujar C lados de un cuadrado con largo L.

cuadrado(C,L):
   repetir(C):
      dibujar(L)
      girar(90)

Octógono

Aquí definimos la función octógono(O,L) para dibujar O lados de un octógono con largo L.

octogono(O,L):
   repetir(O):
      dibujar(L)
      girar(45)