iniciar-programa
 define-nueva-instruccion
horizontal como inicio
 mientras no-orientado-al-oeste
hacer
 gira-izquierda;
 si frente-libre
entonces
inicio
 avanza;
 horizontal;
 mientras no-orientado-al-este
hacer
 gira-izquierda;
 avanza;
 fin
 sino
 inicio
 coge-zumbador;
 fin;
 fin;
 define-nueva-instruccion
vertical como
 inicio
 mientras no-orientado-al-sur
hacer
GIRA-IZQUIERDA;

si frente-libre
entonces
 inicio
 avanza;
 vertical;
 mientras no-orientado-al-norte
hacer
 gira-izquierda;
 avanza;
 fin
 sino
 inicio
 horizontal;
 fin;
 fin;
 inicia-ejecucion
 MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;

  MIENTRAS IZQUIERDA-BLOQUEADA HACER INICIO
  AVANZA;
  SI IZQUIERDA-LIBRE ENTONCES INICIO
  GIRA-IZQUIERDA;
  AVANZA;
  AVANZA;
  GIRA-IZQUIERDA;
  FIN;
  FIN;

    vertical;

    REPETIR 3 VECES GIRA-IZQUIERDA;
    MIENTRAS FRENTE-LIBRE HACER INICIO

    AVANZA;
    FIN;
   SI FRENTE-BLOQUEADO ENTONCES REPETIR 3 VECES GIRA-IZQUIERDA;

   MIENTRAS FRENTE-LIBRE HACER INICIO

    AVANZA;
    FIN;
   SI FRENTE-BLOQUEADO ENTONCES REPETIR 3 VECES GIRA-IZQUIERDA;
  MIENTRAS FRENTE-LIBRE HACER INICIO

    AVANZA;
    FIN;
   SI FRENTE-BLOQUEADO ENTONCES REPETIR 3 VECES GIRA-IZQUIERDA;
 deja-zumbador;


 apagate;
 termina-ejecucion
 finalizar-programa

