iniciar-programa
define-nueva-instruccion derecha como
inicio
   repetir 3 veces
      gira-izquierda;
fin;
define-nueva-instruccion revisa2 como
inicio
      si no-junto-a-zumbador y frente-libre entonces
      inicio
         avanza;
         revisa2;
         avanza;
      fin
      sino
         si junto-a-zumbador entonces
         apagate
         sino
         inicio
      gira-izquierda;
      gira-izquierda;
      fin;
fin;
define-nueva-instruccion revisa como
inicio
    gira-izquierda;
    revisa2;       
    gira-izquierda;
fin;
    inicia-ejecucion
        mientras frente-libre hacer
           avanza;
        mientras derecha-libre hacer
           gira-izquierda;
        mientras frente-libre o frente-bloqueado hacer
        inicio
            mientras derecha-bloqueada y frente-libre hacer
            inicio
                avanza;
                revisa;
            fin;
            si derecha-libre entonces
            inicio
                derecha;
                avanza;
                revisa;
                si derecha-libre entonces
                inicio
                   derecha;
                   avanza;
                   revisa;
                fin;
            fin
            sino
            inicio
               gira-izquierda;
            fin;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
