0% ont trouvé ce document utile (0 vote)
2 vues9 pages

TP Algorithmique

Le document présente plusieurs algorithmes en algorithmique, incluant des opérations sur des matrices, le triangle de Pascal, et des manipulations de tableaux. Chaque algorithme est décrit avec des instructions pour la saisie et le traitement des données, ainsi que pour l'affichage des résultats. Les algorithmes traitent des tâches telles que la multiplication de matrices, l'analyse de tableaux, et la modification d'éléments dans des tableaux.

Transféré par

kabilaarcenic
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues9 pages

TP Algorithmique

Le document présente plusieurs algorithmes en algorithmique, incluant des opérations sur des matrices, le triangle de Pascal, et des manipulations de tableaux. Chaque algorithme est décrit avec des instructions pour la saisie et le traitement des données, ainsi que pour l'affichage des résultats. Les algorithmes traitent des tâches telles que la multiplication de matrices, l'analyse de tableaux, et la modification d'éléments dans des tableaux.

Transféré par

kabilaarcenic
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Travail pratique d’algorithmique

Q1. Algorithme Produit_Matrices ;


Const m=100
Var A,B,C : tableau[1 ..m] :d’entier ;
n, m, p, i, j, k : entier ;
Début
Afficher("Entrer le nombre de colonnes de A : ") ;
Lire(n) ;
Afficher ("Entrer le nombre de colonnes de A (et lignes de B) : ") ;
Lire(m) ;
Afficher ("Entrer le nombre de colonnes de B : ") ;
Afficher ("Entrer les éléments de la matrice A : ") ;
Pour i ← 0 à n-1 Faire
Pour j ← 0 à m-1 Faire
Lire(A[i][j]) ;
FinPour ;
FinPour ;
Afficher ("Entrer les éléments de la matrice B : ") ;
Pour i ← 0 à m-1 Faire
Pour j ← 0 à p-1 Faire
Lire(B[i][j]) ;
FinPour ;
FinPour ;
Pour i ← 0 à n-1 Faire
Pour j ← 0 à p-1 Faire
C[i][j] ← 0 ;
FinPour ;
FinPour ;
Pour i ← 0 à n-1 Faire
Pour j ← 0 à p-1 Faire
Pour k ← 0 à m-1 Faire
C[i][j] ← C[i][j] + A[i][k] * B[k][j]
FinPour ;
FinPour ;
FinPour ;
Afficher ("La matrice produit C est : ") ;
Pour i ← 0 à n-1 Faire
Pour j ← 0 à p-1 Faire
Afficher (C[i][j]) ;
FinPour ;
FinPour ;
Fin .
Q2. Algorithme Triangle_Pascal ;
Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i, j : entier ;
Début
Afficher ("Entrer le nombre de lignes du triangle de Pascal : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Pour j ← 0 à i Faire
Si j = 0 OU j = i Alors
T[i][j] ← 1 ;
Sinon ;
T[i][j] ← T[i-1][j-1] + T[i-1][j] ;
FinSi ;
FinPour ;
FinPour ;
Afficher ("Triangle de Pascal : ") ;
Pour i ← 0 à n-1 Faire
Pour j ← 0 à i Faire
Afficher (T[i][j], " ") ;
FinPour ;
FinPour ;
Fin .

Q3. Algorithme Analyse_Tableau ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i : entier
positif, negatif, nul, somme, minimum, maximum : entier ;
moyenne : réel ;
Début
Afficher("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Afficher ("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
positif ← 0 ;
negatif ← 0 ;
nul ← 0 ;
somme ← 0 ;
minimum ← T[0] ;
maximum ← T[0] ;
Pour i ← 0 à n-1 Faire
somme ← somme + T[i] ;
Si T[i] > 0 Alors
positif ← posi f + 1 ;
Sinon Si T[i] < 0 Alors
negatif ← nega f + 1 ;
Sinon ;
nul ← nul + 1 ;
FinSi ;
Si T[i] < minimum Alors
minimum ← T[i] ;
FinSi ;
Si T[i] > maximum Alors
maximum ← T[i] ;
FinSi ;
FinPour ;
moyenne ← somme / n ;

Afficher ("Nombre d'éléments positifs : ", positif) ;


Afficher ("Nombre d'éléments négatifs : ", negatif) ;
Afficher ("Nombre d'éléments nuls : ", nul) ;
Afficher ("Minimum : ", minimum) ;
Afficher ("Maximum : ", maximum) ;
Afficher ("Moyenne : ", moyenne);
Fin.

Q7. Algorithme Afficher_Element_Position ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i, position : entier ;
Début
Afficher("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Afficher("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
Afficher ("Entrer la position de l'élément à afficher : ") ;
Lire(position) ;
Si position ≥ 0 ET position < n Alors
Afficher ("L'élément à la position ", position, " est : ", T[position]) ;
Sinon
Afficher ("Position invalide") ;
FinSi ;
Fin.

Q8. Algorithme Modifier_Element_Tableau ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i, indice, nouvelle_valeur : entier ;
Début
Afficher ("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i=: 0 à n-1 Faire
Afficher ("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
Afficher ("Entrer l'indice de l'élément à modifier : ") ;
Lire(indice) ;
Afficher ("Entrer la nouvelle valeur : ") ;
Lire(nouvelle_valeur) ;
Si indice ≥ 0 ET indice < n Alors
T[indice] =:nouvelle_valeur ;
Sinon ;
Afficher("Indice invalide") ;
FinSi ;
Afficher("Tableau après modification : ") ;
Pour =: 0 à n-1 Faire
Afficher(T[i]) ;
FinPour ;
Fin .

Q9. Algorithme Modifier_Tous_Les_Elements ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i, ajout : entier ;
Début
Afficher("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Afficher ("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
Afficher ("Entrer la valeur à ajouter à chaque élément : ") ;
Lire(ajout) ;
Pour i ← 0 à n-1 Faire
T[i] ← T[i] + ajout ;
FinPour ;
Afficher ("Tableau après modification : ") ;
Pour i ← 0 à n-1 Faire
Afficher (T[i]) ;
FinPour ;
Fin .

Q10. Algorithme Supprimer_Element_Tableau ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i, position : entier ;
Début
Afficher("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Afficher ("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
Afficher ("Entrer la position de l'élément à supprimer : ") ;
Lire(position) ;
Si position ≥ 0 ET position < n Alors
Pour i ← posi on à n-2 Faire
T[i] ← T[i+1] ;
FinPour ;
n←n–1;
Afficher ("Tableau après suppression : ") ;
Pour i ← 0 à n-1 Faire
Afficher (T[i]) ;
FinPour ;
Sinon ;
Afficher ("Position invalide") ;
FinSi ;
Fin .

Q11. Algorithme Nombre_Occurrence ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i, element, compteur : entier ;
Début
compteur ← 0 ;
Afficher("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Afficher("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
Afficher("Entrer l'élément à rechercher : ") ;
Lire(element) ;
Pour i ← 0 à n-1 Faire
Si T[i] = element Alors
compteur ← compteur + 1 ;
FinSi ;
FinPour ;
Afficher("Le nombre d'occurrence de ", element, " est : ", compteur) ;
Fin.

Q13. Algorithme Recherche_Element ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i, element : entier ;
trouve : booléen ;
Début
trouve ← Faux ;
Afficher ("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Afficher("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
Afficher("Entrer l'élément à rechercher : ") ;
Lire(element) ;
Pour i ← 0 à n-1 Faire
Si T[i] = element Alors ;
trouve ← Vrai ;
FinSi ;
FinPour ;
Si trouve = Vrai Alors ;
Afficher("L'élément ", element, " se trouve dans le tableau") ;
Sinon ;
Afficher("L'élément ", element, " ne se trouve pas dans le tableau") ;
FinSi ;
Fin ;

Q14. Algorithme Inverser_Tableau ;


Const m=100 ;
Var T :tableau[1..m] d’entier ;
n, i : entier ;
temp : entier ;
Début
Afficher("Entrer la taille du tableau : ") ;
Lire(n) ;
Pour i ← 0 à n-1 Faire
Afficher("Entrer T[", i, "] : ") ;
Lire(T[i]) ;
FinPour ;
Pour i ← 0 à (n ; div 2) - 1 Faire
temp ← T[i ] ;
T[i] ← T[n - 1 - i] ;
T[n - 1 - i] ← temp ;
FinPour ;
Afficher("Tableau après inversion : ") ;
Pour i ← 0 à n-1 Faire
Afficher(T[i]) ;
FinPour ;
Fin.

Vous aimerez peut-être aussi