iniciar-programa
define-nueva-instruccion mv como
inicio
repetir 2 veces
gira-izquierda;
fin;
define-nueva-instruccion novia como
  inicio
  si junto-a-zumbador entonces
   inicio
    coge-zumbador;
      gira-izquierda;
      si junto-a-zumbador entonces
      inicio
      coge-zumbador;
      gira-izquierda;
      fin;
      si junto-a-zumbador entonces
       inicio
       coge-zumbador;
       gira-izquierda;
       fin;
       si orientado-al-este entonces
        inicio
        repetir 3 veces
        deja-zumbador;
        apagate;
        fin
        sino
        inicio
        si orientado-al-sur entonces
        inicio
        repetir 2 veces
        deja-zumbador;
         mientras no orientado-al-norte hacer
        gira-izquierda;
        fin;
        si orientado-al-oeste entonces
        inicio
        deja-zumbador;
        mientras no orientado-al-norte hacer
        gira-izquierda;
           fin;
           fin;
           fin;
           fin;
       define-nueva-instruccion busca como
       inicio
        novia;
        si frente-libre entonces
        avanza
        sino
        inicio
        mv;
        mientras frente-libre hacer
        avanza;
        si izquierda-libre entonces
        inicio
        gira-izquierda;
        avanza;
        gira-izquierda;
        fin
        sino
        apagate;
        fin;
        fin;



    inicia-ejecucion
    mientras no orientado-al-sur hacer
    gira-izquierda;
    mientras frente-libre hacer
    avanza;
    mientras no-orientado-al-oeste hacer
    gira-izquierda;
    mientras frente-libre hacer
    avanza;
    repetir 3 veces
    gira-izquierda;

    mientras  algun-zumbador-en-la-mochila hacer
    busca;

        apagate;
    termina-ejecucion
finalizar-programa
