gilou a écrit :
Faudrait déjà poser une question mathématique à la base, ce qui n'a pas été fait, même si tu n'en as pas eu l'impression:
Faire un sondage avec
TIME(t(n))
NTIME(t(n))
SPACE(s(n))
NSPACE(s(n))
sans préciser ce que représente le n, ce n'est pas poser une question mathématique.
Et au départ, donner un bout d'algo partiel sans à aucun moment ne faire figurer les loops (heureusement que l'on a eu le code complet plus tard) ou appels de procédures, c'est ne pas donner aux personnes sondées les informations minimales pour leur permettre de répondre.
Et non, le codage ADA ne m'impressionne pas particulièrement, en particulier quand je constate tout le typage inutile, car exploité nulle part, de gene.ads.
Dual_Type serait un tagged record avec 8 champs float de précision minimale 4 digits et un champ Total que ça marcherait pareil.
Faire du typage pour écrire Dual.Have.Will.love < Dual.Know.Power.Reason plutôt que (avec 8 floats) Dual.Have_Will_Love < Dual.Know_Power_Reason j'en vois pas trop l'intérêt (en tout cas, dans cette version du code)
D'autre part, la procédure principale manque de commentaires. Tu as des boucles dépendant d'une valeur variable, Dual_Index. C'est en explicitant clairement ce qui déclenche l'incrémentation de cet index qu'on a des chances de comprendre la complexité de ton algo, et je dois dire que ça transparait pas du tout en première lecture (et que j'ai pas envie de me prendre la tête a essayer de comprendre quelque chose de complexe de ce genre, qui devrait clairement apparaître dans les commentaires du code)
A+,
|