iniciar-programa

define-nueva-instruccion con( i ) como inicio
 si(junto-a-zumbador)entonces inicio
   coge-zumbador;
   con(sucede( i ));
   avanza;
 fin
 sino inicio
 repetir i veces deja-zumbador;
  avanza; avanza;
  gira-izquierdA; gira-izquierda; gira-izquierdA;
  mientras(no-junto-a-zumbador)hacer avanza;
  coge-zumbador;
 fin;
fin;

define-nueva-instruccion tor(a) como inicio
 si(junto-a-zumbador)entonces inicio
    coge-zumbador;
    tor(sucede(a));
    avanza;
  fin
  sino inicio
    repetir a veces deja-zumbador;
    avanza; avanza;
    gira-izquierda; gira-izquierda; gira-izquierda;
    mientras(no-junto-a-zumbador)hacer avanza;
    coge-zumbador;
  fin;
fin;

define-nueva-instruccion preguntar como inicio

 avanza;
 si(no-junto-a-zumbador)entonces inicio
  mientras(no-orientado-al-oeste)hacer gira-izquierda;
  mientras(frente-libre)hacer avanza;
  gira-izquierda;
   avanza; avanza;
   gira-izquierda; gira-izquierdA;
   tor(0); deja-zumbador;
   gira-izquierda; gira-izquierdA;
   mientras(frente-libre)hacer avanza;
   gira-izquierda; avanza; gira-izquierda;
   gira-izquierda;
   con(0); deja-zumbador;
   gira-izquierda; gira-izquierda; gira-izquierda;
   preguntar;
   deja-zumbador;
 fin
 sino inicio
  mientras(no-orientado-al-sur)hacer gira-izquierda;
  mientras(frente-libre)hacer avanza;
  gira-izquierda; gira-izquierda; gira-izquierda;
  mientras(frente-libre)hacer avanza;
 fin;
fin;

    inicia-ejecucion

repetir 4 veces avanza;
deja-zumbador;
gira-izquierda; gira-izquierda;

preguntar;

        apagate;
    termina-ejecucion
finalizar-programa
