Vous êtes sur la page 1sur 24

UNIVERSITE MENTOURI DE CONSTANTINE

CAMPUS CHAAB ERSAS


MODULE INFORMATIQUE

Initiation à l’algorithmique
Sciences & techniques
1ère Année ST

ANNEE 2008-2009
UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

I. NOTIONS GENERALES

1. Algorithme

Suite de raisonnements ou d'opérations qui fournit la solution de certains problèmes, Il


permet d'expliciter clairement les idées de solution d'un problème indépendamment d'un
langage de programmation.

De ce fait, un algorithme doit être lisible et compréhensible par plusieurs personnes, il s'écrit
le plus souvent en pseudo-langage de programmation afin de faciliter ultérieurement sa
traduction dans un langage de programmation.

Un algorithme n'est donc exécutable directement par aucune machine. Mais il a l'avantage
d'être traduit facilement dans tous les langages de programmation.

2. Programme

Un programme est un assemblage et un enchaînement d’instructions élémentaires écrit


dans un langage de programmation, et exécuté par un ordinateur afin de traiter les données
d’un problème et renvoyer un ou plusieurs résultats.

3. Langage de programmation

Un langage de programmation fournit un ensemble de mots-clés et de règles de syntaxe qui


permettent de créer des instructions formant des programmes et qui peuvent s’exécuter,
sans souci, sur une machine.

4. Organigramme

Un organigramme est une représentation graphique d’un algorithme, il permet de


schématiser graphiquement la solution d’un problème. Pour le construire, on emploie les
symboles normalisés suivants :

Symbole Désignation
Début ou fin de l’organigramme.

Instruction ou groupe d’instructions d’entrée/sortie

Opération ou groupe d’opérations sur des données.

Année universitaire : 2008-2009 1


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Oui

Instruction conditionnelle.
Non

Remarque : les différents symboles sont reliés entre eux par des lignes de liaisons.

II. STRUCTURE GENERALE D’UN ALGORITHME

1. Présentation

En-tête de l’algorithme Algorithme nom-de-l’algorithme


Constantes : liste des constantes

Déclaration des variables Variables : liste des variables


et constantes
Début
Instruction 1

Le corps de l’algorithme Instruction 2


Instruction n

Fin

L’en-tête : permet tout simplement d’identifier l’algorithme.

Déclaration : liste de toutes les constantes et variables utilisées dans l’algorithme.

Le corps : cette partie contient les ordres ou les tâches de l’algorithme.

Exemple :

Algorithme somme
Variables : a, b : entier
Début :
Lire (a,b)

C a+b
Ecrire (c)
Fin

Année universitaire : 2008-2009 2


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

2. Déclaration de variables

Une variable représente une entité stockant une information, elle peut être de type entier,
réel, booléen, caractère, chaine de caractères, …etc.

Comment déclarer les variables ?

Variables :
Ident : Type

Ident : c’est l’identificateur, c'est-à-dire le nom de la variable, il est composé de lettres et de


chiffres.

Type : il détermine la nature de la variable (entier, réel, booléen, caractère, chaine de


caractères, …)

Exemple :

Variables :
A, B : entier
Val1, Val2 : réel
Test : booléen
3. Déclaration de constantes

Les constantes sont des entités dont leur valeur ne peut pas être modifiée au cours de
l’exécution de l’algorithme, elles peuvent être de différentes natures : entière, réelle,
booléenne, caractère, …etc.

Comment déclarer les constantes ?

Constantes :
Ident = Valeur

Ident : c’est l’identificateur, c'est-à-dire le nom de la constante, il est composé de lettres et


de chiffres.

Valeur : c’est la valeur de la constante, cette valeur restera inchangée pendant


l’exécution de l’algorithme.

Exemple :

Constantes :
D= 55
QTE1= 45 .05
ElemTRV= Vrai
Ch= ‘K’

Année universitaire : 2008-2009 3


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

III. LES INSTRUCTIONS

1. Les instructions d’entrée/sortie

