TD5 ASD 2022 2023 Fin
TD5 ASD 2022 2023 Fin
TD5 ASD 2022 2023 Fin
Exercice 1:
Fin
Exercice 2:
Exercice 3:
1- Ecrire une procédure saisir_taille (VAR n: entier) qui permet de saisir un entier n
(0<n<=50).
2- Ecrire une procédure saisir_tab(VAR T: TAB; n :entier) qui permet de saisir les n entiers
du tableau T de type tab.
1
3- Ecrire une fonction Rcherche_tab(T: TAB; N :entier ,x :entier ) :entier qui recherche si
un entier x existe dans le tableau et retourne son indice sinon retourne 0 (s’il existe plusieurs
valeurs, la fonction retourne l’indice de la première valeur rencontrée).
4- Ecrire la procédure supprimer entier qui permet de supprimer toutes cases contenant un
entier donné x du tableau T .
5- Ecrire une procédure afficher permettant d’afficher tous les éléments d’un tableau T.
6- En utilisant les modules déjà développés, écrire un algorithme principal permettant de :
- Déclarer le type Tab : tableau de taille une constante MAX = 50 ;
- Remplir un tableau T de type Tab par n entiers .
- Afficher le contenu du tableau.
- lire un entier x et Supprimez toutes les cases du tableau T contenant cette valeur.
- Afficher le nouveau contenu du tableau.
2
b. La procédure Remplir(VAR M : Matrice ; L : entier, C : entier) qui permet de remplir
une matrice M, de L lignes et C colonnes, par des entiers différents de zéro. Les contrôles de
saisie doivent être effectués.
c. La fonction Occurrences(M : Matrice, L : entier, C : entier ; x : entier) : entier qui
retourne le nombre d’occurrences de x dans la matrice M.
d. La procédure MatOcc(M : Matrice, L : entier, C : entier ; x : entier ; VAR MO : Matrice ;
VAR LO : entier, VAR CO : entier) qui construit la matrice d’occurrences de x comme suit :
Si x se trouve à la case (i1, j1), alors la première ligne de MO contient dans l’ordre i1, ensuite
j1 Si x se trouve à la case (i2, j2), alors la première ligne de MO contient dans l’ordre i2,
ensuite j2 etc.. A noter que LO est le nombre de lignes de la matrice MO et CO est le nombre
de colonnes de la matrice MO.
3
4. Écrire la procédureCalculerMoyennes(VAR MNotes : Matrice ;N : entier, M : entier)
qui permet de calculer la moyenne des Nélèves.
5. Écrire la fonctionMeilleureMoyenne(MNotes : Matrice, N: entier, M :entier): réel qui
permet de retourner la meilleure moyenne obtenue.
6. En utilisant des appels aux procédures et fonctions des questions précédentes, écrire
l’algorithme général qui permet de :
Remplir une matrice de notesMatNotes de N élèves pour M cours (M et N étant saisis
par l’utilisateur).
Calculer la moyenne de tous les élèves.
Calculer et afficher la meilleure moyenne obtenue.