iniciar-programa
define-nueva-instruccion linea como inicio
mientras no-junto-a-zumbador hacer inicio

         si no-junto-a-zumbador entonces inicio
         deja-zumbador;
         repetir 3 veces inicio
    gira-izquierda;
    fin;
    avanza;
    gira-izquierda;
    avanza;
         fin
         sino inicio
         sal-de-instruccion;
         fin;

            si no-junto-a-zumbador entonces inicio
         deja-zumbador;
         repetir 3 veces inicio
    gira-izquierda;
    fin;
    avanza;
    gira-izquierda;
    avanza;
         fin
         sino inicio
         sal-de-instruccion;
         fin;
         fin;

fin;
define-nueva-instruccion toma como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
toma;

fin;
deja-zumbador;
si frente-libre entonces inicio
avanza;
fin;

    fin;

define-nueva-instruccion recoge como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
avanza;
recoge;
fin
sino inicio
 repetir 2 veces inicio
    gira-izquierda;
    fin;
   avanza;
   deja-zumbador;
   fin;
   deja-zumbador;

fin;
    inicia-ejecucion
     si no-junto-a-zumbador entonces inicio
     deja-zumbador; apagate;
     fin;
    si junto-a-zumbador entonces inicio
    coge-zumbador;
     fin;
    si no-junto-a-zumbador entonces inicio
    deja-zumbador;
    avanza;
    deja-zumbador;
   repetir 2 veces inicio
    gira-izquierda;
    fin;
   repetir 2 veces inicio
   avanza;
   fin;
   deja-zumbador;
   repetir 2 veces inicio
    gira-izquierda;
    fin;
    avanza;
    gira-izquierda;
    avanza;
    deja-zumbador;
     repetir 2 veces inicio
   gira-izquierda;
   fin;
   repetir 2 veces inicio
   avanza;
   fin;
   deja-zumbador;
apagate;
  fin

  sino inicio
  si junto-a-zumbador entonces inicio
    deja-zumbador;
    mientras no-orientado-al-norte hacer inicio
    gira-izquierda;
    fin;
    repetir 4 veces inicio
    toma;
    si no-junto-a-zumbador entonces inicio
    repetir 2 veces inicio
    gira-izquierda;
    fin;
    repetir 2 veces inicio
    avanza;
    fin;
    fin
    sino inicio                        
     repetir 2 veces inicio
    gira-izquierda;
    fin;
    avanza;
    fin;
       recoge;
      repetir 2 veces inicio
      coge-zumbador;
      fin;
      gira-izquierda;
            fin;
            avanza;
        mientras no-junto-a-zumbador hacer inicio
          avanza;
         fin;
         gira-izquierda;
        repetir 4 veces inicio
        avanza;
         gira-izquierda;
         avanza;
        linea;
        fin;
      fin;
      fin;



        apagate;
    termina-ejecucion
finalizar-programa
