iniciar-programa
define-nueva-instruccion gira-derecha como inicio
   gira-izquierda;
    gira-izquierda;
  gira-izquierda;
 fin;
define-nueva-instruccion oeste como inicio
    mientras no-orientado-al-oeste hacer gira-izquierda;
  fin;
  define-nueva-instruccion norte como inicio
    mientras no-orientado-al-norte hacer gira-izquierda;
  fin;
define-nueva-instruccion esquina como inicio
  si junto-a-zumbador entonces inicio
 oeste;
  mientras frente-libre hacer avanza;
  gira-izquierda;
  mientras frente-libre hacer avanza;
  fin;
  fin;
  define-nueva-instruccion perimetro como inicio
   si izquierda-bloqueada  entonces inicio
   deja-zumbador;
    avanza;
    perimetro;
    mientras frente-libre hacer avanza;
    deja-zumbador;
  fin
   sino inicio
 si izquierda-libre y derecha-libre entonces inicio
 gira-izquierda;
 si frente-libre entonces avanza;
   perimetro;
   fin;
   fin;
   fin;
    inicia-ejecucion
    norte;
   si frente-libre entonces inicio
   avanza;
    gira-derecha;
    avanza;
    fin;
    perimetro;
        apagate;
    termina-ejecucion
finalizar-programa
