iniciar-programa
define-nueva-instruccion gira(g) como repetir g veces gira-izquierda;

define-nueva-instruccion cuenta como inicio
si frente-libre y no junto-a-zumbador entonces inicio
avanza;
cuenta;
deja-zumbador;
fin
sino
mientras junto-a-zumbador hacer coge-zumbador;
fin;


define-nueva-instruccion coge2(n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
coge2(sucede(n));
fin
sino inicio
repetir n veces inicio
repetir n veces deja-zumbador;
si frente-bloqueado entonces inicio
gira(3);
avanza;
cuenta;
deja-zumbador;
deja-zumbador;
apagate;
fin;
avanza;
fin;
gira(2);
avanza;
gira(3);
si frente-bloqueado entonces inicio
gira(3);
mientras frente-libre hacer avanza;
gira(3);
cuenta;
deja-zumbador;
apagate;
fin;
avanza;
gira(3);
coge2(sucede(n));
fin;
fin;



define-nueva-instruccion coge(n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
coge(sucede(n));
fin
sino inicio
repetir n veces deja-zumbador;
si junto-a-zumbador entonces inicio
coge-zumbador;
si junto-a-zumbador entonces inicio
si frente-bloqueado entonces inicio
si izquierda-bloqueada entonces inicio
gira(3);
avanza;
gira-izquierda;
fin;
gira(2);
mientras junto-a-zumbador hacer coge-zumbador;
deja-zumbador;
coge2(0);
fin;
deja-zumbador;
fin
sino inicio
gira(3);
deja-zumbador;
si frente-bloqueado entonces inicio
gira(3);
mientras frente-libre hacer avanza;
gira(3);
cuenta;
deja-zumbador;
apagate;
fin;
avanza;
deja-zumbador;
gira(3);
coge2(0);
fin;
fin;
repetir n veces coge-zumbador;
repetir n veces inicio
repetir n veces deja-zumbador;
si frente-libre entonces avanza;
fin;
gira(2);
mientras no junto-a-zumbador hacer  avanza;
gira-izquierda;
avanza;
gira-izquierda;
coge(precede(n));
fin;
fin;


  inicia-ejecucion
  mientras no orientado-al-norte  hacer gira-izquierda;
  si izquierda-bloqueada y derecha-bloqueada  entonces inicio
  gira(2);
  mientras frente-libre hacer avanza;
  mientras junto-a-zumbador hacer coge-zumbador;
  deja-zumbador;
  apagate;
  fin;
    coge(0);
        apagate;
    termina-ejecucion
finalizar-programa
