iniciar-programa
define-nueva-instruccion norte como
    inicio
        mientras no-orientado-al-norte hacer gira-izquierda;
    fin;
define-nueva-instruccion sur como
    inicio
        mientras no-orientado-al-sur hacer gira-izquierda;
    fin;
define-nueva-instruccion este como
    inicio
        mientras no-orientado-al-este hacer gira-izquierda;
    fin;
define-nueva-instruccion orienta como
    inicio
        sur;
        mientras frente-libre hacer avanza;
        este;
     fin;
define-nueva-instruccion ve(i) como
    inicio
      si orientado-al-norte entonces repetir i veces
      inicio
        deja-zumbador;
        si frente-libre entonces avanza;
       fin;
      si ningun-zumbador-en-la-mochila entonces apagate;
      orienta;
      mientras orientado-al-este hacer
       inicio
        si frente-libre y orientado-al-este entonces avanza;
        si orientado-al-este entonces gira-izquierda;
        ve(sucede(i));
       fin;
    fin;
    inicia-ejecucion
    norte;
    si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador;
    este;
    ve(1);
        apagate;
    termina-ejecucion
finalizar-programa