Un algorithme peut avoir des interactions avec l’utilisateur, Il peut afficher un résultat
comme il peut demander à l’utilisateur de saisir une information afin de la stocker dans une
variable.

En tant qu’informaticien on raisonne en se mettant “à la place de la machine”, donc :

a. Instruction de lecture (entrée)

L'instruction de prise de données sur le périphérique d'entrée (en général le clavier)

Structure générale :

Lire (variable)
Lire (variable1, variable2, …)
Exemple :

Lire(s)
Lire (a, b, c)
Lire (X, Y)
b. Instruction d’écriture (sortie)

L'instruction de restitution de résultats sur le périphérique de sortie (en général l'écran)

Structure générale :

Écrire (variable)
Écrire (‘message’)
Écrire (‘message’, variable)

Exemple :

Écrire (s)
Écrire (‘ entrer les valeurs’)
Écrire (‘la somme=’, som)

2. L’instruction d’affectation

L’instruction d’affectation, comme son nom l’indique, permet d’affecter une valeur à une
variable.

Structure générale :

Ident expression
L’expression est une suite d’opérations sur des constantes ou variables déjà déclarées.

Année universitaire : 2008-2009 4


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Remarque : les variables et constantes utilisées dans l’expression plus l’identificateur


doivent avoir le même type.

Exemple 1 :

Soient A et B deux variables de type entier.


 (* A vaut 3 , B n’a pas encore de valeur *)
A 3
 (* B vaut 7 , A vaut toujours 3 *)
B A+4
 (* A vaut 14 , B vaut 7 *)
A B*2
 (* A vaut 14 , B vaut 8*)
B B+1

Exemple 2 :

Comment échanger les valeurs de deux variables A et B ?



(Élément de réponse : si on commence par écrire A B on va écraser la valeur de A … Il va falloir
utiliser une troisième variable…)

Comment ?

T A

A B

B T
3. Les instructions conditionnelles

Les instructions conditionnelles choisissent ou annulent l’exécution d’une suite d’ordres


selon une condition bien définie. On en distingue trois types :

a. L’instruction conditionnelle simple

Ce type d’instructions incorpore un bloc d’instructions dont son exécution dépend de la


condition qui lui a été associé. Cette structure a la forme suivante :

Si (Condition) Alors :
Instruction1
Instruction2

Instruction N
Fin si

Exemple :

Si (A > B) alors :

A A+2

B 3
Fin si

Année universitaire : 2008-2009 5


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

b. L’instruction conditionnelle alternative

Ce type d’instructions incorpore deux blocs d’instructions dont un et un seul bloc sera
exécuté, de manière alternative, en fonction de la condition. Cette structure a la forme
suivante :
Si (Condition) Alors :
Instruction1

Instruction N
Sinon
Instruction1

Instruction M
Exemple : Fin si

Si (B≠ 0) Alors :

A 3

C B*4
Sinon

B B-1
Fin si

c. L’instruction conditionnelle de choix

L’instruction conditionnelle de choix comporte plusieurs blocs d’instructions dont un et un


seul bloc sera exécuté selon la valeur de la variable employée comme condition. Cette
instruction a la structure suivante :

Selon le cas (Variable) :


Variable = Valeur1 : Instruction (s)
Variable = Valeur2 : Instruction (s)

Variable = ValeurN : Instruction (s)
Sinon
Instruction(s)
Exemple : Fin selon

Lire (n)
Selon le cas (n) :
n = 1 : écrire ( ‘samedi’)
n = 2 : écrire ( ‘dimanche’)
n = 3 : écrire ( ‘lundi’)
n = 4 : écrire ( ‘mardi’)
n = 5 : écrire ( ‘mercredi’)
n = 6 : écrire ( ‘jeudi’)
n = 7 : écrire ( ‘vendredi’)
Sinon écrire (‘le nombre doit être compris entre 1 et 7’)
Fin selon

Année universitaire : 2008-2009 6


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Exercices :

