iniciar-programa

define-nueva-instruccion contar(b) como inicio

 si(frente-libre o derecha-libre)entonces inicio

   si(frente-bloqueado y derecha-libre)entonces inicio
     si(junto-a-zumbador)entonces inicio
        coge-zumbador;
        gira-izquierda; gira-izquierdA;
        mientras(frente-libre)hacer avanza;
        gira-izquierda; avanza;
        gira-izquierda; avanza; avanza;
        contar(sucede(b));
     fin
     sino inicio
        gira-izquierda; gira-izquierdA;
        mientras(frente-libre)hacer avanza;
        gira-izquierda; avanza;
        gira-izquierda; avanza; avanza;
       contar(b);
     fin;
   fin
   sino inicio
   si(junto-a-zumbador)entonces inicio
     coge-zumbador;
     avanza;
     contar(sucede(b));
    fin
   sino inicio
     avanza;
     contar(b);
    fin;
  fin;
 fin

 sino inicio
   si(junto-a-zumbador)entonces inicio
      coge-zumbador;
      gira-izquierda; mientras(frente-libre)hacer avanza;
      gira-izquierda; mientras(frente-libre)hacer avanza;
      gira-izquierdA; mientras(junto-a-zumbador)hacer avanza;
      repetir b veces deja-zumbador; deja-zumbador;
   fin
   sino inicio
      gira-izquierda; mientras(frente-libre)hacer avanza;
      gira-izquierda; mientras(frente-libre)hacer avanza;
      gira-izquierdA; mientras(junto-a-zumbador)hacer avanza;
      repetir b veces deja-zumbador;
   fin;
 fin;

 fin;



    inicia-ejecucion

  mientras(no-orientado-al-este)hacer gira-izquierda;

 mientras(frente-libre)hacer inicio
 gira-izquierda;  gira-izquierda;
 mientras(frente-libre)hacer avanza;
 gira-izquierda; gira-izquierda; gira-izquierdA;
 avanza; avanza; contar(0);
 fin;
        apagate;
    termina-ejecucion
finalizar-programa
