Versió documentada i acabada del programa.