Exercice1 : écrire un algorithme qui calcule la valeur absolue d’un nombre réel.
er
Exercice2 : écrire un algorithme qui résout une équation de 1 degré.
- Construire l’organigramme correspondant à cet algorithme.
ème
Exercice3 : écrire un algorithme qui résout une équation de 2 degré.

SOLUTIONS
Exercice1 :

Algorithme ValAbs_1 Algorithme ValAbs_2


Variables : Variables :
X : réel X : réel
Début Début
Lire (X) Lire (X)
Si X >=0 alors Si X < 0 alors
Ecrire(X) 
X -X
Sinon Fin si
Ecrire (-X) Ecrire (X)
Fin si Fin
Fin
Structure conditionnelle alternative Structure conditionnelle simple

Exercice2 :

Algorithme equaD1
Variables :
A, B, X: réel
Début
Lire(A)
Lire(B)
Si A=0 alors
Si B=0 alors
Ecrire (‘infinité de solutions’)
Sinon
Ecrire (‘Pas de solution’)
Fin si
Sinon

X -B/A
Ecrire (‘X=’, X)
Fin si
Fin

Organigramme :

Année universitaire : 2008-2009 7


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE
Début

Lire (A, B)

Oui B=0 Oui

A=0 Ecrire (‘infinité de solutions’)


Non Non

Ecrire (‘Pas de solution’)



X -B /A

Ecrire (‘X=’, X)

Fin
Exercice3 :

Algorithme equaD2
Variables :
A, B, C, X, X1, X2, Delta: réel
Début
Lire(A)
Lire(B)
Lire(C)
Si A=0 alors
Si B=0 alors
Si C=0 alors
Ecrire (‘infinité de solutions’)
Sinon
Ecrire (‘Pas de solution’)
Fin si
Sinon

X -C/B
Ecrire (‘X=’,X)
Fin si
Sinon

Delta B*B-4*A*C
Si Delta < 0 alors
Ecrire (‘Pas de solution’)
Sinon
Si Delta=0 alors

X -B/(2*A)
Ecrire (‘solution double=’,X)
Sinon

X1 -(B-SQRT(Delta))/(2*A)

X2 -(B+SQRT(Delta))/(2*A)
Ecrire (‘deux sol dif=’,X1, X2)
Fin si (* fin si de delta=0*)
Fin si (* fin si de delta <0*)
Fin si (* fin si de A=0*)
Fin (* fin de l’algorithme*)

Année universitaire : 2008-2009 8


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

4. Les instructions répétitives

Les instructions répétitives, appelées aussi les instructions itératives ou encore les boucles,
permettent de répéter plusieurs fois l’exécution d’une même suite d’instructions. On en
distingue trois types :

a. La boucle « Pour »

La boucle « Pour» permet de répéter l'exécution d’une suite instructions un nombre de fois
connu d’avance. Pour cela, il faut préciser la valeur initiale et la valeur finale et
éventuellement le pas (lorsqu’il est différent de 1). . Cette boucle a la structure suivante :

Pour i allant de VI à VF (pas= valeur) faire :


Instruction1
Instruction2

Instruction N
Fin pour

VI : valeur initiale.
VF : valeur finale.

Exemple 1 :

Comment afficher le message «Université Mentouri’ » 20 fois ?

Pour i allant de 1 à 20 faire


Ecrire (‘Université Mentouri’)
Fin pour

Exemple2 :

Ecrire un algorithme qui calcule la somme des N premiers nombres entiers positifs.

Algorithme sommeN1
Variables :
N, Som, i : entier
Début
Lire (N)

Som 0
Pour i allant de 1 à N faire

Som Som+i
Fin pour
Ecrire(Som)
Fin

Remarque : l’incrémentation de « i » se fait de manière automatique. Le pas, lorsqu’il n’est pas


spécifié, est égal à 1.

Année universitaire : 2008-2009 9


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

b. La boucle « Tant que »

