Robert Erra

Professeur d'informatique / Responsable Pôle SIS

15 06 2011

REMARQUES GENERALES SUR L'EVALUATION INFO 1032 1A S2 2011

Quelques remarques

  • - exercice 1: bien traîté, normal vu que c'est une variante simple des algorithmes de partition vus en cours/td/tdao/tpl
  • - exercice 2: bien traîté mais beaucoup ont oublié l'initialisation à 0 du tableau H, ce qui est gênant car certains compilateurs ne génèrent pas par défaut un code exécutable qui "met à 0" les tableaux, il faut TOUJOURS le faire pour éviter les problèmes.
  • - exercice 3: pas assez bien traîté vu qu'il est quand même plus facile de corriger un algorithme que de le créer (enfin, en général)
  • - exercice 4: pas souvent traîté (moins de la moitié des copies) et correctement traîté par 4 étudiants/étudiantes, revoir le cours et les transparents associés montre que ce n'était pas difficile.

Globalement

  • - la moyenne n'est pas très haute, bien que supérieure à 10,
  • - mais avec 23 copies qui ont de 0 à 2,9 cela pénalise fortement la moyenne (cas extrême, quelqu'un a écrit "if(i=0;i<N;i)" à la place de "for(i=0;i<N;i)"; là on ne peut plus rien faire)
  • - 5 copies ont soit frôlé le maximum soit l'ont dépassé grâce aux "bonus"
  • - d'où un écart type énorme; si on enlève les 23 copies on gagne plus de 3 points en moyenne
  • - c'est dommage car on sent qu'il y a un certain travail, même si il y a encore un manque de réflexes de base chez certains/certaines,
  • - ceux qui ont moins de 10 à cette évaluation: Attention!!!!! Vous n'êtes pas prêt à aller sur les terrains aventureux de la 2A. Un conseil: mettez vous à niveau AVANT! On ne traverse pas le Grand Nord en bermuda et tongs. Le programme de 2A c'est un peu les Jeux Olympiques: Plus vite, plus haut, plus fort !.

Information: un de mes problèmes ACM préférés, le fameux Skyline problem (http://uva.onlinejudge.org/external/1/105.html) a été posé à un esiarque dans le premier test pour intégrer Goox. Il est très beau, et je pense sincèrement, qu'il est curieusement assez facile pour disons ceux qui ont eu plus de 15. Et ceux qui ont eu 20 devrait le faire en moins de 2 heures. Testez votre capacité à intégrer Goox! Et si vous le validez , faîtes le moi savoir svp! ce type de tests se généralise chez Goox et Facoox.

Enfin, je précise que j'ai lu tout ce qui m'a été envoyé (et non spammé) par les étudiants/étudiantes de 1A , même si je ne répond pas toujours personnellement. J'ai donc "amélioré" la moyenne de certains/certaines. Un étudiant a même mis une réponse à un des problèmes que j'ai proposés à la fin de SA COPIE. ce n'est pas le lieu et ce n'était pas le moment mais je l'ai lu quand même!

BONNES VACANCES A TOUTES ET A TOUS

15 06 2011

EVALUATION INFO 1A S2 JUIN 2011: exercice 4.

Pas grand chose à dire sinon relire le cours et adapter la solution présentée en détails et qui se trouve dans les transparents. De 0 à 10 points pour la solution (bonus à part).

15 06 2011

EVALUATION INFO 1A S2 JUIN 2011: exercice 3.

Classique de chez classique. La fonction proposée est fausse. On laisse en exercice à faire chez soi sa correction. De 0 à 10 points pour la solution minimale demandée (bonus à part).

15 06 2011

EVALUATION INFO 1A S2 JUIN 2011: exercice 2.

Exercice 2 est classique.

Il suffit de parcourir le tableau T et d'incrémenter la "bonne valeur" de H, voir le code. Attention: il fallait absolument initialiser le tableau H à 0 (et TOUTES ses valeurs). Par ailleurs, il ne faut JAMAIS faire confiance aux données et donc, on pouvait proposer de "tuer" ou de pas prendre en compte les éléments de T dont la valeur est soit > K soit <0! De 0 à 10 points pour la solution minimale demandée (bonus à part):

@@

void histogramme(int T [],  int H[], int N, int K){  

int i;

for(i=0;i<K;i++) H[i]=0;

for(i=0;i<N;i++)   H[T[i]] = H[T[i]]  +1 ; /* plus clair, c'est au compilateur de faire son boulot */

}@@
15 06 2011

EVALUATION INFO 1A S2 JUIN 2011: exercice 1.

Bonjour à toutes et à tous

quelques élements de réponse sur la question 1 de l'évaluation de juin 2011:

Classique: avec une seule boucle (et donc une complexité strictement linéaire!) on y arrive sans difficulté. De 0 à 10 points en fonction de la qualité, l'exactitude etc. Certains ont fait un code illisible, ou faux, et queqlues (très) rares étudiants/étudiantes ont réussi à écrire une fonction qui renvoit un tableau avec les 0 à droite (dans ce cas la moitié des points).

Solution possible:

@@int PartitionZeroaGauche(int T[ ],int Taille){
 	int i;
 	int Temp;
 	int Kzeros =0  ;  /* Nombre d'éléments du tableau T qui sont  nuls (=0) */
 	
 	for(i=0;i<Taille;i++){ /* à vous */	
     	   if(T[i]==0){
 	                    Temp=T[Kzeros];
 	                    T[Kzeros]=T[i];
 	                    T[i]=Temp;
 	                    Kzeros++;
                 };
               }	
     
 	return (Kzeros); 
 }@@