iniciar-programa
define-nueva-instruccion norte como inicio
mientras no-orientado-al-norte hacer
gira-izquierda;
fin;
define-nueva-instruccion gira-derecha como inicio
repetir 3 veces
gira-izquierda;
fin;
define-nueva-instruccion media-vuelta como inicio
repetir 2 veces
gira-izquierda;
fin;
define-nueva-instruccion perim como inicio
si derecha-libre entonces inicio
gira-derecha;
avanza;
si junto-a-zumbador entonces inicio
 mientras no-orientado-al-sur hacer
  gira-izquierda;
  mientras frente-libre hacer
  avanza;
  mientras no-orientado-al-oeste hacer
  gira-izquierda;
  mientras frente-libre hacer
  avanza;
  gira-derecha;
fin;
fin;
 si derecha-bloqueada entonces inicio
 deja-zumbador;
 avanza;
 perim;
  deja-zumbador;
fin
sino inicio
  mientras no-orientado-al-sur hacer
  gira-izquierda;
  mientras frente-libre hacer
  avanza;
  mientras no-orientado-al-oeste hacer
  gira-izquierda;
  mientras frente-libre hacer
  avanza;
  gira-derecha;
fin;
fin;
    inicia-ejecucion
mientras no-orientado-al-norte hacer
gira-izquierda;
avanza;
avanza;
perim;
        apagate;
    termina-ejecucion
finalizar-programa