La boucle « Tant que» permet de répéter l'exécution d’une suite instructions tant qu'une
certaine condition est remplie. Cette boucle a la structure suivante :

Tant que (Condition) faire :


Instruction1
Instruction2

Instruction N
Fin TQ

La suite d’instructions de la boucle « Tant que » sera ré-exécutée tant que la condition
restera vraie.

Exemple1 :

Comment afficher le message «Université Mentouri’ » 20 fois ?



i 1
Tant que (i <=20) faire
Ecrire (‘Université Mentouri’)

i i+1
Fin TQ

Exemple2 :

Ecrire un algorithme qui calcule la somme des N premiers nombres entiers positifs.

Algorithme sommeN2
Variables :
N, Som, i : entier
Début
Lire (N)

Som 0

i 1
Tant que (i <=N) faire

Som Som+i

i i+1
Fin TQ
Ecrire(Som)
Fin

Année universitaire : 2008-2009 10


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

c. La boucle « Répéter »

La boucle « Répéter» permet de répéter l'exécution d’une suite instructions tant qu'une
certaine condition n’est pas remplie, c'est-à-dire, on sort de la boucle « Répéter » quand la
condition sera satisfaite. Cette boucle a la structure suivante :

Répéter
Instruction1
Instruction2

Instruction N
Jusqu’à (Condition)

Exemple1

Comment afficher le message «Université Mentouri’ » 20 fois ?



i 1
Répéter
Ecrire (‘Université Mentouri’)

i i+1
Jusqu’à (i > 20)

Exemple2 :

Ecrire un algorithme qui calcule la somme des N premiers nombres entiers positifs.

Algorithme sommeN3
Variables :
N, Som, i : entier
Début
Lire (N)

Som 0

i 1
Répéter

Som Som+i

i i+1
Jusqu’à ( i>20)
Ecrire(Som)
Fin

Année universitaire : 2008-2009 11


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Exercices :

Exercice1 : écrire un algorithme qui affiche les nombres impairs inférieurs à N.

Algorithme AffichageA Algorithme AffichageB


Variables : Variables :
N, i : entier N, i : entier
Début Début
Lire (N) Lire (N)

i 1 Pour i allant de 1 à N (pas =2) faire
Tant que (i <=N) faire Ecrire (i)
Ecrire (i) Fin pour

i i+2 Fin
Fin TQ
Fin

Exercice2 : écrire un algorithme qui calcule le PGCD et le PPCM de deux nombres entiers non
nuls.

Algorithme PGCD_PPCM
Variables :
A, B, A1, B1, PGCD, PPCM : entier
Début
Lire (A,B)

A1 A

B1 B
Tant que (A1≠B1) faire
Si (A1>B1) alors

A1 A1-B1
Sinon

B1 B1-A1
Fin si
Fin TQ

PGCD A1

PPCM A*B /A1
Ecrire (‘PGCD=’, PGCD)
Ecrire (‘PPCM=’, PPCM)
Fin

Année universitaire : 2008-2009 12


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Exercice3 : écrire un algorithme qui affiche la moyenne de 20 nombres entiers.

Algorithme Moyenne
Variables :
N, Som, i : entier
Moy : réel
Début

Som 0
Pour i allant de 1 à 20 faire
Lire (N)

Som Som+N
Fin pour

Moy Som/20
Ecrire(Moy)
Fin

Exercice4 : écrire un algorithme qui lit une suite de nombres entiers se terminant par la
valeur zéro, puis il affiche la moyenne des valeurs paires.

Algorithme moyennePaire
Variables :
N, Som, Imp, i : entier
Moy : réel
Début
Lire (N)

Som 0

Imp 0
Tant que (N≠0) faire
Si (N mod 2 = 0) alors

Som Som+N

Imp Imp +1
Fin si
Lire (N)
Fin TQ
Si (Imp=0) alors
Ecrire (‘Aucun nombre pair n’est lu’)
Sinon

