iniciar-programa
define-nueva-instruccion recursiva como
inicio
si frente-libre entonces
    inicio
    repetir 2 veces avanza;
    recursiva;
    si frente-bloqueado entonces repetir 2 veces gira-izquierda;
    avanza;
    fin;
fin;
    inicia-ejecucion
    mientras no-orientado-al-oeste hacer gira-izquierda;
    mientras frente-libre hacer avanza;
    gira-izquierda;
    mientras frente-libre hacer avanza;
    gira-izquierda;
    recursiva;
    repetir 3 veces gira-izquierda;
    mientras frente-libre hacer
        inicio
        deja-zumbador;
        avanza;
        fin;
        deja-zumbador;
        gira-izquierda;
        mientras frente-libre hacer avanza;
        gira-izquierda;
        recursiva;
        repetir 3 veces gira-izquierda;
   mientras frente-libre hacer
        inicio
        deja-zumbador;
        avanza;
        fin;
        deja-zumbador;
        repetir 3 veces gira-izquierda;
        mientras frente-libre hacer avanza;
        repetir 2 veces gira-izquierda;
        mientras frente-libre hacer
            inicio
            deja-zumbador;
             gira-izquierda;
             avanza;
             repetir 3 veces gira-izquierda;
             avanza;
             fin;
          deja-zumbador;
          repetir 2 veces gira-izquierda;
          mientras frente-libre hacer avanza;
          repetir 2 veces gira-izquierda;
          mientras frente-libre hacer
          inicio
          deja-zumbador;
          repetir 3 veces gira-izquierda;
          avanza;
          gira-izquierda;
          avanza;
          fin;
          deja-zumbador;
          repetir 2 veces gira-izquierda;
          recursiva;
          gira-izquierda;
          recursiva;
          repetir 3 veces coge-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
