iniciar-programa
define-nueva-instruccion pasos(x) como inicio
si (frente-bloqueado y izquierda-bloqueada) y orientado-al-oeste  entonces inicio
repetir x veces deja-zumbador;
apagate;
fin;
si derecha-bloqueada y izquierda-bloqueada y orientado-al-sur entonces inicio
si frente-libre entonces inicio
avanza;
pasos(sucede(x));
fin;
fin;
si izquierda-libre entonces inicio
gira-izquierda;
avanza;

pasos(x);
fin;
si frente-bloqueado entonces inicio
repetir 3 veces gira-izquierda;
si frente-libre entonces avanza;
pasos(x)
fin;
si izquierda-bloqueada y frente-libre entonces inicio
avanza;
 pasos(x);
 fin;
 fin;

    inicia-ejecucion
    mientras no izquierda-bloqueada hacer gira-izquierda;
    pasos(0);
        apagate;
    termina-ejecucion
finalizar-programa