Moy Som/Imp
Ecrire (‘Moyenne’, Moy)
Fin si
Fin
Exercice4 : écrire un algorithme qui lit une suite de nombres entiers se terminant par la
valeur zéro, puis il affiche :

1- Le nombre des valeurs paires


2- La somme des valeurs impaires
3- La moyenne de toutes les valeurs lues

Remarque : le zéro n’entre pas en compte dans la moyenne.

Année universitaire : 2008-2009 13


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Exercice5 : écrire un algorithme qui détermine si un nombre lu « N » est premier.


Exercice6 : écrire un algorithme qui affiche les nombres premiers inférieurs à 100.
Exercice7 : écrire un algorithme qui affiche 100 nombres premiers.

Année universitaire : 2008-2009 14


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Chapitre II : les tableaux


Partie A : Les tableaux à une dimension
(Vecteurs)
I. DEFINITION :

Les tableaux représentent une structure de données permettant de stocker des données de
même nature. On les représente souvent par un ensemble de cases contenant chacune une
valeur.

Les tableaux peuvent avoir plusieurs dimensions dont les plus répandus sont les tableaux à
une dimension (vecteurs) et les tableaux à deux dimensions (matrices).

II. CARACTERISTIQUES DES VECTEURS

Un vecteur peut être vu comme une liste d’éléments arrangés dans des cases. Chaque case
est référencée par un indice permettant d’identifier sa valeur.

Exemple : vecteur Moyenne


ère ème ème ème
1 case 2 case 3 case 100 case
Moyenne 15 .33 13.75 9.00 … 12 .50

- Un tableau possède un nom (ici Moyenne) et un nombre d'éléments (de cases) qui
représente sa taille (ici 100).

- Tous les éléments d'un tableau ont le même type (ici les éléments sont des réels).

- Pour désigner un élément, on indique le nom du vecteur suivi par son indice (son
ème
numéro) entre crochets : Moyenne [2] représente le 2 élément du tableau
Moyenne et vaut 13.75.

III. DECLARATION DES TABLEAUX A UNE DIMENSION

La syntaxe de la déclaration d'une variable tableau est la suivante:

<Identificateur> [indiceMin.. indiceMax] : tableau de <type>


Exemple :
Moyenne [1..100] : tableau de réels
Tab [1..20] : tableau d’entiers
ElemT [1..200] : tableau de booléens

Année universitaire : 2008-2009 15


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

IV. MANIPULATION DES VECTEURS

Les tableaux se manipulent à travers leurs éléments représentés par le nom du tableau suivi
d'un indice entre crochets.

L'indice d'un élément peut être:

- directement une valeur ex: Moyenne [10]


- une variable ex: Moyenne [i]
- une expression entière ex: Moyenne [2*i+k] avec i et k de type entier

Quelque soit sa forme, la valeur de l'indice doit être :

- entière
- comprise entre les valeurs minimales et maximales déterminées à la déclaration du
tableau.
Par exemple, avec le tableau Tab [1..50], il est impossible d'écrire Tab [0] et Tab [51]. Ces
expressions font référence à des éléments qui n'existent pas.

V. LECTURE D’UN VECTEUR

Cette opération de lecture consiste en le remplissage des différentes cases qui constituent le
tableau.
Exemple :

Ecrire un algorithme qui permet de lire un tableau de 20 éléments entiers.

Algorithme LectureTableau
Variables :
Tab [1..20] : tableau d’entiers
i : entier
Début
Pour i allant de 1 à 20 Faire
Lire (Tab[i])
Fin pour
Fin

VI. EDITION D’UN VECTEUR

L’édition d’un tableau consiste en l’affichage de ses éléments c'est-à-dire le contenu de ses
différentes cases.

Exemple :

Ecrire un algorithme qui permet d’afficher un tableau de 20 éléments entiers.

Année universitaire : 2008-2009 16


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Algorithme LectureTableau
Variables :
Tab [1..20] : tableau d’entiers
i : entier
Début
Pour i allant de 1 à 20 Faire
Ecrire (Tab[i])
Fin pour
Fin

