iniciar-programa
define-nueva-instruccion gira(n) como
inicio
repetir n veces gira-izquierda;
fin;
define-nueva-instruccion funcion(n) como
inicio
   si orientado-al-este entonces
   inicio
     si no-junto-a-zumbador entonces
     inicio
     avanza;
     funcion(sucede(n));
     fin;
     si junto-a-zumbador entonces
     inicio
        coge-zumbador;
        gira(2);
        repetir n veces inicio
         avanza;
        fin;
        repetir sucede(n) veces inicio
           deja-zumbador;
        fin;
        gira(1);
        si frente-libre entonces
        inicio
        avanza;
        fin;
        si junto-a-zumbador entonces
        inicio
               apagate;
        fin
        sino
        inicio
            gira(1);
           funcion(0);
        fin;
     fin;
   fin;
fin;
define-nueva-instruccion iniciar como
inicio
   mientras no-orientado-al-sur     hacer
   inicio
      gira-izquierda;
   fin;
   si orientado-al-sur entonces
   inicio
     si junto-a-zumbador entonces
     inicio
        avanza;
        si no-junto-a-zumbador entonces
        inicio
           gira(1);
        funcion(0);
        fin
        sino
        inicio
        apagate;
        fin;
     fin;
   fin;
fin;
    inicia-ejecucion
iniciar;
        apagate;
    termina-ejecucion
finalizar-programa
