iniciar-programa
          define-nueva-instruccion dos como
          inicio
          si frente-libre entonces
          inicio
          avanza;
          dos;
          avanza;
          fin
          sino
          inicio
          repetir 2 veces gira-izquierda;
          mientras frente-libre hacer avanza;
          gira-izquierda;
          mientras derecha-bloqueada hacer avanza;
          repetir 3 veces gira-izquierda;
          avanza;
         repetir 3 veces gira-izquierda;
         mientras frente-libre hacer avanza;
         gira-izquierda;
          fin;
          fin;


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



    inicia-ejecucion
    mientras no-orientado-al-este hacer gira-izquierda;
    mientras orientado-al-este hacer
    inicio
    mientras no-junto-a-zumbador hacer
    inicio
    si frente-bloqueado entonces apagate;
    si frente-libre entonces avanza;
    fin;
    uno;
    repetir 2 veces gira-izquierda;
    mientras frente-libre hacer avanza;
      repetir 3 veces gira-izquierda;
      mientras izquierda-bloqueada hacer avanza;
      gira-izquierda;
      mientras frente-libre hacer avanza;
      gira-izquierda;
      mientras frente-libre hacer avanza;
      gira-izquierda;
      fin;
        apagate;
    termina-ejecucion
finalizar-programa
