iniciar-programa
  define-nueva-instruccion media-vuelta como inicio
    gira-izquierda;
    gira-izquierda;
  fin;
  define-nueva-instruccion fila como inicio
    si junto-a-zumbador entonces inicio
      coge-zumbador;
      si junto-a-zumbador entonces inicio
        coge-zumbador;
        fila;
        mientras no-orientado-al-este hacer inicio
          gira-izquierda;
        fin;
        mientras frente-libre hacer inicio
         avanza;
        fin;
        media-vuelta;
        mientras junto-a-zumbador hacer inicio
          avanza;
        fin;
        deja-zumbador;
        deja-zumbador;
      fin
      sino inicio
        fila;
        mientras no-orientado-al-oeste hacer inicio
          gira-izquierda;
        fin;
        mientras frente-libre hacer inicio
         avanza;
        fin;
        media-vuelta;
        mientras junto-a-zumbador hacer inicio
          avanza;
        fin;
        deja-zumbador;
      fin;
    fin;
    si no-junto-a-zumbador y frente-libre entonces inicio
     avanza;
     fila;
    fin;
  fin;
    inicia-ejecucion
     mientras no-orientado-al-oeste hacer inicio
      gira-izquierda;
     fin;
     mientras frente-libre hacer inicio
      avanza;
     fin;
     media-vuelta;
     fila;
        apagate;
    termina-ejecucion
finalizar-programa
