iniciar-programa
 define-nueva-instruccion norte como inicio
   mientras no-orientado-al-norte hacer inicio
     gira-izquierda;
   fin;
 fin;
 define-nueva-instruccion sur como inicio
   mientras no-orientado-al-sur hacer inicio
     gira-izquierda;
   fin;
 fin;
 define-nueva-instruccion este como inicio
   mientras no-orientado-al-este hacer inicio
     gira-izquierda;
   fin;
 fin;
 define-nueva-instruccion oeste como inicio
   mientras no-orientado-al-oeste hacer inicio
     gira-izquierda;
   fin;
 fin;
 define-nueva-instruccion esqsupder como inicio
   norte;
   mientras frente-libre hacer inicio
     avanza;
   fin;
   este;
   mientras frente-libre hacer inicio
    avanza;
   fin;
 fin;

 define-nueva-instruccion marca1 como inicio
   si no-junto-a-zumbador entonces inicio
     deja-zumbador;
     sur;
     si frente-libre entonces inicio
      avanza;
      marca1;
      norte;
      avanza;
     fin;
     oeste;
    si frente-libre entonces inicio
      avanza;
      marca1;
      este;
      avanza;
    fin;
    fin;
    fin;
 define-nueva-instruccion camina como inicio
   si frente-libre entonces inicio
     avanza;
   fin sino inicio
     si orientado-al-sur entonces inicio
       oeste;
       si frente-libre entonces inicio
        avanza;
        norte;
       fin;
     fin  sino inicio
       oeste;
       si frente-libre entonces inicio
         avanza;
         sur;
       fin;
   fin;
  fin;
 fin;
define-nueva-instruccion recoge1 como inicio
 si no-orientado-al-oeste entonces inicio
  si junto-a-zumbador entonces inicio
     coge-zumbador;
     si no-junto-a-zumbador entonces inicio
        camina;
        recoge1;
        deja-zumbador;
       fin sino inicio
         camina;
         recoge1;
       fin;
 fin sino inicio
   camina;
   recoge1;
  fin;
 fin sino inicio
   esqsupder;
   mientras junto-a-zumbador hacer inicio
     coge-zumbador;
   fin;
  fin;
 fin;

    inicia-ejecucion
     esqsupder;
     marca1;
     esqsupder;
     sur;
     recoge1;


        apagate;
    termina-ejecucion
finalizar-programa
