Commentaires associés
aux notes des projets
de l'option "Probabilités et Statistiques"
en Licence Informatique
(gH) gilles.hunault@univ-angers.fr
On trouvera ci-dessous le texte complet des commentaires imprimés et remis aux étudiants et étudiantes pour les aider à améliorer leur note. Il faut bien sur lire d'abord les critères de correction et les indications de rédaction complémentaires au texte du projet dont le détail est ici.
Fichier ***.ZIP --------------- Sauf erreur de ma part, rien de nouveau depuis le 01/12. Je vous conserve la note XX/20. Fichier ***.ZIP --------------- Partie Proba C'est vraiment bien, il faudrait juste mettre le nom des tableaux dans les explications, par exemple au lieu de "- la procédure de calcul d'un tableau de score en fonction de deux autres" il faudrait mettre (les noms de tableaux sont certainement faux, j'ai pris les trois premiers que j'ai trouvés) : "- la procédure de calcul du tableau de score XXXX en fonction de deux autres tableau, XXXX et XXXX qui contiennent respectivement les ... et les ....". "je pense que les entreprises... choisissent les codes gagnants...". Ce programme permet de choisir les codes gagnants. Alors où est le problème ? D'autre part on ne vous demande pas votre avis mais la pratique des entreprises. Le programme ne s'arrete pas de lui-même : il faut faire "Entrée" pour l'arreter mais vous ne l'indiquez pas. Ce genre d'arret est inutile. Partie Stat Pour l'algorithme, "Ce fichier source ne contient aucune procédure ou fonction.". C'est dommage, parce que non typé, un algorithme est lisible. Comme je m'intéresse à la façon dont vous écrivez les algorithmes plus qu'aux programmes, je ne peux pas évaluer votre travail. Vous devez donc détailler les algorithmes de calcul. Par contre pour l'affichage, vous pouvez être un peu plus rapide (mais sans faire d'impasse) car c'est moins important. Le programme xxxx.exe se "plante" lorsqu'on l'utilise ? Si vous dites que anova fait de la comparaison de variances, vous ne pouvez pas dire que "Ce genre de calculs fait référence aux calculs de comparaisons de moyennes" car moyenne et variance, ce n'est pas la même chose ! Vous n'avez pas répondu à toutes les questions. Que donne en particulier Newmann-Keuls pour betail.txt ? Quels logiciels avez-vous testé ? Fichier ***.ZIP --------------- Partie Proba Faites relire votre document pour corriger les fautes d'orthographe dont Contrôle continue fichier créer Les fichiers... ont été obtenue bonnus etc. Pourquoi me rendre un algorithme "récursif" et "totalement inefficace" selon vos propres mots ? Il s'agit d'un algorithme naif, qu'on peut écrire la première semaine avant de trouver une "vraie" solution. Vous deviez trouver un algorithme, le premier n'étant pas forcément le bon. Avant de programmer, il faut réfléchir : la nature exponentielle du problème interdit (bien sûr) tout calcul explicite de tous les mots ! "Les fonctions bonnus_tete, bonnus_fin, valeur et score, calcule le score d'un mot sachant sa longueur." c'est faux : vos bonus n'utilisent pas la longueur. Pour détailler un algorithme, on commence par indiquer sa structure, ses variables principales (notamment les tableaux). On liste ensuite les fonctions utilisées et on explique où elles sont utilisées avant de commenter les fonctions principales... Je ne connais pas Linux Mandreck ; s'agit-il de Mandrake ? Pourquoi nommer .exe les exécutables Linux ? Cela ne peut que "planter" pour un utilisateur Windows qui croira voir un fichier exécutable.. Utilisation en entreprise : "Il ne me paraît pas intéressant d'aborder ce genre de problème de cette façon.". On ne vous demande pas votre avis mais la pratique des entreprises. Partie Stat Vous ecrivez II) Projet de probabilité Descriptif du fichier xxxx.c : Il doit y avoir une ereur : ce devrait être II) ... Statisiques. "Descriptif du fichier xxxx.c :" au risque de me répéter, j'insiste en disant que les programmes m'intéressent moins que les algorithmes. Vous devez expliquer les algorithmes, pas les progammes. Et avec des phrases. Ecrire "Fonction d'initialisation de la matrice. Remplie de zéro." est peut-être un pense-bête pour vous mais pas une rédaction. Dites plutôt "avant de lire le fichier, on utilise un sous-programme nommé 'initialisation' qui remplit avec des zéros la matrice des données, nommée 'matData'. Cette matrice contient en ligne (premier indice) les... et en colonne (deuxième indice) les...". "ANOVA est utile pour analyser plusieurs moyennes" est FAUX ! Il s'agit de comparer des variances ! 1) Anova et l'abréviation en anglais de " Analyse of varience " "varience" n'existe pas en anglais. "2) Le TD sur le calcul de chi2" quel rapport ? "3) J'ai essayé avec 'exel'" : je ne connais pas le logiciel exel. S'il s'agit d'Excel, il vous manque un "c". "je n'ai pas abouti au calcul des variances" : c'est votre problème. je vous demande des résultats, pas des essais ratés. Quel est le résultat du test de Newman-Keuls pour les données ? Fichier ***.ZIP --------------- Partie Proba Pourquoi m'expliquer comment on compile et on exécute les programmes réalisés en pascal ? Dites "j'ai compilé avec..." pas "on compile par..." "Erreur dans le fichier Galg : il y a des erreurs d'imbrication pour certaines boucles POUR et SI." C'et votre problème : vous devez vous débrouiller pour ne pas dépasser trois niveaux. Comme indiqué en cours et en td (les autres l'ont fait) vous devez utiliser des sous-programmes... "I - Explications du programme." : le programme ne m'intéresse pas dans un premier temps. Par contre l'algorithme m'intéresse. Si vous avez détaillé votre analyse, vous n'avez rien dit sur l'algorithme, ses structures de données, les boucles utilisées, les sous-programmes éventuels... Pourquoi votre programme boucle-t-il sur la demande du nombre de lettres ? Ce n'était pas demandé. "Les entreprises ont raison d'utiliser cette méthode" : mais on ne vous demande pas votre avis ! Partie Stat Pourquoi m'expliquer comment on compile et on exécute les programmes réalisés en pascal ? Dites "j'ai compilé avec..." pas "on compile par..." "On utilise une variable fichier texte 'ble.txt'" : non ! on utilise un fichier-texte, un nom de fichier, et "ble.txt" est un nom de fichier comme un autre, comme "betail.ano"... "A partir du fichier texte, je construis un tableau de mesures par facteur, avec les facteurs mis en colonnes." : détaillez la lecture, expliquez ce que vous lisez, quel tableau vous utilisez, à quoi correspondent les lignes, les colonnes.. Vous devez parler de votre algorithme, détailler les variables, les tableaux... Pour les calculs statistiques, expliquez quels paramètres (ligne, colonne...) vous utilisez. Dans les réponses aux questions, pourquoi mettre engrais alors que juste avant vous parlez de concentration de polluant ? Votre texte "Utlisation des logiciels StatBox6.1 et Rstat" n'est pas une phrase : il manque un verbe. Cela ne me suffit absolument pas : vous devez m'en montrer les résultats, les comparer à ceux de votre propre programme, discuter l'intérêt des deux logiciels... Il n'y a pas d'exécutable xxxxx.exe ; après compilation du .pas, l'exécution directe (sans paramètre) renvoie une erreur. Fichier ***.ZIP --------------- Aucun fichier de l'archive ne s'appelle XXXB*.*, il n'y a donc aucun fichier à lire (après décompression automatique par mon logiciel de récupération de fichiers...). Note : 00. Fichier ***.ZIP --------------- Partie Proba Pourquoi inventer une jolie histoire sur "La société 'ADIBOL' vend des CD-ROM destinés aux enfants..." ? C'est inutile. "Nous modéliserons cette idée dans le programme par deux tableaux de 50 entiers" pourquoi 50 ? (taille non expliquée). "Nous allons donc plutôt créer une procédure void remp_res( int tab_score, int tab_nbOccur )" : dites plus simplement une procédure remp_res qui admet comme paramètres les deux tableaux tab_score et tab_nbOccur, c'est plus lisible et cela n'olbige pas le lecteur à connaitre le C (ou à s'énerver si votre façon d'utiliser les tableaux ne lui convient pas !). "Dans cette version du projet" : ah bon, il y en a plusieurs ? "la génération du code est très simpliste" : alors fournissez-moi une autre version ! En principe, vous êtes censée avoir fait des essais à la main ou par programme et vous rédigez ce qui correspond à la "bonne version" du programme. Pour exist(nb, tab_score), pos_score(nb, tab_score), score_gagnant(tab_score, ab_nbOccur), donnez des exemples avec les tableaux et les cases, par exemple pour des mots de 5 lettres. Il vous était demandé de décrire vos algorithmes, c'est à dire de détailler vos structures de données, les boucles de calculs, les sous-algorithmes et leurs appels. Mais vous ne parlez jamais de l'algorithme... Partie Stat "En statistiques, pour l'analyse de la variance à un facteur, les données sont souvent stockées sous la forme de trois colonnes" : c'est une affirmation gratuite et fausse. D'où sortez-vous ce genre de renseignements ? "float col[25]" quel est l'intérêt d'une telle déclaration par rapport à "on utilise un tablau de 25 valeurs nommé col ? Choisir float ne présent d'intérêt que pour le compilateur, pas pour un[e] humain[e] qui cherche à comprendre ce que fait l'algorithme. "FILE *fic; C'est un pointeur sur le fichier de données." : pas de chance, l'énoncé indique que les pointeurs sont interdits pour les algorithmes. De plus, vous n'en avez pas besoin : un nom de fichier, une variable de fichier et tout est fait ! Il vous était demandé de décrire vos algorithmes, c'est à dire de détailler vos structures de données, les boucles de calculs, les sous-algorithmes et leurs appels. Mais vous ne parlez jamais de l'algorithme... Pourquoi nommez-vous les variables aide, aide2, aide3 dans EC et c_min ? Quels logiciels statistiques avez-vous testés ? Quel est le résultat du test de Newman-Keuls pour les données ? Votre programme xxxxx.exe n'utilise pas de paramètre ; vous ne devez pas demander le nom du fichier. A la place, vous devez utiliser ARGC et ARGV. Il n'y aucun programme source (fichier .c, .h) ; qu'est-ce qui prouve que vous avez écrit les programmes ? D'autant que xxxxxx.exe contient explicitement les variables nbmot et nblet qui n'apparaissent nulle part dans vos algorithmes. Vous avez le droit de travailler à plusieurs, mais il faut le dire. Fichier ***.ZIP --------------- Sauf erreur de ma part, rien de nouveau depuis le 01/12. Je vous conserve la note XX/20. Fichier ***.TAR --------------- Pas de page de titre avec le nom de l'auteur, mais qui est-ce donc ? Partie Proba "Exemple : un exemple pour le score" : rédiger signifie faire des phrases. En général, une phrase comporte un sujet, un verbe et un complément. Sans verbe, il ne s'agit pas d'une phrase. Faites relire pour corriger les fautes d'orthographe ! Corrigez on stock ici les entrprises qui souhaite (2 fautes) la longueur du mot qu est (la phrase entière est incompréhensible) qui verifierai si la societe...il peuvent (3 fautes) dernier chiffre du code-barre Pourquoi commencer le comptage des catégories à 0 ? A cause du langage C ? Les algorithmes sont lus par les humains qui commencent à compter à partir de 1. Pourquoi voulez-vous m'apprendre à décomposer en base 6 ? Pourquoi mettre typedef struct { double occurences[86]; ... au niveau de la rédaction ? On vous demande un algorithme non typé, lisible, non lié à un langage ou à un compilateur et vous ne trouvez rien de mieux que d'écrire du C ! "(car Tableau : [0..85]" n'est pas une phrase. "un enchaînement de catégories" : vous voulez-dire une chaine de caractères pris parmi les caractères représentatifs des catégories ou quoi ? telles que vous les avez définies, les catgories sont des ensembles de caractères. un enchainement d'ensemble me parait donc suspect... Vous n'avez pas bien lu le sujet : il vous était demandé de décrire vos algorithmes, c'est à dire de détailler vos structures de données, les boucles de calculs, les sous-algorithmes et leurs appels. Mais vous ne parlez jamais de l'algorithme... Vous vous contentez de paraphraser et lister des parties de programme C. "car l'ensemble des mots en une injection dans l'ensemble des scores" n'est pas une phrase. "Il n'existe pas de formule" : c'est un peu rapide. Les autres l'ont trouvée... et en plus elle est simple ! "Je ne pense pas que les entrprises" : on ne vous demande pas votre avis mais la pratique des entreprises. "dernier chiffre du code-barre" le code-barre n'est pas unique : tous les articles qui correspondent au même produit ont le même code-barre. Regardez tous les CD de Nirvana "Unplugged in New York" : ils ont tous le même code-barre ! 1 h 12 pour les mots de 12 lettres : vous ne croyez pas qu'en licence informatique, on peut s'attendre à mieux ? Partie Stat Aucun algorithme expliqué, aucune réponse aux questions, aucun point ! Fichier ***.ZIP --------------- Partie Proba Faites relire pour corriger les fautes d'orthographe ! Corrigez chaque lettres Ce que l'on appel chaînes de caractère Vous devriez détailler les groupes de lettres avec le même score ainsi "trois scores possibles pour le bonus de début" est un peu court (dites par exemple AEIOU pour le score 5, etc.). Il serait plus logique et plus lisible de commencer par expliquer le fonctionnement de l'algorithme principal puis de passer ensuite aux sous-programmes... Cela éviterait de se perdre dans les sous-programmes... "la probabilité que tout les gagnants réclament leur gain n'est pas égale à 1" Cette proba ne vaut jamais 1 ! ou sinon, les entreprises perdraient de l'argent. "Non, pas entièrement" : alors, c'et oui ou c'est non ? Partie Stat Cette partie est beaucoup trop rapidement rédigée par rapport à ce qu'on vous demande. Vous devez rédiger, même si les choses sont simples à dire. En particulier, il vous nommer les variables, les tableaux, expliquer les paramètres des fonctions... Vous n'avez pas testé de logiciel statistique pour vérifier vos résultats ? Que déduit-on à partir de Newman-Keuls sur les données ? Fichier ***.ZIP --------------- Partie Proba Faites relire pour corriger les fautes d'orthographe ! Corrigez lettres... "internent"... comprissent la valeur nul Cette fonction ne calcul aucun score etc. Pour détailler un algorithme, vous devez Il vous était demandé de décrire vos algorithmes, c'est à dire de détailler vos structures de données, les boucles de calculs, les sous-algorithmes et leurs appels. Il serait bon de nommer les principales variables utilisées dans vos algorithmes, d'expliquer comment est constitué chaque tableau, à quoi il sert. Un exemple avec les mots de 5 lettres serait le bienvenu, de même que le détail de la fonction récursive car recursivite_interne(Nintermed,Nintermed,TabR,TabScore,TabS) n'est pas forcément facile à lire sans explication. A quoi correspondent les tableaux TabR,TabScore,TabS ? Si vous utilisez un sous-programme "Parcours_minimum", pouruqoi ne pas le dire, ne pas le décrire ? Vous n'aviez pas besoin d'écrire un sous-algorithme pour minimum, format_int, format_real car ce sont des opérations "standard". La version 2 est suffisante à condition de démontrer les résultats afichés, ce qui n'est pas très dur... Pourquoi ne fournissez-vous pas les exécutables ? Mon compilateur Delphi refuse les modifications de l'indice de boucle i par exemple à la ligne 90 pour InitReal... Mais Galg aurait du le détecter... car on ne touche pas à un indice de boucle pour. Les boucles tant_que sont faites pour cela... Partie Stat C'est dommage, car c'était plus facile que la partie proba. Fichier ***.ZIP --------------- Sauf erreur de ma part, rien de nouveau depuis le 01/12. Je vous conserve la note XX/20. Fichier ***.ZIP --------------- Partie Proba Votre analyse est juste mais encore faut-il le démontrer car "J'avais alors assez d'éléments pour me persuader que mon raisonnement était bon et" ne suffit pas à me persuader ! Les démonstrations ne sont pas très dures... Le rédaction est un peu trop personnelle : les "je" sont inutiles car je n'ai pas besoin de l'historique de vos aventurs, vos essais et vos sentiments mais seulement de la description des actions, des structures, des variables. Que la solution soit finalement simple ne vous dispense pas de décrire votre algorithme, de nommer vos variables, vos fonctions, leurs paramètres... Vous n'avez pas écrit vos algorithmes avec la syntaxe de galg. Vous n'avez pas fourni l'analyse par galg de vos algorithmes. Votre façon d'afficher n fois le caractère "A" est ne corespond pas au niveau Licence. Vous ne savez donc pas faire une boucle pour concaténer des chaines ? Au lieu de nombreuses lignes comme si nombre=11 ALORS ECRIRE "4.8 * 10(7)" fin_si # ( nombre=11 ) vous ne pourriez pas mettre vos résultats dans des tableaux ? A quoi sert gotoxy dans l'algorithme ? C'est inutile. Pourquoi y a-t-il un symbole de commentaire pour chaque ligne d'algorithme ? Autant dire que votre algorithme est vide ! Pourquoi demander une valeur pour sortir du programme ? Même mes étudiants de Deug première année n'osaient plus le faire dès le deuxième TP de Pascal... Partie Stat "des fonctions... dont l'algorithme correspond à la définition de la formule.. Je ne vais donc pas les commenter" : bien sur que si ! Vous devez détailler. Une explication comme "une simple boucle pour appliquée aux éléments.... permet de calculer la quantité demandée" est obligatoire. Cela permet au passage d'indiquer quels paramètres on utilise... Il n'y a pas d'algorithme de stat, seulement du pascal : pas d'algorithme, donc pas de point ! gotoxy pour bien affiché est mauvais : avez-vous pensé à la redirection de vos résultats avec le caractère > si on veut imprimer ? Vous imaginez que l'imprimante va faire des gotoxy et faire remonter le papier ? gotoxy sert plutôt pour les dessins, ou pour les affichages en continu. Ici, vous pouvez vous contenter d'écrire ligne par ligne les résultats, sans jamais revenir en arrière... La programme xxxxx.EXE exécuté sans aucun paramètre ne fait rien, c'est une erreur. Pourquoi demander une valeur pour sortir du programme ? "à quelle partie du cours.. référence ?" : votre réponse ne cite aucune partie ni de mon cours ni de ms td... quels logiciels avez-vous utilisé ? que donne vraiment Newman-Keuls pour les données ? Fichier **.ZIP --------------- Partie Proba Pas de page de titre avec le nom de l'auteur, mais qui est-ce donc ? Faites relire pour corriger les fautes d'orthographe ! Corrigez L'algorithme à concevoir permets On peut alors déterminé La place de cet élément minimal est renvoyé etc. L'analyse est correcte, même si la soluton envisagée est exponentielle. Il manque juste à votre description de l'algorithme quelques lignes d'explication sur l'algorithme principal et les bornes de ses boucles. Au lieu de affecter lettre_score[1] <-- 5 et consor, vous pouvez appeler un sous-programme init_Tab, ce sera plus lisible. Votre calcul de C(n,k) me parait faux car C(n,1) vaut n or vous renvoyez 1 pour k<2. Pourquoi nommer .exe les exécutables Linux ? Cela ne peut que "planter" pour un utilisateur Windows qui croira voir un fichier exécutable.. Pourquoi mettre les résultats (une seule ligne de chiffres !) dans un fichier plutôt que dans le document ? Pas de réponse quant à la pratique des entreprises ? Partie Stat "Par contre je n'ai pas réussi à afficher correctement les résultats des calculs en colonne, c'est à dire décimales sous décimales." Il suffit de formater les nombres ! En Galg, on dit format(....) et en C on dit sprintf(...). Vous n'avez jamais écrit de votre vie un programme avec un affichage imposé ? A votre place, je détaillerais un petit peu plus que "Nous avons alors tous les résultats nécessaires pour calculer facilement, en suivant leur définition, les valeurs suivantes :" car certains calculs nécessitent quand même une boucle, et pas seulement une affectation. Contrairement à ce que vous dites, mettre quelques sous-programmes n'est pas superflu : on gagne en lisibilité. De plus, un sous-programme comme afficheMatrice a de fortes chances de pouvoir être réutilisé pour un autre programme... Vos réponses sur l'anova sont trop courtes. Vous perdez bêtement des points... Quels logiciels avez-vous utilisé ? Que donne vraiment Newman-Keuls pour les données ? Fichier ***.ZIP --------------- Aucun fichier de l'archive ne s'appelle XXX*.*, il n'y a donc aucun fichier à lire (après décompression automatique par mon logiciel de récupération de fichiers...). Fichier ***.ROR --------------- Votre archive n'est pas au format zip ou tar. Mon logiciel d'extraction automatique ne l'a pas vue. Votre note sera non nulle après renvoi d'une archive au format demandé. Fichier ***.ZIP --------------- Partie Proba Ce n'est pas la peine de détailler vos essais. Détaillez seulement la version finale retenue. Vos explications sur l'analyse ne sont pas mal. Il faudrait ensuite décrire l'algorithme principal, nommer les tableaux, dire ce que vous y mettez en ligne, en colonne, indiquer les sous-programmes avec leurs paramètres... Par contre, ce n'est pas la peine de commenter le programme. Tout ce qui concerne le programme ne m'intéresse pas. Seule la méthode, révélée par l'algorithme est importante. Si les tableaux "première itération" et "deuxième itération" sont lisibles, il est très difficile de comprendre comment ils sont remplis. Pourriez-vous détailler par exemple comment on passe de 182 en score 5 à 1498 en score 6 ? "Le score maximal pour un mot de 17 lettres est de 86." : pouvez-vous le démontrer ? Certains ont trouvé 85, d'autres 87... "c. L'algorithme" "Le langage et la syntaxe utilisés sera le Turbo Pascal." Ceci est totalement contradictoire. Vous ne pouvez pas utiliser le Pascal pour des algorithmes ! Vous pouvez avoir une bonne note pour cette partie de projet en gardant vos explications mais en les donnant pour l'algorithme et non pas le programme. Le programme ne s'arrête pas de lui-meme : il faut faire "Entrée" pour l'arreter mais vous ne l'indiquez pas. Ce genre d'arret est inutile. Partie Stat Autant votre rédaction est soignée pour les proba, autant elle est baclée pour les stat. Vous devez indiquer comment est faite la lecture des fichiers : il y a des valeurs pour des facteurs, il faut indiquer ce que vous mettez en ligne et ce que vous mettez en colonne. Comme pour la partie proba, toute référence au Pascal est à bannir. Chaque sous-algorithme doit être présenté en indiquant ses paramètres... Ce serait bien de mettre les URL plutôt qu'un lien dynamique... Vos réponses aux questions sur les logiciels statistiques, l'auteur, le test de Keuls sont insuffisantes. Fichier ***.ZIP --------------- Partie Proba Il y a quelques petites fautes d'orthographe. N'hésitez pas à faire relire votre document pour corriger : j'ai donc effectués les score On peut définit Le score du mot est égale etc. Le terme organigramme est incorrectement employé. C'est dommage de ne pas en avoir fait plus car ce que vous dites est correct. Partie Stat J'ai vu une partie des algorithmes, ce n'est pas mal. Il faudrait maintenant les expliquer : nommer les tableaux, expliquer les boucles... Fichier ***.ZIP --------------- Partie Proba Faites relire pour corriger les fautes d'orthographe ! Corrigez la position accrue de une unité le programme comprends (!) le mot final a été générer etc. Le code C ne m'intéresse pas ; seuls les algorithmes, indépendants du langage et de la machine mettent en évidence la méthode. Vos explications sont à mi-chemin entre l'analyse et la description. A la suite de ce que vous avez mis, il faudrait détailler l'algorithme principal, les tableaux utilisés (par exemple comment est initialisé puis modifié le tableau Groupe[] ?) etc. Pour la formule, il s'agit de la formule pour ces valeurs partculières de score... "Je ne pense pas que ce soit envisageable" : on ne vous demande pas votre avis mais la pratique des entreprises. Partie Stat ftoa, ftoaSelonDecimale et ItoaSelonDecimale me paraissent inutiles : il s'agit simplement de formater un résultat numérique ; format(...) est suffisant en galg et sprintf(...) le fait aussi dans votre langage. En général, il est conseillé de commencer par l'algorithme principal, et ensuite de détailler, si besoin est, chaque fonction. Vous ne faites que lister des fonctions... Il vous faut détailler les structures de données, ce que vous mettez en ligne, en colonne, quelles boucles vous faites... Par contre, lorsque les fonctions se ressemblent, vous pouvez vous contenter d'en détailler une par modèle de fonction et dire à quel modèle les autres fonctions ressemblent... Fichier ***.ZIP --------------- Partie Proba Pour me parler de la somme des 26^n pour n de 1 à 17 ? On ne s'intéresse qu'à une valeur de n à la fois. "Mais, les opérations qui permettaient de trouver le nombre de codes ayant le même score s'avéraient trop compliquées, trop brouillons, aucune architecture de programme aucune fonction particulière ne se dégageait de cette méthode." : on croirait que ce sont les données qui sont "brouillon" alors que c'est votre essai de méthode. J'ai l'impression que vous avez mal lu l'énoncé : il faut travailler à n fixé, pas pour tous les n de 1 à 17. "Mais ma récursivité ne fonctionnait pas correctement," : vous n'avez pas besoin de me raconter vos essais et erreurs, seule la version finale m'intéresse. "Il faudrait pouvoir enregistrer aléatoirement un exemple" : on ne vous le demande pas, un exemple, déjà c'est bien. Pourquoi vouloir utiliser 26^n comme valeur de score maximal puisque vous dites que la plus grande valeur est 85 ? Vos explications sur l'analyse ne sont pas mal. Il faudrait ensuite décrire l'algorithme principal. Vos algorithmes pour les fonctions n'ont pas de nom, il et donc difficile de savoir laquelle lire. Mettez un commentaire comme # fonction recherchemin pour qu'on s'y retrouve. Mieux : utilisez le format conseillé (module, locale, globale...) Après avoir constaté que votre programme est exponentiel (et donc trop lent pour être utilisé) pourquoi ne pas avoir écrit un "bon" programme ? "Il n'existe pas de formule mathématique" est une affirmation gratuite : d'autres en ont trouvé une (et qui est juste...). "Les 'tirages' ne sont donc pas équitables" : mais si ! les lettres sont équiprobables. Cela ne prouve pas que les entreprises le font ou ne le font pas. Même après recompilation, Le programme xxxx.exe ne fonctionne pas. Partie Stat Pourquoi parler d'indice 0 ou 1 ? Dans la vie de tous les jours, vous comptez à partir de 0 ? Pourquoi parler de Fscanf(...) ? La syntaxe LIRE x,y SUR f est largement suffisante pour comprendre ce que vous voulez faire. La traduction en C, Pascal, Java est un détail... Là encore, ce serait bien de commencer par décrire l'algorithme principal, les appels des sous-algorithmes. Il faut aussi indiquer quels paramètres vous transmettez aux fonctions... "Systat présent les postes de l'université," : il manque des mots pour faire une phrase. "Le test de Newman-Keuls n'apporterait rien aux résultats." et pour betail ? Même après recompilation, Le programme xxxx.exe ne fonctionne pas. Fichier ***.ZIP --------------- Partie Proba "J'utilise deux tableaux." : Pourquoi ne pas les nommer ? Il serait bon de présenter chacun des tableaux TMilieu, TEMi, S, SavS, Exemple afin de faciliter la lecture de l'algorithme principal. L'algorithme principal gagnerait à être "un peu" présenté dans la documentation, avec les appels de CalculScoreSuivant, RechMinMots, RechScoreMots... "Les entreprises qui font des offres telles que celle-ci utilisent ce genre de règle." : vous pouvez le prouver ou c'est ce que vous pensez, sans l'avoir vérifié auprès des entreprises ? Partie Stat Vous deviez reprendre la description de l'algorithme, détailler les tableaux, les boucles, mais je ne vois rien de nouveau ? Fichier ***.ZIP --------------- Sauf erreur de ma part, rien de nouveau depuis le 01/12. Je vous conserve la note XX/20. Fichier ***.ZIP --------------- Partie Proba J'ai l'impression que vous avez mal lu l'énoncé : il faut travailler à n fixé, pas pour tous les n de 1 à 17. Vos explications sur l'analyse ne sont pas mal. Il faudrait ensuite décrire l'algorithme principal, les appels des sous-algorithmes. Au lieu de toutes ces afectations dans le programme principal, vous devriez utiliser un sous-algorithme nommé init_Tableaux. Dire "on aditionne la colonne 3 avec la colonne 5" n'est pas vraiment une explication. C'est plutôt une paraphrase qui n'explique pas pourquoi il faut faire cela. "Il n'existe pas de formule mathématique" : mais d'autres en on trouvé une, qui est juste ! "A mon avis, les entreprises" : on ne vous demande pas votre avis mais la pratique des entreprises. Pourquoi ne fournissez-vous pas l'executable ? Après recompilation, pourquoi avez vous laissé 'afficheheure;' dans votre programme ? Ce n'était pas demandé. Partie Stat Attention à l'emploi des mots : "Ces fonctions serviront trois sommes" mais le terme servir est inapproprié (ou alors il faut dire servir à 'calculer'). "transforme un fichier source" : il s'agit d'un fichier de données, pas de source de programme ! La déclaration des variables n'est pas intéressante : réel ou entier est une subtilité de certains langages (pas tous). Par contre, le nommage et la définition du role de chaque variable, chaque tableau est une bonne chose. Lorsqu'on utilise un tableau, il faut dire ce qu'on y met à l'indice i, surtout s'il y plusieurs indices à gérer, plusieurs tableaux correspondant à une même donnée pour un même indice. Vos explications sur l'analyse ne sont pas mal. Mais vous devriez d'abord décrire l'algorithme principal, les appels des sous-algorithmes. Car donner seulement une liste des fonctions ne permet pas de comprendre l'enchainement des calculs... "Pour pouvoir tirer des conclusions, il est nécessaire d'effectuer des analyses complémentaires telles que les contrastes de Scheffé ou les contrastes orthogonaux." : cela parait sérieux, mais comprenez-vous ce que vous avez écrit ? Quelles conclusions pouvez-vous donc tirer sur les fichiers ble et betail avec cette phrase ? Même chose pour Newman-Keuls. Pourquoi ne fournissez-vous pas l'executable ? Si je compile votre programme et que je l'exécute, il n'utilise pas de paramètre. Vous devez utiliser paramcount et paramstr pour correspondre à ce qui est demandé. Fichier ***.ZIP --------------- Partie Proba Votre analyse du problème est correcte. Il reste encore à présenter l'algorithme principal, à nommer vos tableaux, et ce qu'on y met à l'indice i (ou i et j si plus d'une dimension), à nommer les sous-algorithmes et expliquer leurs paramètres... Il n'est pas très facile, à la lecture, de savoir à quoi servent les tableaux score et score2... Pour l'initialisation, (lignes comme lettre_der[0,0] <-- 5), vous devriez un sous-algorithme nommé init_Tableaux. "Les entreprises qui font des cadeaux pour certains codes utilisent plutôt..." : est-ce le résultat d'une enquête ou votre sentiment sur la question ? Partie Stat "il suffit de la parcourir, en imbriquant des boucles "pour" et de calculer les valeurs demandées." : bien sûr, mais si c'est simple, pourquoi ne pas détailler les tableaux, les boucles, les paramètres ? "Le langage choisi est le langage C" : aucun intérêt pour moi. C'est votre choix ! "Ce genre de calcul fait référence à la partie 'Comparaison de deux moyennes' : mais non, on compare des variances ! "Le test de Newman-Keuls pourrait.." : c'est une affirmation gratuite (et fausse). Si vous l'avez inventée, pas de chance. Si vous la déduisez de pagew Web ou de références stat, il faut les citer. Fichier ***.ZIP --------------- Pourquoi envoyer plusieurs archives avec des noms différents ? Une seule archive me permet de m'y retrouver... Partie Proba "On suppose que ces étapes sont indépendantes entre elles." Pourquoi ? On pourrait les considérer comme dépendantes ? N'etes-vous pas sur qu'elles le sont ? Même remarque pour "Ces choix sont considérés comme indépendants entre eux." Votre analyse du problème est correcte. Il reste encore à présenter l'algorithme principal, à nommer vos tableaux, et ce qu'on y met à l'indice i (ou i et j si plus d'une dimension), à nommer les sous-algorithmes et expliquer leurs paramètres... Il n'est pas très facile, à la lecture, de savoir à quoi servent les tableaux cardinaux, debut_cardinal, debut_score... "Les entreprises... auraient plutôt intérêt" : on ne vous demande pas votre avis mais la pratique des entreprises. "le temps de calcul... est exponentiel." : cela ne vous a pas incité à essayer de trouver un autre algorithme ? Partie Stat Pourquoi commencer par Fisher alors qu'on vous demande d'abord l'algorithme ? Ce serait bien de mettre les URL plutôt qu'un lien dynamique... La discussion sur la racine (sqrt) et sa réimplémenation n'a aucun intérêt : c'est votre choix, sans doute mauvais : pourquoi réinventer une fonction connue, qui marche juste pour éviter une option de compilation ? La discussion sur la présentation est incorrecte : il s'agit de la présentation des résultats, pas du format du fichier d'entrée. "il suffit juste que le nombre de valeur numériques présentes dans le fichier soit un multiple de trois" : rédaction maladroite ; vous voulez sans doute dire qu'il faut 3 valeurs par ligne ? Comme pour les probas, vous devez présenter l'algorithme principal, nommer vos tableaux, indiquer et ce qu'on y met à l'indice i (ou i et j si plus d'une dimension), à nommer les sous-algorithmes et expliquer leurs paramètres... Les lignes #: sont tout à fait inutiles pour décrire la méthode. Elles serviraient à produire le programme C si on en avait besoin (ce qui n'est pas le cas). Il y a des valeurs et des facteurs, vous devez indiquer comment vous en faites des indices de ligne et de colonne ou de colonne et de ligne... Fichier ****.ZIP --------------- Sauf erreur de ma part, rien de nouveau depuis le 01/12. Je vous conserve la note XX/20. Il est possible d'avoir un peu plus de points en tenant compte de mes remarques précédentes. Fichier ***.ZIP --------------- Partie Proba "Le langage utilisé pour l'implémentation étant le C" : cela ne présente aucun intérêt pour expliquer la méthode. "nous indicerons... à partir de 0" : c'est maladroit ; la seule façon humaine de compter c'est de compter à partir de 1. (le programme C associé fonctionne alors sans aucun probleme si vous prenez la "bonne taille" pour les tableaux). "il parait difficile de trouver une formule" : il s'agit d'une notion subjective, car ce qui est facile pour certains est parfois difficile pour les autres. Il faudrait plutôt se poser la question de savoir s'il existe une formule de niveau Deug car vous etes en debut de Licence... "méthode brute qui envisagera tout les cas possibles." : c'est certainement voué à l'échec compte-tenu du nombre de lettres maximum (17) à utiliser. Votre exemple de fusion des deux tableaux est bien. Mais il faudrait un peu détailler : comment trouve-t-on les valeurs 168 et 221 à partir des tableaux précédents ? Les structures C ne sont pas à présenter : on s'intéresse à la méthode, pas à l'implémentation. Vous devez par contre nommer vos tableaux, expliquer ce qu'on met en indice i et j, quelles boucles on utilise. Si plusieurs tableaux correspondent à une même donnée pour un même indice, il faut expliciter ces liaisons... "Galg ne supportant pas les structures, on utilisera deux tableaux distincts..." : comme quoi les structures ne sont pas indispensables... Donner la liste des fonctions n'explique pas comment on les utilise, où on les appelle. "void GenTabNbMot(NBMOT tab[],int tabscore[],int len)" : ce n'est pas lisible. Dites plutôt : la procédure GenTabNbMot utilise trois paramètres, deux tableaux : tab et tabscore et un entier nommé len, à savoir le tableau des... et le tableau..., len correspondant à... "Je ne pense pas que les entreprises" : on ne vous demande pas votre avis mais la pratique des entreprises. L'affichage des probabilités à partir de 8 lettres est mal géré (affichage avec exposant...). Partie Stat Même remarque que pour la partie proba en ce qui concerne l'indexation à partir de 0. "Enfin on établira" : mal dit ; vous décidez que... établir, c'est comme démontrer... Vous devez présenter une méthode pour l'affichage. Cette méthode doit reposer sur des choix, utiliser des fonctions, des paramètres... vous ne pouvez pas escamoter l'affichage en vous rabattant sur une fonction C qui résoud tous les problèmes. Imaginez par exemple qu'on vous demande de traduire votre algorithme en Pascal ou en Java. Quelle serait alors la méthode ? Les structures C ne sont pas à présenter : on s'intéresse à la méthode, pas à l'implémentation. Vous devez par contre nommer vos tableaux, expliquer ce qu'on met en indice i et j, quelles boucles on utilise. Si plusieurs tableaux correspondent à une même donnée pour un même indice, il faut expliciter ces liaisons... Pas de réponse détaillée sur l'auteur, les logiciels statistiques ? Fichier ***.ZIP --------------- Partie Proba La consigne "vous utiliserez systématiquement au moins 4 lettres par identificateur" n'est pas respectée. Je vous avais demandé de reprendre les algorithmes en indentant pour augmenter la lisibilité. Mais vous ne l'avez pas fait. Il serait bon d'expliquer comment les tableaux sont nommés dans l'algorithme, ce qu'ils contiennent... Vos fichiers .alg autres que l'algorithme principal n'ont pas de nom de module. Comment savoir à quel fichier correspond RechEx, TabdeMot ? Le mieux serait de mettre # sous-algorithme TabdeMot dans le fichier correspondant. Vous devez aussi détailler les paramètres. "Je n'ai hélas pas trouvé d'exemple d'entreprise fonctionnant ainsi" : bravo, enfin quelqu'un d'honnête ! Partie Stat Je vous avais demandé de reprendre les algorithmes en indentant pour augmenter la lisibilité. Mais vous ne l'avez pas fait. Il serait bon d'expliquer comment les tableaux sont nommés dans l'algorithme, ce qu'ils contiennent... Fichier ***.ZIP --------------- Partie Proba "cette astuce" : un peu maladroit. Il s'agit d'une simplification de calcul, pas d'un "truc". Vos explications en variables, tableaux, fonctions sont correctes. Il manque quand même à présenter l'algorithme principal, dire comment il initialise les tableaux, appelle les sous-programmes... Vous utilisez des boucles de 1 à 86 mais pourquoi 86 ? Vos algorithmes ne sont pas indentés, ce qui est illisible. Ce n'est pourtant pas compliqué à faire... "Ce système n'est pas très adapté aux entreprises" : c'est votre avis ou le résulat d'une enquête ? Partie Stat Vous devez expliquer si les facteurs sont en ligne ou en colonne, où vous stockez les valeurs, si la moyenne et l'écart-type sont dans un même tableau, etc. Aucune réponse sur Keuls, sur l'auteur de l'anova ? Les logiciels utilisés donnent les mêmes valeurs ? Mais il y a une erreur dans l'affichage de l'énoncé... Le programme ne s'arrête pas de lui-meme : il faut faire "Entrée" pour l'arreter mais vous ne l'indiquez pas. Ce genre d'arret est inutile. Fichier ****.ZIP --------------- Sauf erreur de ma part, rien de nouveau depuis le 01/12. Je vous conserve la note XX/20. Pourtant avec quelques modifications, vous pourriez avoir la moyenne. Relisez ce que je vous ai dit. Fichier **.ZIP --------------- Aucun fichier de l'archive ne s'appelle XXX*.*, il n'y a donc aucun fichier à lire (après décompression automatique par mon logiciel de récupération de fichiers...). Fichier ***.ZIP --------------- Pourquoi avoir envoyé plusieurs fichiers XXX*.ZIP ? Comment voulez-vous que je m'y retrouve ? Vous n'aviez droit, comme tout le monde, qu'à un seule archive. Partie Proba Le terme "combinaisons" est peut-être mal choisi. S'agit-il de ce qu'on nomme "combinaison" en probabilitésavec les formules vues en cours ? Avant de présenter un algorithme, il faut faire une étude du problème et dégager les structures de résolution, de données... L'algorithme est incomplet. Il y a plus simple pour 1 et 2 lettres. Vous auriez pu au moins trouver les groupes de lettres avec score identique... A défaut d'algorithme, vous auriez pu trouver la formule puisque vous en aviez l'idée avec le mot composé uniquement de "A"... Pourquoi inclure du code c (comme pour libérer la mémoire) dans l'algorithme ? C'est inutile et cela gêne la lecture des instructions. La consigne "vous utiliserez systématiquement au moins 4 lettres par identificateur" n'est pas respectée. Le programme ne fonctionne pas pour 3 lettres. Partie Stat Comment définissez-vous MAXCOL pour la lecture du fichier ? Pourquoi commencer les boucles d'algorithme à 0 ? L'algorithme n'est pas expliqué. "Sous Excel, nous n'avons pas pu trouver d'option permettant d'afficher un nombre de décimales défini par l'utilisateur." On apprend "Format/Cellule" dans la première heure d'initiation à Excel ! "le test de Newman-Keuls est inutile" : faux ! il ne l'est jamais. Il confime ou infirme l'hypothèse d'égalité des moyennes entr ellles. La consigne "vous utiliserez systématiquement au moins 4 lettres par identificateur" n'est pas respectée. Le programme ne fonctionne pas avec ble.txt Aucune réponse aux questions posées. Fichier ***.ZIP --------------- Aucun nom d'auteur, mais qui est-ce donc ? Partie Proba "Comme le score maximum pour 17 lettres est de 86" est une affirmation non démontrée. Faites relire pour corriger les fautes d'orthographe ! Corrigez le tableau stock cas générale ces différentiels groupe de lettres peuvent être regroupes Vos explications de l'algorithme sont un survol, mal présenté, mal structuré et incompréhensible. Faites des phrases, prenez du recul et faites relire par pour avoir des phrases cohérentes. Présentez vos structures de données, vos choix en termes de groupes de mots, de boucles de traitement... La consigne "vous utiliserez systématiquement au moins 4 lettres par identificateur" n'est pas respectée. Où est le programme ? Et les réponses aux questions ? Partie Stat Vos explications de l'algorithme sont un survol, mal présenté, mal structuré et incompréhensible. Faites des phrases, prenez du recul et faites relire par pour avoir des phrases cohérentes. Présentez vos structures de données, vos choix en termes de groupes de mots, de boucles de traitement... La consigne "vous utiliserez systématiquement au moins 4 lettres par identificateur" n'est pas respectée. Où est le programme ? Et les réponses aux questions ? Fichier ***.ZIP --------------- Partie Proba "on crée un enregistrement" : ce n'est pas la peine, il s'agit de valeurs pouvant aller dans un tableau. "Apres avoir créé les tableaux et entré les valeurs dedans" : rédaction langagière trop orale ; de plus vous ne dites pas quelle valeurs vous entrez. "- le score minimum pour un mot est égal au nombre de lettres plus 2." "- le score maximum pour un mot est égal a 5 fois le nombre de lettre plus 1." Ce sont des affirmations non démontrées ou une profession de foi ? Faites des phrases simples sur le modèle sujet/verbe/complément. Des phrases comme "Si, en fonction des ensembles de lettres utilisées, on trouve le score recherché, alors, d'abord, si on n'a pas encore d'exemple, on le rentre ; puis, pour calculer le nombre de mots possibles, on additionne au résultat, précédemment trouvé (initialement égal à 0) :" sont incompréhensibles ! Pourquoi coller une formule écrit à la main alors qu'il y a un éditeur de formules ? Vos explications ne sont pas très "explicites" ; il faudrait mieux détailler la méthode. Si vous utilisez des cas particuliers (comme les mots avec 1 lettre, 2 lettres), commencer par présenter ces cas. Si vous utilisez des tableaux de groupes de lettres, donnez des exemples de groupe, de tableau... Si vous avez trouvé AAAA..AA comme exemple, la formule mathématique doit être simple... Le programme ne s'arrete pas de lui-meme : il faut faire "Entrée" pour l'arreter mais vous ne l'indiquez pas. Ce genre d'arret est inutile. Partie Stat Vous ne détaillez pas l'algorithme : vous vous contentez de dire ce qu'il fait en deux mots. En particulier, rien n'est dit sur la lecture, le recadrage des données en fonction du nombre de decimales, les sous-programmes utilisés. Le programme ne s'arrete pas de lui-meme : il faut faire "Entrée" pour l'arreter mais vous ne l'indiquez pas. Ce genre d'arret est inutile. Fichier ***.ZIP --------------- Partie Proba Faites relire pour corriger l'orthographe, notamment pour comment on calcul aucune information particulière n'étant donné si on désir on ce rend vite compte l'algorithme suivant est fournit Pourquoi initialiser à '\0' au niveau algorithmique ? Dites "chaine vide" et ce sera plus correct. Ecrire "L'algorithme suivant est fournit en C" est l'inverse de ce qu'il faut. Un algorithme est fait pour s'affranchir du langage, pour expliciter ce qu'on fait sans utiliser les subtilités ou astuces du langage. De plus il n'y a rien dans votre algorithme de "suivant" qui présente un problème quelconque. Vous auriez pu utiliser un tableau tel que tabSUIVANT[ "A" ] = "B" etc. La même remarque s'applique aux bonus avec par exemple bonusPremiereLettre[ "A" ] = 0. Donner l'algorithme en C plutôt qu'en Galg est refusé : on demandait explicitement d'utiliser galg. Galg etant plus simple que le C et plus structuré, il n'y a aucune raison de ne pas utiliser Galg. En particulier mot = (char *) malloc (nblettre * sizeof (char)); ne sert à rien pour comprendre ce que fait le programme. Compte-tenu de votre boucle principale, le durée de 9.85 sec pour 12 lettres parait surprenante. A vérifier dans mon bureau si vous voulez. Un Pentium à 2,6Go me parait curieux (je connais 2,6 Ghz mais pas 2,6Go ou alors il s'agit du disque ???). Vous devez détailler vos algorithmes, expliciter les variables, les tableaux, les boucles. Partie Stat Vous disiez pour galg en proba : "J'éviterais de refaire la même chose dans la partie statistique." mais vous l'avez refait ! "Ce travail est directement lié au TD 7 et on peut comparer Rv à la loi de Mendel". Je ne vois pas le rapport. Veuillez détailler ("la" loi de Mendel n'existe pas, il s'agit d'un raccourci pour désigner les lois discrétes définies par des proportions génétiques !). Vous devez détailler vos algorithmes, expliciter les variables, les tableaux, les boucles. "on crée un enregistrement" : ce n'est pas la peine, il s'agit de valeurs pouvant aller dans un Vous n'avez pas répondu à toutes les questions. Fichier ***.ZIP --------------- Partie Proba Ce n'est pas la peine de définir des enregistrements car vous pouvez utiliser un tableau avec les mêmes valeurs. Au niveau de l'algorithme, utilisez donc des tableaux, quitte à les migrer en enregistrements dans le programme. Ce n'en sera que plus simple et plus lisible. Il serait bon de détailler ce que vous appelez "alphabet représentatif". Au lieu de 26, vous en utilisez combien ? lesquelles ? quelles sont les caractéristiques de chacune de ces lettres ? La partie "On utilise donc dans une procédure récursive ayant en entrée une partie de mot à compléter ainsi qu'une place de parcours de l'alphabet. La procédure est composée d'une boucle 'pour' commençant" n'est pas très explicite. Donnez un exemple, disons avec un mot de 6 lettres et montrez quelle partie est gérée par la boucle pour et quel(s) appel(s) récursifs sont effectués à partir de ce mot, quel(s)s score(s) vous en déduisez... Partie Stat Pourriez-vous détailler un peu plus les algorithmes de calcul, nommer les variables utilisées ? Fichier ***.ZIP --------------- Partie Proba Bonnes explications, mais un peu courtes. Essayer de détailler un ou deux cas de passage de tableau pour les mots de trois lettres à des mots de quatre lettres. Il serait bon de nommer les principales variables utilisées dans vos algorithmes, d'expliquer comment est constitué chaque tableau, à quoi il sert. Faites relire votre texte pour corriger vos quelques fautes d'orthographe comme des lettres qui compose ce mot on peut ce demander Les tableaux suivants montre en fonctions des lettres les case 1 2 ne sont pas non plus utilisé (2 fautes). Partie Stat Il n'y a aucune description de l'algorithme, de la lecture des données, des tableaux utilisés, des fonctions programmées... c'est dommage car vu la qualité de votre rédaction pour la partie proba, vous auriez l'une des meilleures de la promo si l'algorithme stat était rédigé... Au lieu de faire des tableaux dynamiques, il est possible d'utiliser une taille maximale comme semble indiquer l'énoncé. Cela simplifie la programmation. Au lieu de fscanf(fic,"%d %d %f",&ligne,&colonne,&valeur); vous pouvez utiliser LIRE ligne, colonne, valeur SUR fic et c'est encore plus lisible. Les instructions pour que galg traduise en C ne m'intéressent pas... Fichier ***.ZIP --------------- Partie Proba Très bonne analyse détaillée. Mais... pourquoi ne pas décrire l'algorithme en nommant les tableaux, indiquer les boucles... ce serait excellent. Vous devez au minimum commenter les structures de données de votre algorithme et son fonctionnement global. Partie Stat Même remarque que pour la partie proba : vous devez décrire votre algorithme, nommer les variables, les tableaux, détailler la lecture du fichier... Fichier ***.ZIP --------------- Partie Proba Votre rédaction est trop courte, trop succincte. Vous devez nommer les principaux tableaux utilisés, détailler la méthode, donner des exemples de passage de n lettres à n+1 lettres, expliquer le chiffre 86 (s'il est correct). "Aucune formule mathématique ne peut donner le plus petit nombre de mot en fonction du nombre de lettre, la complexité du programme n'étant pas modélisable à l'aide d'une simple formule." est une affirmation non prouvée. D'ailleurs, beaucoup d'autres m'ont donné la formule... La réponse quant aux entreprises n'est pas assez étoffée. Le programme ne s'arrete pas ? Si aucun parametre, il semble faire n'importe quoi... Partie Stat Aucun commentaire sur l'algorithme, donc aucun point ! Idem pour les questions. Le programme sans aucun parametre semble "planter". Avec ble.txt il ne reaffiche pas les donnees... Fichier ***.ZIP --------------- Pourquoi envoyer plusieurs archives avec des noms différents ? xxx.zip suffit ; pourquoi xxx_projet.zip et xxx2.zip ? lequel faut-il corriger ? Partie Proba Pourquoi mettre des commentaires sur les structures C associées aux tableaux ? Cela n'aide absolument pas à rendre l'algorithme plus lisible. L'algorithme de production des toutes les mots de n lettres est exponentiel. Il faut certainement trouver une autre méthode. Vous devez décrire votre algorithme, nommer les variables, les tableaux... Produire un code gagnant n'exclut pas de faire gratter un 'gagné' ou un 'perdu'. La question est de savoir si ce genre de méthode permet de générer les billets avec 'gagné' ou 'perdu'. Partie Stat Pourquoi d'abord répondre aux questions alors qu'on vous demande en premier un algorithme ? Vous devez décrire votre algorithme, nommer les variables, les tableaux, détailler la lecture du fichier... Fichier ***.ZIP --------------- Partie Proba Faites relire votre document pour corriger les fautes d'orthographe dont cette première solution... ne sera donc pas retenu. les élément du centre Chacune des parties a sont propre barème les 26 lettres de l'alphabets peuvent être diviser (2 fautes) qui déjà plus convenable Les extrémités n'étant plus simplifiable toutes les combinaisons possible avec ses 4 groupes (2 fautes) ont ne fait que de les énumérer (2 fautes) cela inclus etc. Votre analyse est correcte mais vous devriez détailler un peu plus le role des tableaux, les nommer, fournir un exemple de remplissage, décrire les boucles de l'algorithme... Ce que vous dites dans la rubrique c) irait à mon sens plutôt dans la rubrique b). "Non, il n'existe pas de formule" : mais les autres en ont trouvé une, et qui est juste, en plus. Vous n'avez pas envoyé l'algorithme (fichier .alg) ni son analyse par galg (fichiers .lst et .lvm). En conséquence, je ne regarde pas les programmes. C'est dommage car vous semblez avoir fait un travail trés correct. "Une entreprise ne doit pas" : on ne vous demande pas votre sentiment sur la question mais le constat de la pratique d'entreprise, ce n'est pas la même chose. Partie Stat "La programmation utilise plusieurs tableaux qui stockent pour chacun d'entre eux les résultats" : vous croyez vraiment que les tableaux servent à autre chose ? Cette phrase s'applique à tous les algorithmes avec tableaux. Cela n'explique absolument pas ce que vous faites, si les facteurs sont en ligne ou en colonne, si la moyenne et l'écart-type sont dans un même tableau, etc. Au risque de me répéter, vous devez nommer les tableaux et les variables, expliquer ce que contiennent les tableaux, au niveau des lignes, des colonnes, vous devez citer les boucles principales de l'algorithme... Très bonnes réponses aux questions sur l'anova et les logiciels stats (c'est rare). Pourriez-vous me fournir votre fichier betailbiencode.txt ? Vous n'avez pas envoyé l'algorithme (fichier .alg) ni son analyse par galg (fichiers .lst et .lvm). En conséquence, je ne regarde pas les programmes. C'est dommage car vous semblez avoit fait un travail trés correct. Avec les algorithmes et leur analyse par galg, vous devriez en principe avoir de 4 à 10 points de plus... Ce serait alors l'une des meilleures notes de ce projet. Alors n'hésitez pas à renvoyer les fichiers qui manquent...et n'oubliez pas d'indiquer si vos exécutables sont pour Windows ou Linux. Fichier ***.ZIP --------------- Pas de page de titre avec le nom de l'auteur, mais qui est-ce donc ? Pourquoi commencer par m'expliquer comment on compile en ligne de commande avec Turbo Pascal ? La notion de "mots soulignés en rouge" n'a aucun rapport avec le projet et est locale à votre logiciel et à votre configuration. Pour les parties d'algorithmes affichées dans le document Word, le mieux est d'utiliser la police "Courier New" car elle est non proportionnelle, comme dans les éditeurs de programmes... Partie Proba Pourquoi utiliser des enregistrements alors que des tableaux suffisent ? Pourquoi indicer de 1 à 86 si le plus petit scores est 3 ? Très bonne analyse bien détaillée : les variables sont bien nommées, les boucles sont détaillées... Dommage que vous n'ayez pas trouvé une solution plus rapide... J'aurais aimé avoir un fichier .alg qui regroupe tous vos algorithmes dont l'algorithme principale et les fichiers .lst et .lvm associés. Cela vous donnera des points en plus ! Partie Stat Vous avez du trop travailler sur la partie proba car la partie stat est à peine rédigée. Je ne comprends pas la phrase "J'ai choisi de ne pas écrire une seule fonction (ou plus) pour chaque quantitésSSSSSS à calculer :" si vous n'avez pas écrit de fonction, il faut le dire. Si vous voulez dire "mettre dans le rapport" pour "écrire", alors il faut mieux rédiger. Votre idée de fonction générale est intéressante mais pas assez "fouillée" : si vraiment toutes les fonctions utilisent le même modèle, vous ne devriez avoir qu'une seule fonction avec un ou deux paramètres pour séparer les cas à traiter.... par exemple somme et somme_des_carrés doit pouvoir se faire avec un paramètre CARRE qui vaut 0 pour la somme et 1 pour la somme des carrés... Pour mieux expliquer vos fonctions, après le modèle, je vous conseille de fournir un listing explicte d'une fonction utilisée, par exemple celle de la somme des carrés. J'aurais aimé avoir un fichier .alg qui regroupe tous vos algorithmes dont l'algorithme principale et les fichiers .lst et .lvm associés. Cela vous donnera des points en plus ! Après lecture du programme Pascal, je constate qu'il y a beaucoup de sous-programmes que ce que vous annoncez, que l'affichage n'est pas expliqué dans la documentation... Il est possible que le document "xxxxxxxStat.doc" soit incorrect car vous avez peut-être fait l'archive .zip alors que le document Word était ouvert car dans l'archive, je vois un fichier "~$xxxStat.doc" et un fichier "~WRL7541.tmp" auquel cas le fichier Word que je vois n'est pas celui que vous avez écrit... A vérifier : le document que j'ai lu n'a que 6 pages et 5 lignes seulement à la partie "4. Réponses aux questions". Fichier ***.ZIP --------------- Partie Proba Pour la partie "entreprises" vous confondez la génération des gagnants et l'affichage pour les clients. On peut imaginer qu'on gratte et qu'on voit affiché "gagnant" ou "perdu" et que pour vérifier, il y a une autre zone à gratter avec le code... Vous êtes sans doute le seul à vouloir calculer tous les mots de n lettres même si cela durerait 3000 ans comme vous dites. Avec un peu plus de réflexion, vous auriez trouvé au moins une autre solution (comme les autres) puisque plusieurs lettres jouent le même rôle vis à vis des scores... Vous ne devez pas parler du programme car il ne m'intéresse pas. Seul m'intéresse l'algorithme. Si votre analyse est relativement bien détaillée (bien que trop personnelle : les "je" sont inutiles car je n'ai pas besoin de l'historique de vos essais mais seulement de la description de la solution finalement retenue), l'algorithme n'est pas détaillé. Vous devez nommer les tableaux, décrire les structures de données, indiquer les boucles principales, présenter les fonctions... La formule de maths a été trouvée par les autres... elle doit donc exister. Vous etes sur la bonne piste en disant qu'il s'agit des mots avec le plus grand score... Pourquoi ne pas fournir l'exécutable associé au programme ? Partie Stat C'est mieux rédigé. Ainsi "deux variables globales lig et col.." continuez en nommant aussi les tableaux, mais attention ; il y a une consigne à respecter : <>. Il manque à votre description de l'algorithme un peu de recul en nommant les parties principales de l'algorithme : soyez généraliste avant de faire la liste des fonctions utilisées. Pourquoi ne pas fournir l'exécutable associé au programme ? "http://members.aol.com/johnp71/javastat.html ; Par contre, je n'ai pas eu le temps de le tester." Cela parait difficile à croire : il suffit de rentrer les valeurs (par exemple avec copier/coller) et regarder le résultat, soit moins de 3 minutes, montre en main. 3 minutes en 2 mois et demi, cela se trouve, non ? Votre rédaction sur les tests complémentaires, y compris la fin,notamment sur "les contrastes de Scheffé... (si ces derniers sont justifiés)" est ambigue : on croirait que vous comprenez ce que vous dites alors que vous ne faites que recopier. En particulier, comme vous avez escamoté Newman-Keuls, vous faites un contre-sens vis à vis "des contrastes orthogonaux". Essauyez une rédaction plus honnête avec des phrases au conditionnel ou en indiquant que cela parait compliqué et que vous n'avez pas tout compris (ce qui est tout a à fait normal pour un projet en Licence Informatique traitant de statistiques...). Fichier ***.ZIP --------------- Partie Proba Ne mettez pas des "je" un peu partout : on vous demande de décrire la méthode, l'algorithme, pas votre vie. Vos tableaux mat1, mat2 et mat3 sont mal nommés : ce n'est pas très explicite. Il serait bon dans le principe général de l'algorithme de nommer les tableaux utilisés. Si vous pouviez mettre un exemple par exemple avec les mots de 5 lettres, à partir des most de 4 lettres, ce serait plus compréhensible... Pourquoi ne pas fournir l'exécutable associé au programme ? "Je ne pense pas qu'une formule puisse exister" pourtant avec AAA..AA comme exemple de mot pour n lettres à partir de 3 lettres, la formule (que les autres ont trouvée) doit être simple... Si je compile votre programme et que je l'exécute, il ne s'arrete pas de lui-meme : il faut faire "Entrée" pour l'arreter mais vous ne l'indiquez pas. Ce genre d'arret est inutile. Partie Stat "Je ne savais pas retranscrire la fonction 'fin de fichier de f' en galg." Comme indiqué en cours et en td, la réponse est dans la faq de galg ; en particulier, si vous devriez consulter http://www.info.univ-angers.fr/pub/gh/Galg/galg_xmp2.htm#triFus.alg C'est bien de lister vos fonctions mais l'analyse "linéaire" comme vous dites ne suffit pas à expliquer comment tout cela fonctionne ensemble. Un peu de recul sur l'utilisation de ces fonctions par l'algorithme principal serait le bienvenu... Pourquoi ne pas fournir l'exécutable associé au programme ? Si je compile votre programme et que je l'exécute, il n'utilise pas de paramètre. Vous devez utiliser paramcount et paramstr pour correspondre à ce qui est demandé. De plus, le programme ne s'arrete pas de lui-meme : il faut faire "Entrée" pour l'arreter mais vous ne l'indiquez pas. Ce genre d'arret est inutile.