iniciar-programa

define-nueva-instruccion gira-derecha como inicio
repetir 3 veces
gira-izquierda;
fin;
    inicia-ejecucion

      mientras frente-libre hacer inicio
      mientras no junto-a-zumbador  y frente-libre hacer inicio
      avanza;
      fin;

      mientras  junto-a-zumbador hacer inicio
      si junto-a-zumbador entonces inicio
      coge-zumbador;
      si junto-a-zumbador entonces inicio
      deja-zumbador;
      fin;
      avanza;
      fin;
      fin;

      gira-derecha;
      si frente-libre entonces
      avanza;
      gira-derecha;

      mientras no junto-a-zumbador y frente-libre hacer inicio
      avanza;
      fin;

      mientras  junto-a-zumbador y frente-libre hacer inicio
      si junto-a-zumbador entonces inicio
      coge-zumbador;
      si junto-a-zumbador entonces inicio
      deja-zumbador;
      fin;
      avanza;
      fin;
      fin;

      gira-izquierda;
       si frente-libre entonces inicio
       avanza;
       gira-izquierda;
       fin;
       si frente-bloqueado entonces inicio
       gira-izquierda;
       gira-izquierda;
       mientras frente-libre hacer
       avanza;
       fin;
     fin;

     mientras algun-zumbador-en-la-mochila hacer inicio
     deja-zumbador;
     fin;
     gira-derecha;
     avanza;

     (*segunda*)

      mientras frente-libre hacer inicio
      mientras no junto-a-zumbador  y frente-libre hacer inicio
      avanza;
      fin;

      mientras frente-libre hacer inicio
      si junto-a-zumbador entonces inicio
      coge-zumbador;
      fin;
      avanza;
      fin;

      gira-derecha;
      si frente-libre entonces
      avanza;
      gira-derecha;

      mientras frente-libre hacer inicio
      avanza;
      si junto-a-zumbador entonces inicio
      coge-zumbador;
      fin;
      fin;

      gira-izquierda;
       si frente-libre entonces inicio
       avanza;
       gira-izquierda;
       fin;
       si frente-bloqueado entonces inicio
       gira-izquierda;
       gira-izquierda;
       mientras frente-libre hacer
       avanza;
       fin;

       fin;

       gira-izquierda;
       gira-izquierda;
       avanza;

       mientras algun-zumbador-en-la-mochila hacer inicio
       deja-zumbador;
       fin;


        apagate;
    termina-ejecucion
finalizar-programa
