TD N°11 Structures de données : Tableau 1D (Exercices de TD) 1. Déclarer un tableau de 9 réels et l’initialiser avec la valeur 0. 2. Écrire l’algorithme d’un sous-programme RemplirTableau qui remplit un tableau de 9 notes (réelles) avec des valeurs demandées à l’utilisateur. 12 18.5 13.25 08.75 16 15 13.5 12 17 3. Écrire l’algorithme d’un sous-programme AfficheTableau qui permet d’afficher les 9 valeurs contenues dans le tableau. 4. Écrire l’algorithme d’un sous-programme RechercheMin qui permet de retourner l’indice de la plus petite valeur contenue dans le tableau. 5. Écrire l’algorithme d’un sous-programme SommeTableau calculant la somme des valeurs du tableau précédent : SommeTableau = 126. 6. Écrire l’algorithme d’un sous-programme permettant de renverser le contenu d’un tableau contenant des caractères. Avant exécution : T1 : A B C D E F G H I Après exécution : T2 : I H G F E D C B A (Exercices supplémentaire) 7. On dispose de deux tableaux de tailles identiques T1 et T2 contenant les notes de contrôle continu et d’examen d’un étudiant pour 9 modules données. On souhaite à partir de ces deux tableaux constituer un troisième tableau (noté T3) contenant les moyennes pondérées par les coefficients suivants : o Contrôle continu (T1) : coefficient 1 o Examen terminal (T2) : coefficient 2 8. Écrire l’algorithme d’un sous-programme CalculMoyenneTableau permettant à partir des deux premiers tableaux de remplir un troisième tableau T3 en utilisant les coefficients donnés. Mr. REGUIEG Seddik Maitre Assistant B Exemple de calcul 14 = (12*1 + 15*2) / 3 T1 : 12 08 5.5 14 13 10.5 07 16 09 T2 : 15 03 12 17 08 10 08 19 03 T3 : 14 4.66 9.83 16 9.66 10.16 7.66 18 5 Structures de données : Tableau 2D (Exercices de TD) 9. Soit M une matrice carrée de taille 5x5 contenant des entiers. Écrire la déclaration et l’initialisation d’une telle structure de données. 10. Écrire un algorithme RemplirMatrice qui propose à l’utilisateur de remplir une matrice M de taille 5x5. 5 6 1 4 0 1 9 1 5 2 8 7 0 7 5 6 4 9 3 0 0 2 7 0 9 11. Écrire deux procédures d’affichage d’une matrice 2D de taille 5*5 : o Affichage_2D_ligne : qui affichera la matrice ligne par ligne. o Affichage_2D_colonne : qui affichera la matrice colonne par colonne. 12. Écrire trois fonctions permettant sur matrice 2D de taille 5*5: o De calculer la somme des éléments d’une ligne (le numéro de la ligne étant passé en paramètre). o De calculer la somme des éléments d’une colonne (le numéro de la colonne étant passé en paramètre) o De calculer la somme des éléments de la diagonale (dans la mesure où la matrice est bien carrée) (Exercices supplémentaire) Mr. REGUIEG Seddik Maitre Assistant B 13. Écrire un algorithme RecherchePlusGrand permettant de rechercher le plus grand élément de cette matrice et de retourner l’indice de ligne et l’indice de colonne correspondant à cet élément. 14. Écrire un algorithme TrianglePascal permettant de remplir les cases d’un tableau 2D avec les coefficients du triangle de Pascal. Remarques : La hauteur du triangle sera passée en paramètre et on supposera la fonction combinaison écrite. Exemple : 1 1 1 1 1 1 1 2 3 4 5 1 3 6 10 1 4 10 1 5 1 15. Écrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques en les mettant toutes à zéro. 16. Écrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de l’alphabet latin. 17. Écrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur. 18. Écrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie terminée, le programme affichera le nombre de valeurs négatives et le nombre de valeurs positives. 19. Écrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de départ. Tableau 1 : 4 8 7 9 1 5 4 6 Tableau 2 : 7 6 5 2 1 3 7 4 Tableau à constituer : 11 14 12 11 2 8 11 10 Mr. REGUIEG Seddik Maitre Assistant B 20. Toujours à partir de deux tableaux précédemment saisis, écrivez un algorithme qui calcule le schtroumpf des deux tableaux. Pour calculer le schtroumpf, il faut multiplier chaque élément du tableau 1 par chaque élément du tableau 2, et additionner le tout. Par exemple si l'on a : Tableau 1 : 4 8 7 12 Tableau 2 : 3 6 Le Schtroumpf sera : 3 * 4 + 3 * 8 + 3 * 7 + 3 * 12 + 6 * 4 + 6 * 8 + 6 * 7 + 6 * 12 = 279 21. Écrivez un algorithme remplissant un tableau de 6 sur 13, avec des zéros. 22. Écrire un algorithme de jeu de dames très simplifié. o L’ordinateur demande à l’utilisateur dans quelle case se trouve son pion (quelle ligne, quelle colonne). On met en place un contrôle de saisie afin de vérifier la validité des valeurs entrées. o Ensuite, on demande à l’utilisateur quel mouvement il veut effectuer : 0 (en haut à gauche). 1 (en haut à droite). 2 (en bas à gauche). 3 (en bas à droite). o Si le mouvement est impossible (i.e. on sort du damier), on le signale à l’utilisateur et on s’arrête là. Sinon, on déplace le pion et on affiche le damier résultant, en affichant un « O » pour une case vide et un « X » pour la case où se trouve le pion. Mr. REGUIEG Seddik Maitre Assistant B