iniciar-programa

    define-nueva-instruccion linea(n) como inicio
        si no-junto-a-zumbador entonces inicio
              si algun-zumbador-en-la-mochila entonces inicio
                  deja-zumbador;
             fin sino inicio
                 apagate;
             fin;
             si frente-libre entonces avanza;
              gira-izquierda;
              si frente-libre entonces avanza;
              repetir 3 veces gira-izquierda;
              si si-es-cero (precede(n)) entonces inicio

              fin sino inicio
                  linea(precede(n));
              fin;
        fin;
    fin;

    define-nueva-instruccion contador(n) como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;                                                                                              
            contador(sucede(n));
        fin sino inicio
           repetir n veces inicio
               si frente-libre entonces avanza;
          fin;
          repetir 4 veces inicio
               gira-izquierda;
               linea(n);
           fin;
        fin;
    fin;

    inicia-ejecucion
        contador(0);
        apagate;
    termina-ejecucion
finalizar-programa
