Beruflich Dokumente
Kultur Dokumente
Objectifs de la séance :
• Déclaration et parcours de tableau à deux dimensions ;
• Conception d’algorithme sur un tableau à deux dimensions ;
• Révision de l’emploi des générations aléatoires.
Conception de l’algorithme :
1. Taille du tableau :
Tableau de notes de taille N × M
Il faut ajouter une colonne pour les moyennes de chaque étudiant.
Il faut aussi ajouter une ligne pour les moyennes par matière.
→ allouer de la mémoire pour un tableau de taille (N+1) × (M+1)
Penser à définir les valeurs de N et M avant de déclarer le tableau (par un #define en début de code).
2. Parcours du tableau :
Une case du tableau est repérée par deux indices : i allant de 0 à N, j allant de 0 à M → tab[i][j]
Pour parcourir les notes des étudiants : i de 0 à N – 1 et j de 0 à M – 1.
→ deux boucles for imbriquées.
Génération aléatoire des notes, comprises entre 0 et 20 : commande rand()%21.
→ impossible de réaliser les deux processus au sein d’une même double boucle for.
3. Construction du code :
Deux possibilités :
• parcourir le tableau pour générer les notes, puis refaire des parcours calculer les moyennes par étudiant
(colonne M) et par matière (ligne N)
→ séparation des entrées et des traitements
• parcourir une première fois le tableau pour générer les notes (par exemple ligne par ligne) et calculer la
moyenne à placer en fin de ligne, puis parcourir une deuxième fois le tableau pour les moyennes par
matière.
→ diminution du nombre de boucles à coder
#define N 5
#define M 4
int main(void) {
/* Entrées */
int i, j, ligne, colonne;
int notes[N+1][M+1];
srand(time(0));
printf("\n");
return 0;
}