iniciar-programa
    define-nueva-instruccion sur como inicio
        mientras no-orientado-al-sur hacer inicio
           gira-izquierda;
        fin;
    fin;
    define-nueva-instruccion oeste como inicio
        mientras no-orientado-al-oeste hacer inicio
           gira-izquierda;
        fin;
    fin;

    define-nueva-instruccion este como inicio
        mientras no-orientado-al-este hacer inicio
           gira-izquierda;
        fin;
    fin;

    define-nueva-instruccion ir11 como inicio
       sur;
       mientras frente-libre hacer inicio
          avanza;
       fin;
       oeste;
       mientras frente-libre hacer inicio
          avanza;
       fin;
       este
    fin;

    define-nueva-instruccion siguiente como inicio
      si frente-bloqueado entonces inicio
         gira-izquierda;
      fin;
      avanza;
    fin;

    define-nueva-instruccion camina como inicio
      siguiente;
      mientras no-junto-a-zumbador hacer inicio
         siguiente;
      fin;
    fin;

    define-nueva-instruccion elimina como inicio
       si junto-a-zumbador entonces inicio
          coge-zumbador;
          elimina;
          camina;
       fin;
    fin;

    define-nueva-instruccion contar (n) como inicio
       si no (frente-bloqueado  y orientado-al-sur) entonces inicio
          camina;
          contar(sucede(n));
       fin sino inicio
            repetir precede(n) veces inicio
             elimina;
            fin;
       fin;
    fin;

    define-nueva-instruccion llevarZumbadores11 como inicio
       si junto-a-zumbador entonces inicio
          coge-zumbador;
          llevarZumbadores11;
          deja-zumbador;
       fin sino inicio
          ir11;
       fin;
    fin;

    inicia-ejecucion
        ir11;
        contar(0);
        llevarZumbadores11;
        apagate;
    termina-ejecucion
finalizar-programa
