iniciar-programa
define-nueva-instruccion porteria como
inicio
       mientras frente-libre hacer
          avanza;
       repetir 3 veces
          gira-izquierda;
      mientras frente-libre hacer
         avanza;
       repetir 3 veces
          gira-izquierda;
       mientras frente-libre hacer
         avanza;
       repetir 3 veces
          gira-izquierda;
       mientras frente-libre hacer
         avanza;
fin;
define-nueva-instruccion cuenta como
inicio
    si no-junto-a-zumbador entonces
    inicio
       avanza;
       cuenta;
       deja-zumbador;
       avanza;
    fin
    sino
    inicio
       coge-zumbador;
       mientras frente-libre hacer
          avanza;
       gira-izquierda;
       gira-izquierda;
    fin;
fin;
define-nueva-instruccion cuenta1 como
inicio
    si no-junto-a-zumbador entonces
    inicio
       avanza;
       cuenta;
       deja-zumbador;
    fin
    sino
    inicio
       porteria;
       gira-izquierda;
       avanza;
       si junto-a-zumbador entonces
       inicio
          mientras junto-a-zumbador hacer
            coge-zumbador;
          deja-zumbador;
          apagate;
       fin;
    fin;
fin;
define-nueva-instruccion lugar como
inicio
    si junto-a-zumbador entonces
    inicio
       coge-zumbador;
       si junto-a-zumbador entonces
       inicio
          lugar;
          avanza;
       fin
       sino
          lugar;
    fin
    sino
    inicio
       mientras frente-libre hacer
          avanza;
       gira-izquierda;
       gira-izquierda;
    fin;
fin;
define-nueva-instruccion coge como
inicio
    si junto-a-zumbador entonces
    inicio
       coge-zumbador;
       coge;
       deja-zumbador;
       avanza;
    fin
    sino
    inicio
       avanza;
       avanza;
       lugar;  
    fin;
fin;
define-nueva-instruccion final como
inicio
    si frente-libre entonces
    inicio
       avanza;
       final;
       deja-zumbador;
    fin
    sino
    inicio
       porteria;
       gira-izquierda;
       avanza;
       mientras junto-a-zumbador hacer
             coge-zumbador;
   fin;
fin;
    inicia-ejecucion
       mientras no-orientado-al-este hacer
          gira-izquierda;
       avanza;
       avanza;
       mientras junto-a-zumbador hacer
          coge-zumbador;
       avanza;
       gira-izquierda;
       gira-izquierda;
       coge;
       gira-izquierda;
       gira-izquierda;
       mientras frente-libre hacer
          avanza;
       gira-izquierda;
       gira-izquierda;
       mientras no-junto-a-zumbador hacer
       inicio
          deja-zumbador;
          avanza;
       fin;
       mientras junto-a-zumbador hacer
       inicio
          coge-zumbador;
          avanza;
       fin;
       gira-izquierda;
       gira-izquierda;
       avanza;
       deja-zumbador;
       porteria;
       repetir 3 veces
          gira-izquierda;
       cuenta;
       gira-izquierda;
       gira-izquierda;
       si no-junto-a-zumbador entonces
       inicio
          porteria;
          repetir 3 veces
             gira-izquierda;
          final;
          deja-zumbador;
       fin
       sino
       inicio
          porteria;
          gira-izquierda;
          avanza;
          mientras junto-a-zumbador hacer
             coge-zumbador;
          deja-zumbador;
      fin;
        apagate;
    termina-ejecucion
finalizar-programa
