iniciar-programa
define-nueva-instruccion gira-derecha como
inicio
    repetir 3 veces
    gira-izquierda;

fin;

define-nueva-instruccion orientate como
inicio
     mientras no-orientado-al-sur hacer
        gira-izquierda;
     mientras frente-libre hacer
        avanza;
        gira-derecha;
     mientras frente-libre hacer
        avanza;
        gira-derecha;

fin;

define-nueva-instruccion busca como
inicio
   mientras algun-zumbador-en-la-mochila hacer
   inicio
       mientras no-junto-a-zumbador y frente-libre hacer
       inicio
           avanza
       fin;
       si junto-a-zumbador entonces
       inicio
           coge-zumbador;
           si junto-a-zumbador entonces
           inicio
               coge-zumbador;
               si junto-a-zumbador entonces
               inicio
                   repetir 2 veces
                   deja-zumbador;
                   apagate;
               fin
               sino
               inicio
                   deja-zumbador;
                   deja-zumbador;
               fin;
            fin
            sino
            inicio
                deja-zumbador;
            fin;
       fin;
       si frente-libre entonces
       inicio
           avanza;
       fin
       sino
       inicio
           si orientado-al-norte entonces
           inicio
               gira-derecha;
               avanza;
               gira-derecha;
           fin
           sino
           inicio
               gira-izquierda;
               avanza;
               gira-izquierda;
           fin;
       fin;
   fin;


           fin;



    inicia-ejecucion
    orientate;
    busca;
        apagate;
    termina-ejecucion
finalizar-programa