Exercices :

Exercice1 : Ecrire un algorithme qui calcule la moyenne des valeurs d'un tableau de 100 éléments
entiers.
Exercice2 : Ecrire un algorithme qui calcule le nombre d'entiers positifs et le nombre d'entiers
négatifs d'un tableau de 200 éléments.
Exercice3 : Ecrire un algorithme qui permet de trouver la valeur maximale d’un tableau de 20
éléments réels.
Exercice4 : Ecrire un algorithme qui permet de trouver si une valeur « X » appartient à un tableau
de 100 éléments entiers.

SOLUTION

Algorithme exercice1
Variables :
Tab [1..100] : tableau d’entiers
Som, i : entier
Moy : réel
Début
Pour i allant de 1 à 100 Faire
Lire (Tab[i])
Fin pour

Som 0
Pour i allant de 1 à 100 Faire

Som Som+ Tab[i]
Fin pour

Moy Som/100
Ecrire (‘Moyenne=’, Moy)
Fin

Année universitaire : 2008-2009 17


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Algorithme exercice2
Variables :
Tab [1..200] : tableau d’entiers
Pos, Neg, i : entier
Début
Pour i allant de 1 à 200 Faire
Lire (Tab[i])
Fin pour

Pos 0

Neg 0
Pour i allant de 1 à 200 Faire
Si (Tab[i] < 0) Alors

Neg Neg+1
Sinon

Pos Pos+1
Fin si
Fin pour
Ecrire (‘Le nombre de valeurs positives=’, Pos)
Ecrire (‘Le nombre de valeurs négatives=’, Neg)
Fin

Algorithme exercice3
Variables :
Tab [1..20] : tableau de réels
i : entier
max : réel
Début
Pour i allant de 1 à 20 Faire
Lire (Tab[i])
Fin pour

max Tab [1]
Pour i allant de 2 à 20 Faire
Si (Tab[i] > max) Alors

max Tab [i]
Fin si
Fin pour
Ecrire (‘Valeur max=’, max)
Fin

Année universitaire : 2008-2009 18


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Algorithme exercice4
Constantes :
N = 100
Variables :
Tab [1..N] : tableau d’entiers
X, i : entier
Trouv : booléen
Début
Lire (X)
1 Pour i allant de 1 à 200 Faire
Lire (Tab[i])
Fin pour
2 i

1

Trouv faux
Tant que ((i <= N) et (non Trouv)) Faire
Si (Tab[i] = X) Alors

3 Trouv vrai
Fin si

4 i i+1
Fin TQ
Si (Trouv) Alors
5 Ecrire (X, ‘appartient au tableau’)
Sinon
6 Ecrire (X, ‘n-appartient pas au tableau’)
Fin si
Fin

- Tracé d’exécution (N=5):

Etape N X I Trouv Tab[1] Tab[2] Tab[3] Tab[4] Tab[5] Ecran


1 5 9 / / 2 7 9 12 3 /
2 5 9 1 Faux 2 7 9 12 3 /
4 5 9 2 Faux 2 7 9 12 3 /
4 5 9 3 Faux 2 7 9 12 3 /
3 5 9 3 Vrai 2 7 9 12 3 /
4 5 9 4 Vrai 2 7 9 12 3 /
5 5 9 4 Vrai 2 7 9 12 3 9 appartient au tableau

Etape N X I Trouv Ta [1] Tab[2] Tab[3] Tab[4] Tab[5] Ecran


1 5 8 / / 2 7 12 9 3 /
2 5 8 1 faux 2 7 12 9 3 /
4 5 8 2 faux 2 7 12 9 3 /
4 5 8 3 faux 2 7 12 9 3 /
4 5 8 4 faux 2 7 12 9 3 /
4 5 8 5 faux 2 7 12 9 3 /
4 5 8 6 faux 2 7 12 9 3 /
6 5 8 6 faux 2 7 12 9 3 8 n-appartient pas au tableau

