iniciar-programa
define-nueva-instruccion gira(n) como repetir n veces gira-izquierda;
define-nueva-instruccion camina como
inicio
   si frente-libre entonces
       inicio
       avanza
       fin
      sino
      inicio
      si derecha-libre y izquierda-libre entonces
      inicio
        si orientado-al-este entonces
        inicio
          gira(1);
          avanza;
          gira(1);
        fin
        sino inicio
           gira(3);
           avanza;
           gira(3);
        fin;
      fin
      sino inicio mientras no-orientado-al-sur hacer gira-izquierda;
      fin;
      fin;
fin;
define-nueva-instruccion llega como
inicio
  avanza;
  avanza;
  gira(3);
fin;
define-nueva-instruccion regresa como
inicio
   gira(2);
   mientras frente-libre hacer avanza;
   gira(3);
fin;
define-nueva-instruccion proceso como
inicio
  si no-orientado-al-sur entonces inicio
    si junto-a-zumbador entonces
    inicio
       coge-zumbador;
       camina;
       proceso;
       deja-zumbador;
    fin
    sino inicio
       camina;
       proceso;
       fin;               
   fin
   sino inicio
     gira(3);
     mientras frente-libre hacer avanza;
     gira(1);
     mientras frente-libre hacer avanza;
     gira(1);
     mientras junto-a-zumbador hacer avanza;
     fin;
fin;
define-nueva-instruccion comienza como
inicio
  repetir 10 veces inicio
      llega;
      proceso;
      regresa;
      fin;
fin;
    inicia-ejecucion
        comienza;
        apagate;
    termina-ejecucion
finalizar-programa
