Introduction à l'Algorithmique et aux Données
Introduction à l'Algorithmique et aux Données
Laghouat
Tahar ALLAOUI
[Link]@[Link]
Merci de me signaler les erreurs qui
peuvent exister dans ce document
Chapitre 1 :
Introduction générale
Chapitre 1 : Introduction générale
1. Introduction
Actuellement, l'informatique touche tous les domaines de notre vie grâce à ces avantages offerts,
l'informatique a permis de rendre facile et rapide la réalisation des tâches difficiles et même
complexes.
2. Définitions
2.1. Informatique
Le terme informatique est une combinaison de deux mots: information et automatique, c'est la
science du traitement automatique de l'information par une machine "Ordinateur"
Information Information
(Données) (Résultats)
Traitement
Entrée Sortie
Ordinateur
2.2. Ordinateur
L'ordinateur est une machine électronique permettant de résoudre des problèmes par l'exécution
des instructions, c’est un ensemble de périphériques qui communiquent entre eux, pour réaliser un
travail donné.
4
Chapitre 1 : Introduction générale
5
Chapitre 1 : Introduction générale
4. Algorithmique
C’est la science des algorithmes, c'est un ensemble de règles et techniques utilisées dans la
conception et la définition des algorithmes.
5. Langage de description des algorithmes
C’est un langage universel très proche du langage naturel, et qui permet d'écrire des algorithmes
lisibles et compréhensible par les utilisateurs. C’est un langage riche et libre de la machine, qui
offre la possibilité de correction et de modification. Ce langage offre également la possibilité de
représentation graphique (Organigramme)
6. Organigramme
Un organigramme (ou algorigramme) est une représentation graphique d'un algorithme qui permet
de faciliter la compréhension de l'algorithme.
À chaque type d'instructions est associée une forme graphique particulière.
Remarque : C’est vrai qu'un algorithme représente une abstraction de la solution d'un problème
donné, mais cette solution n'est pas compréhensible par la machine (le langage algorithmique est
très proche du langage naturel). Pour que l'algorithme soit compréhensible par la machine, on
doit écrire un programme équivalent à cet algorithme.
7. Programme
C’est la traduction d'un algorithme dans un langage de programmation particulier.
L’ensemble d'instructions d'un programme est appelé code source.
L’exécution d'un programme (code source) par l'ordinateur produit un programme exécutable (le
code cible ou le programme objet), ce programme exécutable manipule les différentes données du
problèmes pour produire les résultats cherchés.
8. Programmation
La programmation est l'ensemble des activités permettant l'écriture des programmes, c'est l'activité
de rédaction du code source d'un programme.
9. Langage de programmation
C’est un ensemble de vocabulaires et de règles bien définies permettant à l'être humain d'écrire des
programmes qui seront exécutés par l'ordinateur.
6
Chapitre 1 : Introduction générale
7
Chapitre 2 :
Les structures de données
et les instructions de base
Chapitre 2 : Les structures de données et les instructions de base
1. Introduction
Afin de résoudre les différents problèmes en informatique, on fait appel à des programmes
compréhensibles et exécutables par la machine, mais avant de passer à la programmation, on
doit d'abord représenter les solution sous forme des algorithmes.
C'est vrai que l'algorithme n'est qu'une représentation de la solution qui est écrite en langage
universel, mais cet algorithme a une forme générale bien défini, et son écriture doit respecter
des règles pour rendre facile le passage vers la programmation.
2. Structure générale d’un algorithme
Un algorithme a généralement la structure suivante :
Algorithme Nom de l’algorithme } L’en-tête
Les déclarations } La partie de déclaration
Début
Instruction 1 ;
Instruction 2 ; Le corps de l’algorithme
…
Instruction n ;
Fin
L’en-tête : chaque algorithme doit avoir un nom qui l'identifier dans l’en-tête.
Les déclarations : dans un algorithme, on peut manipuler des données d’un problème
posé pour obtenir des résultats, la partie de déclaration contient la liste des données
utilisées et manipulées dans l’algorithme ainsi que leurs natures.
Le corps de l’algorithme : c'est la partie qui représente le travail réalisé par
l'algorithme, toutes les instructions et les opérations exécutées par l’algorithme se
trouvent dans cette partie.
3. L'en-tête
Cette partie contient le nom (l'identificateur) de l'algorithme, ce nom doit être une suite de lettres
et de chiffres, qui commence obligatoirement par une lettre et qui ne contient par un espace.
4. La partie de déclaration
Les données utilisées dans l’algorithme doivent être définies (déclarées) pour faciliter leur
manipulation, pour cela on a besoin d’utiliser les structures de données.
9
Chapitre 2 : Les structures de données et les instructions de base
Définition : Une structure de données est une structure logique destinée à contenir des données,
c’est un support logique qui permet de conserver une données.
Chaque structure de données est caractérisée par :
1. Un identificateur : c’est le nom de la structure de données, il est composé de lettres et
de chiffres, ce nom doit respecter les mêmes règles du nom du l'algorithme, par
exemple x1, y2, tab,…représentent des identificateurs des structures de données.
2. Un type : Chaque structure de données a un type qui indique la nature de l'informations
stockées dans cette structure de données. On peut distinguer cinq types de base :
L’entier : une suite de chiffres qui peut être précédée par un signe (+ ou -).
Le réel : une suite de chiffres qui peut être précédé par un signe, et qui peut contenir un
point décimal.
Le booléen : Une donnée ayant seulement deux valeurs possibles : vrai ou faux.
Le caractère : ‘a’..’z’, ‘A’..’Z’, ‘5’, ‘ !’, '?', '@'
La chaîne de caractères : une concaténation de plusieurs caractères, par exemple :
‘informatique ’, ‘salut !’
3. La valeur d’une structure de données : qui indique la valeur de la donnée qui se trouve
dans la structure de données, pendant l'exécution d'un algorithme, cette valeur peut être
fixe ou variable.
Remarque : selon la valeur de la structure de données (fixe ou variable), on peut distinguer
deux grandes familles des structures de données : les constants et les variables.
4.2. Les constants
Un constant est une structure de données dont la valeur est fixe et ne change pas dans tout
l’algorithme.
Déclaration des constants
Pour déclarer un constant, on utilise le mot clé const dans la partie de déclaration.
Exemple : const X=2 ;
Y= ‘bon jour’ ;
X est un constant de type entier dont la valeur est 12.
Y est un constant de type chaîne dont la valeur est : bon jour.
4.3. Les variables
Une variable est une structure de données dont la valeur est variable et peut être changée dans
l’algorithme.
Déclaration des variables
Pour déclarer des variables, on utilise le mot clé var dans la partie de déclaration.
10
Chapitre 2 : Les structures de données et les instructions de base
11
Chapitre 2 : Les structures de données et les instructions de base
Cette instruction permet d'afficher des données sur l'écran, selon la nature de la donnée affichée
on peut distinguer plusieurs formes:
1. Afficher la valeur d’une variable : écrire (nom de variable) ;
2. Afficher un texte : écrire (‘Texte à afficher’) ;
3. Afficher des textes et des valeurs : écrire (‘Texte à afficher’, variable, ‘Texte à
afficher’, variable,…) ;
Remarque : Les instructions d’entrée-sortie sont représentées dans l’organigramme par le
symbole suivant :
Exemples :
5+3–2↑3
(2 * 6) + (5 / 3) * 9
12
Chapitre 2 : Les structures de données et les instructions de base
2 * (6 + 5) / 3 * 9
L’ordre d’évaluation
Certains opérateurs sont plus prioritaires que les autres, pour évaluer une expression
arithmétique, on doit suivre l’ordre suivant :
1. La puissance.
2. La multiplication et la division
3. L’addition et la soustraction
Si on a une expression qui contient des opérateurs de la même priorité, on commence
l’évaluation de gauche à droite.
En cas de présence des parenthèses, on commence par l’évaluation des parenthèses.
On commence par les parenthèses de gauche à droite si l’expression contient plusieurs
parenthèses.
Les expressions logiques :
Une expression logique peut être une combinaison des opérandes logiques et des opérateurs
logiques ou peut être une combinaison des opérandes numériques et des opérateurs de
comparaison.
La 1ère forme: Opérandes numériques et opérateurs de comparaison.
Les opérateurs de comparaison
> Supérieur
< Inférieur
>= Supérieur ou égal
<= Inférieur ou égal
= égal
≠ Différent
Exemple :
12 > 13
(5 + 2) < = 10
13
Chapitre 2 : Les structures de données et les instructions de base
ET La conjonction
OU La disjonction
14
Chapitre 2 : Les structures de données et les instructions de base
Dans cet algorithme, on utilise une variable nbr1 pour la 1ère valeur, et une variable nbr2 pour
la 2ème valeur. On utilise également la variable result pour le résultat
L’algorithme sera donc :
algorithme Somme ;
var nbr1, nbr2, result : entier ;
début
lire (nbr1, nbr2) ;
result ← nbr1 + nbr2 ;
écrire (result) ;
fin
5.3. L’organigramme
Un organigramme est une représentation graphique d’un algorithme permettant de faciliter sa
compréhension.
Remarques :
1. Les mots clés début et fin sont représentés par des rectangles à coins arrondis.
2. Les expressions et les affectations sont représentées par des rectangles.
L’organigramme correspondant à l’algorithme précédent sera donc :
Début
Lire(nbr1,nbr2)
Ecrire (résult)
fin
15
Chapitre 3 :
L’instruction Conditionnelle
Chapitre 3 : L’instruction conditionnelle
1. Introduction
Jusqu’à maintenant, nous avons vu des algorithmes qui suivent un seul chemin pour résoudre
un problème, c’est-à-dire, les algorithmes exécutent séquentiellement des instructions sans
rupture, cette structure d’algorithmes est appelée la structure linéaire.
Dans ce chapitre, nous allons découvrir une nouvelle structure qui permet d'exécuter des
instructions selon un choix, la structure de l'algorithme dans ce cas devient une structure
alternative.
Pour comprendre l'utilité de cette structure, on donne les exemples suivants.
Exemple 1
Ecrire un algorithme qui calcule la moyenne d’un étudiant ayant trois modules
La résolution de ce problème est simple, on doit lire les notes des modules, ensuite calculer la
moyenne de ces notes, l’algorithme correspondant sera donc :
Algorithme moyenne
Var n1, n2, n3, moy :réel ;
Début
Lire (n1, n2, n3) ;
moy← (n1+n2+n3)/3 ;
écrire (moy) ;
Fin
Exemple 2
Écrire un algorithme qui calcule la moyenne d’un étudiant, et affiche « admis » dans le cas où
la moyenne de cet étudiant est supérieure ou égale à 10
On remarque dans ce problème que l’affichage de « admis » dépend de la valeur de moyenne,
l’exécution de l’instruction d’affichage n’est possible qu’après la vérification d’une condition.
Pour cela, on doit utiliser une nouvelle instruction : l’instruction conditionnelle
2. Instruction conditionnelle
C’est une instruction alternative, qui consiste à exécuter une ou plusieurs instructions après la
vérification d’une condition.
La condition doit être une expression logique, c’est la raison pour laquelle on appelle cette
instruction le test logique
17
Chapitre 3 : L’instruction conditionnelle
Si condition alors
Actions ;
Fin si
L’exécution
Si la condition est vérifiée (sa valeur est vraie) on exécute les actions, ensuite on continue
l’exécution de l’algorithme. Dans le cas contraire (la valeur de la condition est fausse) on
exécute directement les instructions qui viennent après la "fin si" sans exécuter les actions.
L’organigramme
Dans les organigrammes, l’instruction conditionnelle peut être représentée par la forme suivante
Condition
Oui
Actions
Algorithme moyenne
Var n1, n2, n3, moy :réel ;
Début
Lire (n1, n2, n3) ;
moy←(n1+n2+n3)/3 ;
Si moy>=10 alors
écrire (‘Admis’) ;
fin si
écrire(moy) ;
Fin.
Exemple 3
18
Chapitre 3 : L’instruction conditionnelle
Écrire un algorithme qui affiche Admis dans le cas où la moyenne est supérieure ou égale à 10,
et affiche Ajourné dans le cas contraire.
Dans ce cas, l’instruction conditionnelle réduite ne permet pas de résoudre le problème car nous
avons deux possibilités, on doit utiliser donc une nouvelle forme de l’instruction conditionnelle
3.2. La 2ème forme : L’instruction conditionnelle complète
Si condition alors
Action 1
Sinon
Action2 ;
Fin si
L’exécution
Si la condition est vérifiée, seule l’action1 est exécutée, ensuite, on va sauter l’action2 pour
exécuter le reste de l’algorithme après la "fin si".
Si la condition n’est pas vérifiée, l’action1 sera ignorée, l’action2 seulement sera exécutée.
L’organigramme
L’instruction conditionnelle complète est représentée dans les organigrammes par la forme
suivante
Non Oui
Condition
Action 2 Action 1
Algorithme moyenne
Var n1, n2, n3, moy : réel ;
Début
Lire (n1, n2, n3) ;
moy← (n1+n2+n3)/3 ;
écrire (moy) ;
si ( moy>=10) alors
écrire (‘Admis’)
sinon
écrire (‘Ajournée’) ;
fin si
19
Chapitre 3 : L’instruction conditionnelle
Fin.
Exemple 4
Ecrire un algorithme qui lit un nombre donné par l’utilisateur, ensuite affiche ‘positif’, ‘négatif’
ou ‘nul’ selon la valeur de ce nombre.
Il est clair qu’on doit utiliser une instruction conditionnelle pour résoudre ce problème, mais
dans l’instruction conditionnelle complète la condition peut avoir deux valeurs seulement,
c’est-à-dire, on peut traiter deux cas seulement, mais dans ce problème, on a 3 cas à traiter, pour
cela, on doit utiliser plusieurs instructions conditionnelles
3.3. Les instructions conditionnelles imbriquées
La forme générale
Si condition1 alors
Action 1 ;
Sinon
si condition 2 alors
Action2 ;
Sinon action3
Fin si
Fin si
Remarque : chaque fin si correspond au Si le plus proche
L’algorithme de l’exemple 4
Algorithme nombre
Var nbr : entier ;
Début
Lire (nbr) ;
Si (nbr>0) alors
Ecrire (‘positif’)
sinon
Si nbr<0 alors
écrire(‘négatif’)
sinon écrire(‘nul’) ;
fin si
fin si
Fin.
20
Chapitre 3 : L’instruction conditionnelle
La forme Valeur1, Valeur2, Valeur3 : Action : Signifie que plusieurs valeurs différentes
peuvent entrainer l’exécution de la même action.
La forme Valeur1 .. Valeur2 : Action : Signifie que l’action doit être exécutée avec
toutes les valeurs de cette intervalle.
Exemple
Ecrire un algorithme qui affiche le nombre de jours d’un mois donné par l’utilisateur
Algorithme mois ;
Var m :entier ;
21
Chapitre 3 : L’instruction conditionnelle
Début
Lire(m) ;
Cas de m parmi
1, 3, 5, 7, 8, 10, 12 : écrire(‘le nombre de jours est 31’) ;
4, 6, 9, 11 : écrire(‘Le nombre de jours est 30’) ;
2 : écrire (‘le nombre de jours est 28’) ;
Sinon écrire (‘Erreur’) ;
Fin Cas ;
Fin.
Remarque : Dans cet algorithme nous avons supposé que le nombre de jours de février est
toujours 28.
22
Chapitre 4 :
Les Tableaux
Chapitre 4 : Les tableaux
1. Introduction
Lorsqu’on écrit des algorithmes, on peut manipuler des variables et des constants de différents
types, et on peut déclarer autant de variables qu’on a besoin pour résoudre les différents
problèmes.
Il se peut que dans un algorithme donné, on aura besoin de manipuler 100 variables de même
type, comme par exemple le calcul de moyenne des étudiants. Il est possible donc de déclarer
100 variables de type réel.
Un tel algorithme n’est pas pratique, et la manipulation d’un nombre important de variables est
très difficile. Il faut donc trouver un moyen permettant de manipuler facilement un nombre
important de données ayant le même type.
La solution consiste à utiliser une nouvelle structure de données : les tableaux
2. Les tableaux
2.1. Définition
Un tableau (appelé également vecteur) est une structure de données complexe qui permet de
regrouper plusieurs données ayant le même type.
Ces données ont toutes le même nom (le nom du tableau), le même type, et peuvent avoir des
valeurs différentes.
2.2. Elément du tableau
Chaque donnée dans le tableau est appelée élément du tableau.
Un élément est caractérisé par son nom (le nom du tableau), un type (le type du tableau), et une
valeur.
Chaque élément est identifié par un indice (un rang) qui indique sa position dans le tableau.
2.3. Dimension d’un tableau
La dimension (ou la taille) d’un tableau désigne le nombre des éléments de ce tableau.
2.4. Déclaration d’un tableau
Un tableau est une variable qui a un nom, une dimension, et un type qui représente le type de
tous ces éléments, la forme générale de la déclaration d’un tableau est donnée comme suit :
Var nom du tableau : Tableau [1..Dimension] de type ;
Exemple
Var tab : Tableau [1..5] d’entier ;
Tab est un tableau de cinq éléments de type entiers, et on peut imaginer sa forme comme ça:
12 -5 3 0 29
25
Chapitre 4 : Les tableaux
Algorithme Somme ;
Var T : tableau [1..3] d’entier ;
S : entier ;
Début
Lire ( T[1], T[2], T[3]) ;
S← T[1] +T[2]+T[3] ;
Ecrire (s) ;
Fin
Exercice 2 : Soit Tab un tableau de 4 éléments entiers. Donner l’algorithme qui permet de
décaler les éléments de ce tableau par une position vers la droite.
Algorithme décalage ;
Var Tab : tableau [1..4] d’entier ;
X : entier ;
Début
Lire (T[1], T[2], T[3], T[4]) ;
x ← T[4] ;
T[4] ← T[3] ;
26
Chapitre 4 : Les tableaux
T[3] ← T[2] ;
T[2] ← T[1] ;
T[1] ← x ;
Fin.
Remarque
jusqu'à maintenant, nous avons manipulé la structure de données Tableau (qu’on a appelé
27
Chapitre 4 : Les tableaux
également Vecteur) qui nous a permis de traiter les problèmes qui nécessitent la manipulation
de plusieurs données ayant le même type. Par exemple, si on veut calculer la moyenne d’un
étudiant, il suffit de déclarer un vecteur avec N cases tel que N est le nombre de modules étudiés
par cet étudiant. Et pour calculer la température moyenne d’une ville pendant un mois, il faut
déclarer un tableau de 31 cases, où chaque case représente la température d’un jour de ce mois.
Maintenant, si on veut calculer la moyenne des étudiants d’une section de 150 étudiants, il nous
faut 150 tableaux, chaque tableau pour un étudiant ! Et pour calculer la température moyenne
de toutes les wilayas, il faut déclarer 48 tableaux !!
Il est claire que l’utilisation d’un nombre élevé de tableaux dans un algorithme n’est pas
pratique, il faut donc faire appel à une nouvelle structure de données qui permet de faciliter
l’utilisation d’un nombre important de tableau tout en simplifiant leur manipulation, la solution
consiste à concaténer plusieurs vecteurs dans la même structure de données, on utilise donc Les
tableaux à deux dimensions ou autrement dit : les Matrices.
4. Les tableaux à deux dimensions
Un tableau à deux dimensions (Matrice) est très similaire à un ensemble de vecteurs concaténés,
chaque ‘’vecteur’’ représente une ligne dans la matrice, et toutes les cases du même rang
représentent une colonne dans la matrice. La figure suivante représente une matrice composée
de 7 lignes et 10 colonnes.
Une colonne
Une ligne
Exemple
Var tab : Tableau [1..3,1..4] d’entier ;
Tab est un tableau de trois lignes et 4 colonnes et dont les éléments sont de type entier.
4.3. Elément d’une matrice
Un élément dans une matrice est caractérisé par son nom (le nom du tableau), un type (le type
du tableau), et une valeur.
Chaque élément est identifié par deux indices : un indice indiquant le numéro de la ligne, et un
autre indice indiquant le numéro de la colonne.
Pour accéder à un élément dans la matrice, il faut mentionner le numéro de la ligne, et le numéro
de la colonne.
Exemple
Tab[1,3] : représente l’élément de la ligne 1 et la colonne 3
4.4. La matrice carrée
La matrice carrée est une matrice particulière dont le nombre de lignes et le même avec le
nombre de colonnes.
La déclaration d’une matrice carrée peut être donnée comme suit :
Var Mat : tableau [1..n, 1..n] d’entier;
29
Chapitre 5 :
Les boucles
Chapitre 5 : Les boucles
1. Introduction
Dans le chapitre précédent, nous avons utilisé les tableaux pour manipuler plusieurs données
de même type.
Pour calculer par exemple la somme de deux tableaux de 100 éléments chacun dans un troisième
tableau, on doit écrire l’instruction de la somme dans l’algorithme 100 fois, ce qui représente
un vrai problème, car l’algorithme devient illisible et la manipulation des variables devient
difficile.
Ce problème ne se limite pas à la manipulation des tableaux, lorsqu’on a un traitement qui doit
se faire plusieurs fois dans l’algorithme, ce n’est pas pratique de réécrire un bloc d'instruction
plusieurs fois dans l’algorithme.
Il faut donc trouver un moyen permettant d’éviter l’écriture da la même instruction plusieurs
fois dans le même algorithme, mais qui permet également de répéter son exécution.
2. Les boucles
Une boucle est une action qui permet de répéter l'exécution d'une ou de plusieurs instructions
sans avoir besoin de répéter l'écriture plusieurs fois.
On peut distinguer deux types de boucles selon le nombre de répétition des instructions :
1. Le nombre de répétition est connu à l’avance : La boucle Pour
Dans cette boucle le nombre de répétition est connu à l’avance grâce à l’utilisation d’un
compteur qui varie entre une valeur initiale et une valeur finale, ce compteur représente la
variable de contrôle de la boucle, lorsque le compteur atteint la valeur finale, la boucle s’arrête
automatiquement.
La forme générale de la boucle pour
Pour variable :=valeur initiale à valeur finale
Faire
Instructions
Fin pour
Propriétés
Chaque passage par les instructions de la boucle est dit itération.
Le nombre d’itérations est connu à l’avance :
Nombre d’itération = valeur finale- valeur initiale +1.
30
Chapitre 5 : Les boucles
31
Chapitre 5 : Les boucles
La condition est vérifiée après l’exécution des instructions, donc il existe au moins une
exécution des instructions de la boucle.
Grâce à cette propriété, la boucleRépéter est utilisée lorsqu’on doit exécuter au moins
une fois les instructions de la boucle.
À la sortie de la boucle, la condition d’arrêt est toujours vraie.
33
Chapitre 5 : Les boucles
Si le nombre de répétition n’est pas connu, et peut même être zéro, on doit utiliser la
boucle Tant que.
Remarque : n’importe quelle boucle Pour peut-être remplacée par la boucle Tant que ou
Répéter, mais l’inverse n’est pas toujours vrai.
3. Manipulation des matrices par les boucles
En général, la manipulation des matrices par les boucles nécessite deux boucles imbriquées, car
on a besoin d’une boucle pour se déplacer d’une ligne à une autre, et d’une autre boucle pour
se déplacer d’une colonne à une autre.
Selon les emplacements des boucles, on aura deux modes de traitement :
Si la boucle qui fait varier l’indice de la ligne est la boucle externe, la matrice est donc
manipulée ligne par ligne, car avec chaque changement d’un indice de la ligne, on change tous
les indices des colonnes.
Si la boucle qui fait varier l’indice de la colonne est la boucle externe, la matrice est donc
manipulée colonne par colonne, car avec chaque changement d’un indice de la colonne, on
change tous les indices des lignes.
Exemple
Prenons l’exemple de l’écriture d’une matrice Tab de N lignes et M colonnes, on peut écrire les
éléments de cette matrice par deux façons différentes :
… …
Pour j := 1 à M
Pour i := 1 à N
Faire
Faire
Pour i :=1 à N
Pour j :=1 à M
Faire
Faire
Ecrire (Tab [i , j ]) ;
Ecrire (Tab [i , j ]) ;
Fin pour
Fin pour
Fin pour
Fin pour
….
….
La matrice est écrite ligne par ligne La matrice est écrite colonne par colonne
34
Chapitre 5 : Les boucles
Algorithme Somme_matrice ;
Var Mat : tableau [1..3, 1..5] d’entier ;
i, j, S : entier ;
Début
Pour i := 1 à 3
Faire
Pour j :=1 à 5
Faire
lire (Mat [i , j ]) ;
Fin pour
Fin pour
S := 0 ;
Pour i := 1 à 3
Faire
Pour j :=1 à 5
Faire
S := S + Mat [i , j ] ;
Fin pour
Fin pour
Ecrire (‘La somme des éléments de cette matrice est :’, S) ;
Fin.
Exercice 02
Soit M [4,4] une matrice carrée, écrire l’algorithme qui permet de calculer la trace de cette
matrice.
La trace d’une matrice carrée est la somme des éléments du 1 er diagonale de cette matrice,
l’algorithme sera donc comme suit :
Algorithme Trace_matrice ;
Var M : Tableau [1..4, 1..4] d’entier ;
Trace, i : entier ;
Début
Pour i := 1 à 4
Faire
Pour j :=1 à 4
Faire
lire (M [i , j ]) ;
Fin pour
Fin pour
Trace := 0 ;
Pour i := 1 à 4
Faire
Trace := Trace + M [i , i] ;
Fin pour
Ecrire (Trace) ;
Fin.
35