iniciar-programa

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

    define-nueva-instruccion recogeyforma como
    inicio
      mientras frente-libre hacer
      inicio
          si junto-a-zumbador entonces
          inicio
             mientras junto-a-zumbador hacer coge-zumbador;
             gira-izquierda;
             gira-izquierda;
             mientras frente-libre hacer avanza;
             gira-izquierda;
             gira-izquierda;
             mientras algun-zumbador-en-la-mochila hacer
             inicio
                 deja-zumbador;
                 avanza;
             fin;
              mientras junto-a-zumbador hacer avanza;

          fin
          sino
          inicio
            avanza;
          fin;
      fin;
      mientras junto-a-zumbador hacer coge-zumbador;
       gira-izquierda;
             gira-izquierda;
             mientras frente-libre hacer avanza;
             gira-izquierda;
             gira-izquierda;
             mientras algun-zumbador-en-la-mochila hacer
             inicio
                 deja-zumbador;
                 avanza;
             fin;
    fin;

    define-nueva-instruccion dejauno como
    inicio
      mientras junto-a-zumbador hacer
      inicio
         mientras junto-a-zumbador hacer coge-zumbador;
         deja-zumbador;
         si frente-libre entonces avanza;
      fin;
             gira-izquierda;
             gira-izquierda;
             mientras frente-libre hacer avanza;
             gira-izquierda;
            si frente-libre entonces avanza sino apagate;
            gira-izquierda;
    fin;

    inicia-ejecucion
    mientras frente-libre hacer
    inicio
        recogeyforma;
        gira-izquierda;
        gira-izquierda;
        mientras frente-libre hacer avanza;
        gira-izquierda;
        si frente-libre entonces avanza sino gira-derecha;
        gira-izquierda;
    fin;
         gira-izquierda;
         gira-izquierda;
         mientras frente-libre hacer avanza;
         gira-derecha;

        mientras frente-libre hacer dejauno;
        apagate;
    termina-ejecucion
finalizar-programa
