TD4- Algorithmique I Module informatique SMIA-S2 2021-2022 Pr. Er-rajy Latifa E

TD4- Algorithmique I Module informatique SMIA-S2 2021-2022 Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 1.Déterminer le minimum, le maximum et la moyenne des éléments d’un tableau T. 2. Calculer le produit de tous les éléments de T ainsi que le nombre de valeurs strictement positives. 3. Calculer la somme et le produit scalaire de deux tableaux (T1 et T2). 4. Déterminer les positions de l’apparition d’une valeur dans T. 5. Inverser le contenu de T. 6. Supprimer toutes les valeurs nulles de T. 7. Mettre les valeurs négatives au début et les valeurs positives à la fin en utilisant un seul tableau. Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 1.Déterminer le minimum, le maximum et la moyenne des éléments d’un tableau T. Pr. Er-rajy Latifa 1- Demander à l’utilisateur de saisir N (N≤100) 2- Récupérer les éléments du tableau. Pour I de 0 à N-1 Faire Lire(T[I]) ; FinPour 3. Déterminer le minimum, le maximum et la moyenne des éléments d’un tableau T. Algorithme MinMax ; Variables Tableau T[100] : entier; I, N, Max, Min, S : entier; Moy : réel ; Début //lecture de la taille exacte Répéter Ecrire(“Donner la taille du tableau N≤100”); Lire(N) ; Jusqu’à N>0 et N <= 100 ; //Lecture des éléments de T Pour I de 0 à N-1 Faire Lire(T[I]) ; FinPour //Initialisation Min←T[0]; Max←T[0]; S←0 ; Pour I de 0 à N-1 Faire Si Max < T[I] Alors Max←T[I] Finsi ; Si Min > T[I] Alors Min←T[I] ; Finsi; S←S+ T[I] ; FinPour; Moy←S/N ; Ecrire(“Maximum =”,Max,“ Minimum =”,Min,“ Moyenne =”,Moy); Fin. Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 2. Calculer le produit de tous les éléments de T ainsi que le nombre de valeurs strictement positives. Pr. Er-rajy Latifa 1- Demander à l’utilisateur de saisir N (N≤100) 2- Récupérer les éléments du tableau. 3. Calculer le produit de tous les éléments de T et le nombre de valeurs strictement positives. Algorithme Prod ; Variables tableau T[100]:reel; I, N, P, Nbp :entier ; Debut /*lecture de la taille exacte Repeter Ecrire(“Donner la taille du tableau N≤100”) ; Lire(N) Jusqu’à N>0 et N <= 100 ; /*Initialisation P←1 ; Nbp←0 ; /*Lecture des éléments de T et traitement en même temps Pour I de 0 à N-1 Faire Lire(T[I]) ; Si T[I]>0 Alors Nbp←Nbp+1 ; Finsi ; P←P* T[I] ; FinPour; Ecrire(“Produit=”, P,“ Nb val positives=”, Nbp) ; Fin. Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 3. Calculer la somme et le produit scalaire de deux tableaux (T1 et T2). Pr. Er-rajy Latifa 1- Demander à l’utilisateur de saisir N (N≤100) 2- Récupérer les éléments des deux tableaux. 3. Calculer la somme et le produit scalaire de deux tableaux (T1 et T2) la somme - T3[0]←T1[0]+ T2[0]; - T3[1]←T1[1]+ T2[1]; - T3[2]←T1[2]+ T2[2]; …………….. - T3[N-1]←T1[N-1]+ T2[N-1]; le produit scalaire : T1[0]* T2[0] + T1[1]* T2[1] +….+ T1[N-1]* T2[N-1] 4- Afficher la somme (T3) et le produit scalaire. Algorithme Prod ; Variables Tableau T1[100], T2[100], T3[100] : entier ; I, N, PS :entier ; Debut /*lecture de la taille exacte Repeter Ecrire(“Donner la taille du tableau N≤100”) ; Lire(N) Jusqu’à N>0 et N <= 100 ; /*Lecture des éléments de T1 ensuite T2 ne pas lire dans la même boucle Pour I de 0 à N-1 Faire Lire(T1[I]); FinPour Pour I de 0 à N-1 Faire Lire(T2[I]) ; FinPour ; /*initialiser Produit scalaire à 0 PS←0 ; /*La somme de T1 et T2 dans T3 Pour I de 0 à N-1 Faire T3[I]←T1[I]+ T2[I]; PS←PS+ T1[I]* T2[I]; FinPour; Ecrire(“Produit Scalaire = ”,PS); Ecrire(“Somme des vecteurs”); Pour I de 0 à N-1 Faire Ecrire (T3[I]) ; FinPour ; Fin. Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 4. Déterminer les positions de l’apparition d’une valeur dans T. 1- Demander à l’utilisateur de saisir N (N≤100) 2- Récupérer les éléments du tableau. 3. Demander à l’utilisateur de saisir une valeur. 4. Déterminer les positions de l’apparition de la valeur saisie Pr. Er-rajy Latifa Algorithme Position ; Variables Tableau T[100], Pos[100] : entier ; I, J, N, Val :entier ; Debut /*lecture de la taille exacte Repeter Ecrire(“Donner la taille du tableau N≤100”) ; Lire(N) Jusqu’à N>0 et N <= 100 ; Pour I de 0 à N-1 Faire Lire(T[I]); FinPour ; Ecrire(“Donner une valeur”) ; Lire(Val) ; /*Recherche de val et sa position J←0 ; Pour I de 0 à N-1 Faire Si T[I]=Val Alors Pos[J]←I J←J+1 ; Finsi ; FinPour ; Si J=0 Alors Ecrire(Val,’non trouvée’) ; Sinon Ecrire(Val,’trouvée aux positions :’) ; Pour I de 0 à J-1 Faire Ecrire (Pos[I]) ; FinPour ; Finsi ; Fin. Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 5. Inverser le contenu de T. 1- Demander à l’utilisateur de saisir N (N≤100) 2- Récupérer les éléments du tableau. 3. Inverser le contenu du tableau: - T[0]←T[N-1]; - T[N-1]←T[0] - T[1]←T[N-2] - T[N-2]←T[1] ………. 4. Afficher le tableau Pr. Er-rajy Latifa Algorithme Inverse ; Variables Tableau T[100] : entier ; I, J, X, N : entier ; Debut /*lecture de la taille exacte Repeter Ecrire(”Donner la taille du tableau N≤100”) ; Lire(N) ; Jusqu’à N>0 et N <= 100 ; /*Lecture des éléments de T Pour I de 0 à N-1 Faire Lire(T[I]) ; FinPour ; /*Inverser I←0 ; J←N-1 ; Tantque I<J Faire X←T[I] ; T[I]←T[J]; T[J]←X; I←I+1 ; J←J-1; FinTantQue ; /*Affichage du nouveau tableau T Pour I de 0 à N-1 Faire Ecrire(T[I]) ; FinPour ; Fin. Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 6. Supprimer toutes les valeurs nulles de T. Pr. Er-rajy Latifa 1 4 3 5 2 0 6 8 7 ... ... ... … ... 8 0 N-1 x N-2 Tantque I < N Faire FinTantQue; Si T[I] = 0 Alors /*boucle de décalage Pour J de I à N-2 Faire T[J]←T[J+1]; FinPour ; N←N-1 /*changer la taille du tableau Finsi ; I←I+1 ; Algorithme SupprimeZero; Variables Tableau T[100] : entier ; I, J, N : entier ; Debut /*lecture de la taille exacte Repeter Ecrire(“Donner la taille du tableau N≤100”); Lire(N) Jusqu’à N>0 et N <= 100 ; /*Lecture des éléments de T Pour I de 0 à N-1 Faire Lire(T[I]) ; FinPour ; /*la suppression des zéro revient à décaler les valeurs non nulles I←0; Tantque I < N Faire Si T[I] = 0 Alors /*boucle de décalage Pour J de I à N-2 Faire T[J]←T[J+1]; FinPour ; N←N-1 /*changer la taille du tableau Finsi ; I←I+1 ; FinTantQue; Si T[N-1] = 0 Alors N←N-1 Finsi ; /*Affichage du nouveau tableau T Pour I de 0 à N-1 Faire Ecrire(T[I]); FinPour ; Fin. Pr. Er-rajy Latifa Exercice 1 : Soit T un tableau à une dimension (vecteur) contenant N nombres entiers (N≤100). Ecrire les algorithmes pour : 7. Mettre les valeurs négatives au début et les valeurs positives à la fin en utilisant un seul tableau. Pr. Er-rajy Latifa -1 -4 3 -2 2 1 -6 8 7 1- Rechercher la premier valeur positive. • Tantque (condition) faire instruction(s) finTantQue J < N et T[J] < 0 J←J+1 ; 2- déplacer les valeurs négatives au début (trouver la première valeur positive I←J ) • Tantque (condition) faire instruction(s) finTantQue J < N Si T[J] < 0 Alors permuter I←I+1 Finsi ; J←J+1 3- Afficher le tableau J=3 -1 -4 3 -2 2 1 -6 8 7 I=2 J=0 J=1 J=2 -1 -4 -2 3 2 1 -6 8 7 J=4 I=3 -1 -4 -2 3 2 1 -6 8 7 J=5 I=3 -1 -4 -2 3 2 1 -6 8 7 J=6 I=3 -1 -4 -2 -6 2 1 3 8 7 J=7 I=4 Algorithme NegPuisPos ; Variables Tableau T[100] : entier ; I, J, N, X : entier ; Debut /*lecture de la taille exacte Ecrire(“Donner la taille du tableau N≤100”); Repeter Lire(N) ; Jusqu’à N>0 et N <= 100 ; /*Lecture des éléments de T Pour I de 0 à N-1 Faire Lire(T[I]) ; FinPour ; /*passer les valeurs négatives au début J←0 ; Tantque J < N et T[J] < 0 Faire J←J+1 ; FinTantQue ; /*déplacer les valeurs négatives au début (trouver la première valeur positive I ) I←J ; J←J+1 ; Tantque J < N Faire Si T[J] < 0 Alors /*permuter X← T[I] ; T[I]←T[J]; T[J]←X; I←I+1 Finsi ; J←J+1 ; FinTantQue ; /*Affichage du uploads/Industriel/ td4-2022-ex1-ex3.pdf

  • 22
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager