iniciar-programa
  define-nueva-instruccion media-Vuelta como repetir 2 veces gira-izquierda;
  define-nueva-instruccion gira-Derecha como repetir 3 veces gira-izquierda;
  define-prototipo-instruccion Compara(n);

  define-nueva-instruccion prueba(n) como inicio
  Repetir n veces
  Si junto-a-zumbador y orientado-al-oeste entonces inicio
  Coge-zumbador;
  fin
  sino si no junto-a-zumbador o orientado-al-este  entonces inicio
  mientras no orientado-al-este hacer gira-izquierda;
  deja-zumbador;
  fin;
  Gira-izquierda;
  Avanza;
  Repetir n veces deja-zumbador;
  media-vuelta; avanza;
  Gira-izquierda;
  Compara(0);
  fin;

  define-nueva-instruccion copia(n) como inicio
  Si junto-a-zumbador entonces inicio
  Coge-zumbador;
  copia(sucede(n));
  fin
  sino si no junto-a-zumbador entonces inicio
  repetir n veces deja-zumbador;
  Gira-izquierda;
  Avanza;
  Repetir n veces deja-zumbador;
  media-vuelta; avanza;
  Gira-izquierda;
  fin;
  fin;

  define-nueva-instruccion Determina(n) como inicio
  Repetir n veces
  Si junto-a-zumbador y orientado-al-este entonces inicio
  Coge-zumbador;
  fin
  sino si no junto-a-zumbador o orientado-al-oeste  entonces inicio
  Mientras no orientado-al-oeste hacer gira-izquierda;
  deja-zumbador;
  fin;

  Si orientado-al-oeste entonces inicio
  prueba(n);
  fin;
  Si junto-a-zumbador entonces inicio
  repetir n veces deja-zumbador;
  COPIA(0);
  Compara(0);
  fin;

  Repetir n veces deja-zumbador;
  Gira-izquierda;
  Avanza;
  Repetir n veces deja-zumbador;
  media-vuelta; avanza;
  Gira-izquierda;
  compara(0);

  fin;

  define-nueva-instruccion Compara(n) como inicio
  Si junto-a-zumbador entonces inicio
  Coge-zumbador;
  compara(sucede(n));
  fin
  sino si no junto-a-zumbador entonces inicio
  repetir n veces deja-zumbador;
  avanza;
  Si junto-a-zumbador entonces inicio
  Determina(n);
  fin
  Sino si no junto-a-zumbador entonces inicio
  Media-vuelta;
  Avanza;
  Gira-derecha; avanza; gira-izquierda;
  Si junto-a-zumbador entonces  inicio
  Mientras frente-libre y junto-a-zumbador hacer inicio
  avanza;
  fin;
  Media-vuelta;
  Avanza;
  Compara(0);
  fin
  sino inicio
  Mientras frente-libre hacer inicio
  avanza;
  fin;
  gira-izquierda;
  Mientras frente-libre  hacer inicio
  avanza;
  fin;
  repetir n veces deja-zumbador;
  apagate;
  fin;
  fin;
  fin;
  fin;


    inicia-ejecucion

    mientras no orientado-al-este hacer inicio
    gira-izquierda;
    fin;
    mientras no junto-a-zumbador hacer inicio avanza; fin;
    COMPARA(0);

        apagate;
    termina-ejecucion
finalizar-programa