Année universitaire : 2008-2009 19


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Partie B : Les tableaux à deux dimensions


(Matrices)

I. DEFINITION :

Les matrices sont des tableaux à deux dimensions, c'est-à-dire une structure de données
permettant de stocker des informations, de même nature, référencées par leurs numéros de
ligne et de colonne.

II. CARACTERISTIQUES DES MATRICES

Les matrices présentent les mêmes caractéristiques que les vecteurs. Les éléments d’une
matrice sont arrangés dans des cases référencées par deux indices servant d’identifier sa
valeur.

Exemple : matrice MAT

1ère colonne 2ème colonne 3ème colonne … 100ème colonne


MAT 1ère ligne 5 2 0 … 7
2ème ligne 8 23 40 … 12
… … … … … …
éme
200 ligne 3 15 32 … 4

- Une matrice possède un nom (ici MAT) et un nombre d'éléments qui représente sa
taille (ici 100*200).

- Tous les éléments d'une matrice ont le même type (ici les éléments sont des entiers).

- Pour désigner un élément, on indique le nom de la matrice suivi par ses indices
(indice ligne et indice colonne) entre crochets : MAT [2,3] représente la case située à
l’intersection de la ligne « 2 » et la colonne « 3 » et vaut 23.

III. DECLARATION DES MATRICES

La syntaxe de la déclaration d'une variable matrice est la suivante:

<Identificateur> [LiMin.. LiMax, ColMin..ColMax] : Matrice de <type>


Exemple :
MAT [1..100,1..200 ] : matrice d’entiers
Somme [1..20,1..30] : matrice de réels

Année universitaire : 2008-2009 20


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

IV. MANIPULATION DES MATRICES

Les éléments d’une matrice se manipulent en spécifiant le nom de la matrice suivi des deux
indices ligne et colonne entre crochets.

Similairement aux vecteurs, Les deux indices ligne et colonne peuvent avoir plusieurs formes
: valeur, variable ou expression. Quelque que soit cette forme, la valeur des deux indices
doivent être de type entier et être dans l’intervalle des indices permis.

V. LECTURE D’UNE MATRICE

Cette opération de lecture consiste en le remplissage des différentes cases qui constituent la
matrice.
Exemple :

Ecrire un algorithme qui permet de lire une matrice de 20 lignes et 30 colonnes d’éléments
entiers.

Algorithme LectureMatrice
Variables :
Mat [1..20, 1..30] : matrice d’entiers
i, j : entier
Début
Pour i allant de 1 à 20 Faire
Pour j allant de 1 à 30 Faire
Lire (Mat [i, j])
Fin pour
Fin pour
Fin
VI. EDITION D’UNE MATRICE

L’édition d’une matrice consiste en l’affichage de ses éléments c'est-à-dire le contenu de ses
différentes cases.

Exemple :

Ecrire un algorithme qui permet d’afficher une matrice de 20 lignes et 30 colonnes


d’éléments entiers.

Algorithme éditionMatrice
Variables :
Mat [1..20, 1..30] : matrice d’entiers
i, j : entier
Début
Pour i allant de 1 à 20 Faire
Pour j allant de 1 à 30 Faire
écrire (Mat [i, j])
Fin pour
Fin pour
Fin

Année universitaire : 2008-2009 21


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Exercices :

Exercice1 : Ecrire un algorithme qui lit deux matrices a et b et calcule leur somme.

Exercice2 : Ecrire un algorithme qui permet de trouver la valeur maximale pour chaque ligne
d’une matrice de 20 lignes et 20 colonnes d’éléments réels.
Exercice3 Ecrire un algorithme permettant de rechercher le plus grand élément d’une matrice et
de retourner ses numéros de ligne et de colonne.

Année universitaire : 2008-2009 22


UNIVERSITE MENTOURI DE CONSTANTINE INITIATION A L’ALGORITHMIQUE

Année universitaire : 2008-2009 13

Vous aimerez peut-être aussi