Vous êtes sur la page 1sur 24

Techniques de

Programmation
Structures
Les Algorithmes
Cours & Exercices Corrigs
Edition 2014

Techniques des Rseaux Informatiques

KATKOUT Khalid
https://www.facebook.com/groups/2ATRI/

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes

2013

I- Dfinition :
Un algorithme peut tre dfini comme une suite fini dopration lmentaire constituant un
schma de calcul pour une rsolution dun problme.
Autrement dit, cest lenchainement des actions ncessaires pour faire lexcution dune tche
dans un ordinateur.

Exemple 1 : Calcul de la moyenne des 10 nombres ??

Exercice 1 : Calcul de la diffrence des 100 nombres :

Le Pseudo Code dexemple 1 :

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 2

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes

2013

Dbut
Somme 0
Pour K = 1 10 avec un pas de 1
Lire x
Somme = Somme + x
Fin Pour
Moyenne Somme / 10
Ecrire Moyenne
Fin
Exercice dapplication (1) :
1- Reprsentez graphiquement le programme des lignes suivantes :
Age >= 18 Majeur
Age < 18 Mineur
Rsum : On peut reprsenter un Algorithme :
- Graphiquement, avec un schma qui sappelle Organigramme.
- Avec un Pseudo Code.
Aujourdhui, la reprsentation graphique est quasiment abandonne.
II- Structure de base dun Algorithme :
- Nom du Programme
- Dclaration des variables
- Dclaration des fonctions
-

1- Notion dune variable :


Une variable est un nom qui sert rcuprer un emplacement donne de la mmoire. C'est-dire que la variable ce nest quune adresse de mmoire.
Exemple : Somme, x, A
Remarque : Pour les noms des variables choisissez des noms reprsentatifs de linformation ;
ainsi MONTANT est un meilleur choix que X pour dsigner le montant dune facture.
2- Valeur dune variable :
A instant donn, une variable ne peut contenir une seule valeur.
3- Type dune variable :
Le type dune variable dfinit la nature des informations qui seront reprsenter dans les
variables (numrique, caractre, ).
a- Type numrique :
Gnralement les langages de programmation offrent les types suivants :
- Entier : dsigne lensemble des nombres entiers dont les valeurs varient entre : -32768
32767.
38
- Rel : contient les variables numriques dont les valeurs varient entre : (-3,4. 10 ) (-1,4.
10 45) pour les valeurs ngatives, et entre : (1,4. 10 -45) (3,4. 10 38) pour les valeurs
positives.
b- Type chane :
Dans une variable de ce type, en stocke des caractres, on crit alors :
Nom, Prnom : Chaine
Remarque : une chane de caractre est note toujours entre guillemets () ou
apostrophes ().

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 3

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
c- Type boolen :
Dans ce type de variable en stocke uniquement des valeurs logiques vrai ou faux, true
ou false, 1 ou 0.
Variable
tat : Boolen
III- Instruction de base dun Algorithme :
Une instruction est une action lmentaire commandant la machine un calcul, ou une
communication avec lun de ces priphriques.
Une instruction de bas peut tre :
1- Opration :
Un oprateur est une signe qui relie 2 variables pour produire un rsultat.
- Pour le type numrique : On a les oprateurs suivants :
- Addition : +
- Soustraction : - Multiplication : *
- Division : /
- Puissance : ^
- Pour le type chane : On a un seul oprateur qui permet de concatner 2 chanes de caractre.
Cet oprateur de concatnation est not : &
Exemple : - A & B = AB
- Salut & tout le monde = Salut tout le monde
2- Affectation :
Linstruction daffectation est une opration qui consiste attribuer une valeur une variable.
Cette instruction scrit : Variable < Valeur ou Variable < Expression
Exemple :
- A < 5
- B < A + 1
Remarque :

Il faut noter que lordre dans lequel sont crites les instructions est essentiel dans le rsultat
final.
Exercices dApplication (2) :
1- Quelle sont les valeurs des variables A et B aprs lexcution des instructions suivants :
A < 1
B < A + 3
A < 3
2- Mme questions dexercice 1 pour (A, B, et C) :
A < 5
B < 3
C < A+ B
A < 2
C < C A
3- On Dispose de 3 variables A, B, et C. Ecrire un algorithme transfrant B la valeur de A,
C la valeur de B et A la valeur de C.
3- Lecture/Ecriture :
Considrant le programme suivant :
Variable
A : Entier
Dbut
A < 12^2
Fin
Il permet de calculer le carr de 12.
Si on veut calculer le carr dun autre nombre, il faut rcrire le programme.

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 4

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Cest pour cela quil faut introduire des instructions qui permettent le dialogue avec
lutilisateur.
a- Instruction de lecture :
Cette instruction permet lutilisateur de faire entrer des valeurs au clavier pour quelles
soient utilises par le programme.
La syntaxe de cette instruction est : Lire
Variable
Lorsque le programme rencontre une instruction Lire, lexcution du programme
sinterrompt, et attend la saisie dune valeur au clavier.
b- Instruction dcriture :
Cette instruction permet de communiquer des valeurs lutilisateur on les affichant
lcran. La syntaxe de cette instruction est : Ecrire Nom_du_variable
Exemple :
Ecrire entrer un nombre
Ecrire A
Exercices dapplication (3) :
1- Ecrire un algorithme qui fait la somme de 2 nombres rels.
2- Ecrire un algorithme qui fait linverse de X.
3- Le surveillant gnral dun tablissement scolaire souhaite quand lui crit un programme
qui calcule, pour chaque lve, la moyenne des notes des 4 matires. Ces matires avec leurs
coefficients sont :
Math
5
Franais
4
Physique
5
Anglais
2
IV- Structures conditionnelles dun Algorithme :
1- Conditions Simples :
Une condition simple consiste en une comparaison entre 2 expressions du mme type. Cette
comparaison seffectue avec des oprateurs de comparaison.
- Liste des oprateurs de comparaison :
Oprateur Signification numrique
Signification Chane
=
Egal
Egal
<>
Diffrent
Diffrent
<
Infrieur
Plac avant dans lordre alphabtique
>
Suprieur
Plac aprs dans lordre alphabtique
<=
Infrieur ou gal
Plac avant dans lordre alphabtique ou gal
=>
Suprieur ou gal
Plac aprs dans lordre alphabtique ou gal
2- Conditions Complexes :
Sont des conditions form de plusieurs conditions simples relis entre elles par des
oprateurs logiques. Ces oprateurs logiques sont : Et, Ou, Non.
a- Condition1 et Condition2 : cette instruction soit vraie quand la condition1 est vrai et la
condition2 est vraie.
b- Condition1 ou Condition2 : cette instruction soit vraie quand la condition1 est vrai ou
la condition2 est vraie.
c- Non Condition : cette instruction est vraie quand la condition est faux.
V- Structures alternatives dun Algorithme :
Il faut introduire une instruction de structuration du programme qui donne la possibilit
deffectuer le choix dans le traitement raliser, cette instruction est appele La Structure
Alternative.
Sa syntaxe est :
Si
Condition
alors
bloc1 dinstruction
(bloc dinstruction = group dinstruction)
Sinon
bloc2 dinstruction
Finsi
Si la condition mentionn aprs SI est vrai, en excute le bloc1 dinstruction, si la condition est
faute on excute le bloc2 dinstruction.
Autres Formes : La structure alternative peut prendre une autre forme possible o lune des
parties du choix est absente.

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 5

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Elle scrite dans ce cas : Si
(Condition) alors
Bloc dinstruction
Finsi
Dans les langages de programmation, la structure alternative peut prendre une autre forme
qui permet dimbriqu plusieurs cas.
Sa syntaxe est :
Cas o V vaut :
V1 : bloc1 dinstruction
V2 : bloc2 dinstruction
...
Vn : Blocn dinstruction
Autre : blocm dinstruction
Fin cas
Si V est gal Vi, on excute le bloc i dinstruction et on passe la suite de programme, sinon
on excute le bloc n dinstruction et on passe la suite de programme.
Exercice dapplication (4) :
1- Ecrire un programme qui donne ltat deau selon sa temprature.
2- Ecrire un algorithme qui demande 2 nombres lutilisateur et linforme ensuite si leur
produit est ngatif ou positif (on laisse de coter le cas o le produit est nul).
3- La mme question dexercice 2, mais dans ce cas l on ajoute si le produit est nul.
4- Ecrire un algorithme qui demande 3 noms lutilisateur et linforme ensuite sils sont
rangs ou non dans lordre alphabtique.
5- Ecrire un algorithme qui demande 3 nombre entiers et tester par la suite est-ce que lun est
la somme des 2 autres.
VI- Structures rptitives dun Algorithme :
Un programme a presque toujours pour rle de rpter la mme action un certain nombre de
fois. Pour ce faire, on utilise les structures permettant de dire Excuter telles actions jusqu' ce
que telle action soit remplie.
Exemple :

Il y a 3 formes de structures rptitives : Tant Que, Rpter, Pour.


a- Tant Que :
Syntaxe :
Tant Que
Condition
....................
. . Bloc dinstruction. . .
....................
Fin Tant Que
Ce qui signifie que Tant Que la condition est vraie, on excute le bloc dinstruction.
Exemple : Calcule du cube dun nombre diffrent de 0.
Variable
X, Y : Rel
Dbut
Ecrire Entrer un nombre diffrent de 0
Lire X
Tant Que
X <> 0
Y < X^3
Ecrire Y
Ecrire Entrer un nombre ou 0 pour arrter

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 6

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Lire X
Fin Tant Que
Ecrire tu as tap 0
Fin
Exercice dapplication (5) :
1- Ecrire un algorithme qui demande a lutilisateur un nombre compris entre 1 et 3 jusqu
ce que la rponse convienne.
2- Ecrire un algorithme qui demande un nombre compris entre 10 et 20 jusqu ce que la
rponse convienne. En cas de rponse >20 on affiche plus petit, et si le nombre est <10 on
affiche plus grand.
b- Rpter :
Syntaxe :
Rpter
.....................
. . . Bloc dinstruction. . .
.....................
Jusqu
Condition
Cette structure sert rpter des instructions jusqu ce quune condition soit raliser.
Exemple :
Variable
n : Entier
Dbut
n < 0
Rpter
n < n + 1
Ecrire Votre numro dinscription est :
Ecrire n
Jusqu n = 29
Fin
Exercices dapplication (6) :
1- Ecrire un algorithme qui demande successivement des nombres lutilisateur, et qui calcule
le nombre des valeurs saisies. La saisie des nombres sarrte lorsque lutilisateur entre le
caractre n ou N.
2- Ecrire un algorithme qui lit les caractres saisie par lutilisateur. A la fin, ce programme
nous affichera la phrase saisie. La saisie des caractres sarrte lorsquon tape ..
c- Pour :
Syntaxe :

Pour Variable allant de valeur initial jusqu la valeur final (pas dincrment)
....................................................................
. . . . . . . . . . . . . . . . . . . . . . . . . Bloc dinstruction . . . . . . . . . . . . . . . . . . . . . . . . . . .
....................................................................
Fin Pour
Lincrment est la valeur daugmentation progressive de la variable (compteur). La valeur par
dfaut du pas est 1.
Exemple :
Variable
n, i : Entier
Dbut
Ecrire Donner un nombre
Lire n
Ecrire Les 10 nombres sont :
Pour i allant de n + 1 n + 10
Ecrire i
Fin Pour
Fin
Exercices dapplication (7) :
1- Ecrire un algorithme qui demande un nombre de dpart et qui ensuite crit la table de
multiplication de ce nombre.

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 7

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
2- Ecrire un algorithme qui demande un nombre de dpart et qui calcule la somme des entiers
jusqu ce nombre.
3- Ecrire un algorithme qui demande successivement 20 nombres lutilisateur, et qui lui
disent ensuit quel t le plus grand.
4- Ecrire un algorithme qui lit dabord une valeur, ensuite il va lire successivement 20
nombres. Enfin il va dterminer combien de fois la premire valeur a t saisie (sans compter
la premire saisie).
VII- Les Tableau dans un Algorithme :
Imaginer quant veut calculer la moyenne des notes dune classe des lves. Pour linstant on a
lalgorithme suivant :
Variables
i, nb : Entier
moy, somme, note : Rel
Dbut
Ecrire Donner le nombre dlves
Lire nb
somme < 0
Pour i allant de 1 nb
Ecrire donner la note
Lire note
somme < somme + note
Fin Pour
moy = somme / nb
Ecrire la moyenne est :, moy
Fin
Si on veut calculer la moyenne des notes dune classe, mais on gardant dans la mmoire tout les
notes des lves, dans ce cas il faudrait alors dclarer autant de variable quil y a dtudiant.
Don si on a N tudiant, il faut dclarer N variables et ce nest pas pratique. Ce quil faudrait
cest pouvoir par lintermdiaire dune seule variable stocker plusieurs valeurs de mme type,
et cest le rle des tableaux.
Dfinition : Un tableau est un ensemble des valeurs de mme type portant le mme nom de
variable. Chaque valeurs du tableau est rpar par un nombre appel indice.

Dclaration :
Syntaxe :
Tableau
Nom_Du_Tableau (Taille) : Type
Taille : elle dsigne le nombre dlments du tableau. On dit aussi sa taille.
Exemple :

Tableau
Note(5) : rel
Si on veut accder (on lecture ou on criture) une valeur dans un tableau, on utilise la syntaxe
suivante :
Nom_Tableau (Indice)
Exemple :
Note(4) = 10
Remarque :
1- Dans lalgorithme lindice initial du tableau est : 1, alors que pour le langage C en
commencer par 0.
2- La valeur dun indice doit tre un nombre entier.
3- La valeur dun indice doit tre infrieur ou gal la taille du tableau.
Exercice dapplication (8) :
1- Expliquer chacune des instructions ci-dessous :
a- X(2) < -5

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 8

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
b- Lire X(3)
c- Ecrire X(10)
d- A < x(2)
2- Donner la reprsentation graphique du tableau X(5) aprs lexcution.
Tableau
X(5) : Entier
Dbut
X(1) < 2
X(2) < 20
X(3) < 3
X(4) < 5
X(5) < 50
3- Quel rsultat donnera lexcution de ce programme ?
Variables
i : Entier
Tableau
C(6) : Entier
Dbut
Pour i allant de 1 6
Lire C(i)
Fin Pour
Pour i allant de i 6
C(i) < C(i) * C(i)
Fin Pour
Pour i allant de 1 6
Ecrire C(i)
Fin Pour
Fin
4- Ecrire un algorithme qui permet de calculer la somme des lments dun tableau de 10
lments entiers.
5- Ecrire un algorithme qui permet de calculer le plus grand lment parmi les lments dun
tableau de 100 lments rel.
6- Ecrire un algorithme qui permet dafficher lindice de la case qui contient la valeur 20 dans
un tableau de 30 nombres rels.
7- On suppose quon a un tableau Tab(100) contenant des nombres rels. Ecrire un algorithme
qui permet dafficher les cases qui contient des valeurs >= 10.
8- On suppose quon a un tableau Note(24) contenant des notes de 24 lves. Ecrire un
algorithme qui permet dafficher le nombre des stagiaires ayant une note >= 10.
9- Ecrire un algorithme qui permet de calculer le nombre doccurrences dun nombre X dans
un tableau Tab(200) : lalgorithme permet dabord de remplir le tableau, demande le
nombre X et calcule et affiche par la suite le nombre doccurrences de X dan Tab. (nombre
doccurrences = nombre de rptition dun lment).
Les Tableau dynamiques :
On peut dclarer un tableau sans prciser ou dpart son nombre dlment (taille). Ce nest
que dans un second temps, au cours du programme, quon va fixer ce nombre via linstruction
de redimensionnement : Redim.
Exemple :
Tableau
Note ( ) : Rel
Variable
N : Entier
Dbut
Ecrire donner la taille dun tableau :
Lire N
Redim Note (N)

Les oprations sur les tableaux :

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 9

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes

2013

1- Insertion :
Exemple :
On veut insrer (ajouter) une valeur 100 dans la position 5.

Remarque :

1- Taille = Taille + 1
2- i >= Position ; T(i+1) = T(i)
3- T(5) = 100
Cas Particulier : Insertion la fin :
On suppose quon a un tableau Tab(8) dj rempli par les nombres rels. On veut insrer le
nombre 10 dans la dernire case du tableau. On aura lalgorithme suivant :
Tableau
T(8) : Rel
Variables
i : Entier
Dbut
Redim
T(9)
T(9) < 10
Pour i allant de 1 9
Ecrire T(i)
Fin Pour
Fin
Exercice dapplication (9) :
1- Soit T(100) un tableau des rels. Ecrire un algorithme qui permet de
- Remplir le tableau
- Demander la valeur insrer dans le tableau
- Demander la position dinsertion
- donne le tableau rsultat (il affiche le tableau aprs linsertion de la valeur).
2- Suppression :
Exemple :
On veut supprimer la case ayant lindice 6.
Le tableau rsultat :
Remarque : 1- Changement de la taille
2- i >= 6 ; T(i) = T(i+1)
Exercices dapplication (10) :
1- Soit T(100) est un tableau des rels. Ecrire un algorithme qui permet de :
- Remplir le tableau
- Lire la case a supprim
- Affiche le tableau rsultat Tr(99) (Ce tableau contient les mmes valeurs que
T(100) sauf la valeur a supprim).
2- Soit T(100) est un tableau des rels. Ecrire un algorithme qui permet de supprimer la case
qui contient une valeur X (Le tableau est dj rempli, la valeur X existe une seule fois).
3- Soit T(120) est un tableau des rels. Ecrire un algorithme qui permet de supprimer toutes
les cases qui contient une valeur =< 8 (Le tableau est dj rempli).
3- Modification :
On veut modifier la case ayant lindice 6
La nouvelle valeur sera 12

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 10

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


Le tableau rsultat sera :

2013

Exercices dapplication (11) :


1- Soit T(100) est un tableau des caractres. Ecrire un algorithme qui permet de modifier la
premire case et toutes cases ayant le mme contenu. La nouvelle valeur sera le caractre
m. (Le tableau est dj rempli).
VIII- Les Fonctions et les Procdures dans un Algorithme :
Il est possible de dcomposer le programme qui rsout un problme en des sousprogrammes qui rsolvent des sous parties des problmes initiaux.
Ceci permettra damliorer la conception du programme et ainsi sa lisibilit.
Lutilisation des sous-programmes savre utile aussi dans le cas o on constate quune
suite dactions se rpte plusieurs fois.
Il existe 2 types de sous-programmes : Les fonctions et Les procdures. Un sousprogramme est obligatoirement caractris par un nom (Identifiant) unique.
Le nom dun sous-programme comme le nom dune variable doit :
- Contenir que les lettres et les chiffres.
- Commencer obligatoirement par une lettre.
Le programme qui utilise un sous-programme est appel : Programme Appelant. Un
sous-programme peut tre invoqu nimporte o dans le programme appelant en faisant
rfrence son nom.
Un programme ainsi doit suivre la structure suivante :
Dfinition des constantes, dfinition des types
Dclaration des variables, dfinition des sous programmes
Dbut
Instructions du programme principale
Fin
a- Les fonctions :
Une fonction est un sous-programme qui retourne un seul rsultat. Pour dfinir une
fonction on utilise la syntaxe suivante :
Fonction
Nom_Fonction (Argument1 : Type, Argument2 : Type ) : Type
Dclaration
Dbut
Instruction de la fonction
Nom_Valeur < Valeur envoye
Fin
On constate que la dclaration dune fonction revient lui prciser un nom, un type,
ainsi que une liste dargument.
Un argument (appel paramtre forme1) dun sous programme est une variable locale
particulire qui est associ une variable ou constante de programme appelant. Puisque
quun argument est une variable locale, il admet un type.
Lorsquun programme appelant appel le sous programme.
Il doit indiquer la variable ou la constate de mme type, qui est associ au paramtre,
une fois fonction dfini, il est possible tout en droit du programme appelant de faire
appel elle on utilisant simplement nom suivi des arguments entre parenthses.
Les arguments spcifis lors de lappel de la fonction doivent tre en mme nombre que
dont la dclaration de la fonction et des types prvus.
Exemple :
Fonction
Calcul(x : rel, y : rel, z : rel) : Rel
Variable
a : Entier
Dbut
a < 3
Calcul < (x + y +z)*a
Fin
Cest un exemple de dclaration de fonction, cette fonction appele Calcul est une type

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 11

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
rel, elle admet 3 arguments de type rel.
Maintenant voici un exemple dun programme complet :
Variable
i, j, k, b: Rel
Dbut
Lire i
Lire j
Lire k
b < Calcul(i, j, k)
Ecrire b
Fin
Exercices dapplication (12) :
1- Ecrire une fonction qui va traiter la moyenne du groupe des stagiaires.
2- Faire un programme qui donne le volume dun cylindre en faisant appel une fonction
aire dun cercle.
3- Ecrire une fonction qui fait la somme des entiers compris dans un intervalle.
4- Ecrire une fonction max3 qui retourne le maximum de trois entiers.
b- Les procdures :
Les procdures sont comme les fonctions mais il y a une seule diffrence, cest dans le
rsultat. Les fonctions rendent un seul rsultat en sortie, mais les procdures rendent zro
ou plusieurs rsultats.
Syntaxe :
Procdure Nom (Liste des paramtres globaux de transmission)
Paramtres Entre Var1 :Type1
Paramtre Sortie Var2 :Type2
Var [Dclaration des variables locales]
Dbut
Liste des instructions de la procdure
Fin
Exercices dapplication (13) :
1- Ecrire une table de multiplication dun nombre entier N pour des multiplicateurs de 1
10.
2- Ecrire une procdure qui retourne la valeur minimale et maximale pour une suite de 3
nombres entiers a, b, c.

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 12

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes

2013

Solutions des exercices dapplications


Exercice dapplication (1) :
1- Reprsentez graphiquement le programme des lignes suivantes :
Age >= 18 Majeur
Age < 18 Mineur

Exercices dApplication (2) :


1- Quelle sont les valeurs des variables A et B aprs lexcution des instructions suivants :
A < 1
B < A + 3
A < 3
Le rsultat final est : A : 3 et B : 4
2- Mme questions dexercice 1 pour (A, B, et C) :
A < 5
B < 3
C < A+ B
A < 2
C < C A
Le rsultat final est : A :2 ; B : 3 ; C : 1
3- On Dispose de 3 variables A, B, et C. Ecrire un algorithme transfrant B la valeur de A, C
la valeur de B et A la valeur de C.
Variables
A, B, C, D, E : Entier
Dbut
D < B
B < A
E < C
C < D
A < E
Fin
Exercices dapplication (3) :
1- Ecrire un algorithme qui fait la somme de 2 nombres rels.
Variables
A, B, S : Rel
Dbut
Ecrire donner la valeur de A et B
Lire A
Lire B
S < A + B
Ecrire la somme est :

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 13

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Ecrire S
Fin
2- Ecrire un algorithme qui fait linverse de X.
Variables
X, Inv : Rel
Dbut
Ecrire Donner la valeur de X
Lire X
Inv < 1/X
Ecrire Linverse de X est :
Ecrire Inv
Fin
3- Le surveillant gnral dun tablissement scolaire souhaite quand lui crit un programme qui
calcule, pour chaque lve, la moyenne des notes des 4 matires. Ces matires avec leurs
coefficients sont :
Math
5
Franais
4
Physique
5
Anglais
2
Variables
M, P, F, A, Moy : rel
Dbut
Ecrire Entrer les notes de quatre matires
Lire M
Lire P
Lire F
Lire A
Moy < (M*5 + P*5 + F*4 + A*2)/16
Ecrire La moyenne est :
Lire Moy
Fin
Exercice dapplication (4) :
1- Ecrire un programme qui donne ltat deau selon sa temprature.
Variables
T : Rel
Dbut
Ecrire Entrer la temprature
Lire T
Si
T<=0 alors
Ecrire glac
Sinon
Si
T<100 alors
Ecrire Liquide
Sinon
Ecrire Vapeur
Finsi
Finsi
Fin
2- Ecrire un algorithme qui demande 2 nombres lutilisateur et linforme ensuite si leur
produit est ngatif ou positif (on laisse de coter le cas o le produit est nul).
Variables
X, Y : Rel
Dbut
Ecrire Entrer X et Y
Lire X
Lire Y
Si
(X<0 et Y>0) alors
Ecrire Ngatif
Sinon
Ecrire Positif
Finsi

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 14

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Fin
3- La mme question dexercice 2, mais dans ce cas l on ajoute si le produit est nul.
Variables
X, Y : Rel
Dbut
Ecrire Entrer X et Y
Lire X
Lire Y
Si
(X<0 et Y>0) alors
Ecrire Ngatif
Sinon
Si (X=0 ou Y=0) alors
Ecrire Nul
Sinon
Ecrire Positif
Finsi
Finsi
Fin
4- Ecrire un algorithme qui demande 3 noms lutilisateur et linforme ensuite sils sont rangs
ou non dans lordre alphabtique.
Variables
A, B, C : Chane
Dbut
Ecrire Entrer les trois caractres
Lire A, B, C
Si
(A<B et B<c) alors
Ecrire Caractres ordonnes
Sinon
Ecrire Caractres non ranges
Finsi
Fin
5- Ecrire un algorithme qui demande 3 nombre entiers et tester par la suite est-ce que lun est la
somme des 2 autres.
Variables
A, B, C : Entier
Dbut
Ecrire Entrer les trois caractres
Lire A
Lire B
Lire C
Si
(A=B+C)
alors
Ecrire La somme est : A
Sinon
Si
(B=A+C)
alors
Ecrire La somme est : B
Sinon
Si
(C=A+B)
Ecrire La somme est : C
Sinon
Ecrire Aucun rsultat
Finsi
Finsi
Finsi
Fin
Exercice dapplication (5) :
1- Ecrire un algorithme qui demande a lutilisateur un nombre compris entre 1 et 3 jusqu ce
que la rponse convienne.

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 15

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Variable
X : Rel
Dbut
Ecrire Entrer un nombre
Lire X
Tantque
X<1 ou X>3
Ecrire Entrer un nombre
Lire X
Fin TantQue
Fin
2- Ecrire un algorithme qui demande un nombre compris entre 10 et 20 jusqu ce que la
rponse convienne. En cas de rponse >20 on affiche plus petit, et si le nombre est <10 on
affiche plus grand.
Variables
X : Rel
Dbut
Ecrire Donner un nombre
Lire X
TantQue
X>20 ou X<10
Si
X>20 alors
Ecrire Plus petit
Sinon
Ecrire Plus grand
Finsi
Fin TantQue
Fin
Exercices dapplication (6) :
1- Ecrire un algorithme qui demande successivement des nombres lutilisateur, et qui calcule le
nombre des valeurs saisies. La saisie des nombres sarrte lorsque lutilisateur entre le
caractre n ou N.
Variables
Compteur : Entier
X : Caractre
Dbut
Compteur < 0
Rpter
Compteur < Compteur + 1
Ecrire Entrer un nombre ou Non pour sortir
Lire X
Jusqu
X = N ou X = n
Ecrire Les nombres Sont :
Ecrire Compteur
Fin
2- Ecrire un algorithme qui lit les caractres saisie par lutilisateur. A la fin, ce programme nous
affichera la phrase saisie. La saisie des caractres sarrte lorsquon tape ..
Variables
Phrase, C : Caractre
Dbut
Ecrire Entrer un caractre
Lire Phrase
Rpter
Ecrire Entrer un caractre
Lire C
Phrase < Phrase & C
Jusqu
C = .
Ecrire Votre phrase est :
Ecrire Phrase
Fin

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 16

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Exercices dapplication (7) :
1- Ecrire un algorithme qui demande un nombre de dpart et qui ensuite crit la table de
multiplication de ce nombre.
Variables
A, i, C : Entier
Dbut
Ecrire Entrer un nombre
Lire A
Pour i allant de 1 10 faire
C < A*i
Ecrire A, x , i, = ,C
Fin Pour
Fin
2- Ecrire un algorithme qui demande un nombre de dpart et qui calcule la somme des entiers
jusqu ce nombre.
Variables
S, i, N : Entier
Dbut
Ecrire entrer un nombre
Lire N
S < 0
Pour i allant de 1 N faire
S < S + i
Fin Pour
Ecrire Somme = ,S
Fin
3- Ecrire un algorithme qui demande successivement 20 nombres lutilisateur, et qui lui disent
ensuit quel t le plus grand.
Variables
N, i, PG : Entier
Dbut
Ecrire Entrer un nombre
Lire N
PG < N
Pour i allant de 1 19 faire
Si
(N>PG)
alors
PG < N
Finsi
Ecrire Entrer un nombre
Lire N
Fin Pour
Ecrire le plus grand est :
Ecrire PG
Fin
4- Ecrire un algorithme qui lit dabord une valeur, ensuite il va lire successivement 20 nombres.
Enfin il va dterminer combien de fois la premire valeur a t saisie (sans compter la
premire saisie).
Variables
val, N, i, F : Entier
Dbut
Ecrire Entrer un nombre
Lire Val
F < 0
Pour i allant de 1 20 faire
Ecrire entrer un nombre
Lire N
Si
(N=Val)
alors
F < F + 1

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 17

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


Finsi
Fin Pour
Ecrire la premire valeur est rpter : ,F, fois
Fin
Exercice dapplication (8) :
1- Expliquer chacune des instructions ci-dessous :
a- X(2) < -5
La case 2 du tableau X reoit la valeur -5.
b- Lire
X(3) Lire au clavier de la case 3 du tableau X.
c- Ecrire
X(10) Afficher lcran le contenu de case 10 du tableau X.
d- A < x(2)
Afficher le contenu de la case 2 du tableau X A.
2- Donner la reprsentation graphique du tableau X(5) aprs lexcution.
Tableau
X(5) : Entier
Dbut
X(1) < 2
X(2) < 20
X(3) < 3
X(4) < 5
X(5) < 50

2013

3- Quel rsultat donnera lexcution de ce programme ?


Variables
i : Entier
Tableau
C(6) : Entier
Dbut
Pour i allant de 1 6
Lire C(i)
Remplir le tableau
Fin Pour
Pour i allant de i 6
C(i) < C(i) * C(i)
Changer le contenu du tableau C par son
carr
Fin Pour
Pour i allant de 1 6
Ecrire C(i)
Afficher le rsultat final
Fin Pour
Fin
4- Ecrire un algorithme qui permet de calculer la somme des lments dun tableau de 10
lments entiers.
Variables
Som, i : Entier
Tableau
T(10) : Entier
Dbut
Som < 0
Pour i allant de 1 10 faire
Lire T(10)
Fin Pour
Pour i allant de 1 10 faire
Som < Som + T(i)
Fin Pour
Ecrire la somme est : ,Som
Fin
5- Ecrire un algorithme qui permet de calculer le plus grand lment parmi les lments dun
tableau de 100 lments rel.
Variables
PG, i : Entier
Tableau
T(100) : Entier
Dbut

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 18

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Ecrire Entrer un nombre
Lire T(1)
PG < T(1)
Pour i allant de 2 100 faire
Ecrire Entrer un nombre
Lire T(i)
Si (T(i)>PG) alors
PG < T(i)
Finsi
Fin Pour
Ecrire Le plus grand est : ,PG
Fin
6- Ecrire un algorithme qui permet dafficher lindice de la case qui contient la valeur 20 dans un
tableau de 30 nombres rels.
Variables
Ind, i : Entier
Tableau
T(30) : Entier
Dbut
Ind < 0
Pour i allant de 1 30 faire
Si (T(i)=20) alors
Ind < i
Finsi
Fin Pour
Si (Ind=0) alors
Ecrire le 20 nexiste pas
Sinon
Ecrire le nombre 20 est dans la case : ,Ind
Fin
7- On suppose quon a un tableau Tab(100) contenant des nombres rels. Ecrire un algorithme
qui permet dafficher les cases qui contient des valeurs >= 10.
Variables
i : Entier
Tableau
Tab(100) : Rel
Dbut
Pour i allant de 1 100 Faire
Si (Tab(i)>=10) alors
Ecrire la case ,i, contient la valeur suprieur ou gal 10
Fainsi
Fin Pour
Fin
8- On suppose quon a un tableau Note(24) contenant des notes de 24 lves. Ecrire un
algorithme qui permet dafficher le nombre des stagiaires ayant une note >= 10.
Variables
Compteur, i : Entier
Tableau
Note(24) : Rel
Dbut
Compteur < 0
Pour i allant de 1 24 Faire
Si (Note(i)>=10) alors
Compteur < Compteur + 1
Finsi
Fin Pour
Ecrire Le nombre des stagiaires ayant des notes sup ou gal 10 est :
Ecrire Compteur
Fin

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 19

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
9- Ecrire un algorithme qui permet de calculer le nombre doccurrences dun nombre X dans un
tableau Tab(200) : lalgorithme permet dabord de remplir le tableau, demande le nombre X
et calcule et affiche par la suite le nombre doccurrences de X dan Tab. (nombre
doccurrences = nombre de rptition dun lment).
Variables
Compt, i : Entier
X : Rel
Tableau
Tab(200) : Rel
Dbut
Compt < 0
Ecrire Entrer un nombre
Lire X
Pour i allant de 1 200
Lire Tab(i)
Fin Pour
Pour i allant de 1 200
Si (Tab(i)=X) alors
Compt < Compt + 1
Finsi
Fin Pour
Ecrire le nombre ,X, est rpter ,Compt, fois
Fin
Exercice dapplication (9) :
1- Soit T(100) un tableau des rels. Ecrire un algorithme qui permet de
- Remplir le tableau
- Demander la valeur insrer dans le tableau
- Demander la position dinsertion
- donne le tableau rsultat (il affiche le tableau aprs linsertion de la valeur).
Variables
i, p : Entier
Vi : Rel
Tableau
T(100) : Rel
Dbut
Pour i allant de 1 100
Lire T(i)
Fin Pour
Ecrire Entrer la valeur insrer
Lire Vi
Ecrire Entrer la position dinsertion
Lire P
Redim
T(101)
I < 101
TantQue
i>=p+1
T(i)<T(i-1)
I < i-1
Fin TantQue
T(P) < Vi
Pour i allant de 1 101 Faire
Ecrire T(i)
Fin Pour
Fin
Exercices dapplication (10) :
1- Soit T(100) est un tableau des rels. Ecrire un algorithme qui permet de :
- Remplir le tableau
- Lire la case a supprim

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 20

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
- Affiche le tableau rsultat Tr(99) (Ce tableau contient les mmes valeurs que
T(100) sauf la valeur a supprim).
Variables
PS, i : Entier
Tableau
T(100), Tr(99) : Rel
Dbut
Pour i allant de 1 100
Lire T(i)
Fin Pour
Ecrire Entrer la valeur supprimer
Lire PS
Pour i allant de 1 PS-1 Faire
Tr(i)<(T(i)
Fin Pour
Pour i allant de ps+1 100
Tr(i-1)<(T(i)
Fin Pour
Pour i allant de 1 99 Faire
Ecrire Tr(i)
Fin Pour
Fin
2- Soit T(100) est un tableau des rels. Ecrire un algorithme qui permet de supprimer la case qui
contient une valeur X (Le tableau est dj rempli, la valeur X existe une seule fois).
Variables
Pos, i : Entier
X : Rel
Tableau
T(100) : Rel
Dbut
Ecrire Donner la valeur supprimer
Lire X
i < 1
TantQue
(i<=100) faire
Si
(T(i)=x)
alors
Pos < i
i < 101
Sinon
i < i+1
Finsi
Fin TantQue
Pour i allant de 1 99
T(i) < T(i+1)
Fin Pour
Redim99
Pour i allant de 1 99 Faire
Ecrire T(i)
Fin Pour
Fin
3- Soit T(120) est un tableau des rels. Ecrire un algorithme qui permet de supprimer toutes les
cases qui contient une valeur =< 8 (Le tableau est dj rempli).
Variables
Compt, i, j : Entier
Tableau
T(120) : Rel
Dbut
Compt < 0
I < 1
TantQue
(i<=120)
Si (T(i)<=8) alors

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 21

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Compt < Compt + 1
Pour j allant de i 120-Compt
T(j) < T(j+1)
Fin Pour
Redim T(120-Compt)
Finsi
I < i + 1
Fin TantQue
Pour i allant de 1 120-Compt
Ecrire T(i)
Fin Pour
Fin
Exercices dapplication (11) :
1- Soit T(100) est un tableau des caractres. Ecrire un algorithme qui permet de modifier la
premire case et toutes cases ayant le mme contenu. La nouvelle valeur sera le caractre m.
(Le tableau est dj rempli).
Variables
C : Caractre
i : Entier
Tableau
T(100) : Entier
Dbut
C < T(1)
Pour i allant de 1 100
Si (T(i)=C) alors
T(i) <m
Finsi
Fin Pour
Pour i allant de 1 100
Ecrire T(i)
Fin Pour
Fin
Exercices dapplication (12) :
1- Ecrire une fonction qui va traiter la moyenne du groupe des stagiaires.
Fonction
Moyenne(N1 : Rel, N2 : Rel, Exam : Rel) : Rel
Variable
NbEtudiant, i : Entier
Nom, Prenom : Chane
Constante
C1=2, C2=3, C3=5
Dbut
Pour i allant de 1 NBETUDIANT faire
Lire (NOM, PRENOM, N1, N2, Exam)
Moyenne < (N1*C1+N2*C2+Exam*C3)/(C1+C2+C3)
Ecrire Moyenne
Fin Pour
Fin
2- Faire un programme qui donne le volume dun cylindre en faisant appel une fonction aire
dun cercle.
Fonction
aire_cercle (rayon :rel) :rel
Variables
Aire : rel
Constantes
PI=3.14
Dbut
Lire rayon
Aire <= PI*rayon*rayon
Lir Aire
Fin

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 22

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes


2013
Fonction
volume_cercle (hauteur, rayon :rels) :rel
Variables
volume : rel
Dbut
Volume <=aire_cercle (rayon)*hauteur
Lire volume
Fin
3- Ecrire une fonction qui fait la somme des entiers compris dans un intervalle.
Fonction
intervalle (a, b ; entiers) : entier
Variables
i, somme : entier
Dbut
Somme <= 0
Pour i allant de a b faire
Somme<=somme + k
Fin Pour
Lire somme
Fin
4- Ecrire une fonction max3 qui retourne le maximum de trois entiers.
Fonction
max3(a, b, c : entier) : entier :
Variables
max3 : entier
Dbut
Si a>b alors
Si a>c alors
max3 <= a
Sinon
max3 <= c
Finsi
Sinon
Si c>b alors
max3 <= c
Sinon
max3 <= b
Finsi
Finsi
Lire max3
Fin
Exercices dapplication (13) :
1- Ecrire une table de multiplication dun nombre entier N pour des multiplicateurs de 1 10.
Procdure
TABLE_MULTIPLICATION (N : entier) : Entier
Variables
i : Entier
Dbut
Lire N
pour i allant de 1 10 faire
Ecrire (i, x ,N, = , i*N)
Fin Pour
Ecrire TABLE_MULTIPLICATION
Fin
2- Ecrire une procdure qui retourne la valeur minimale et maximale pour une suite de 3
nombres entiers a, b, c.
Procdure
MiniMaxi(a : Entier ,b : Entier ,c : Entier ) : Entier
Variables
Min, Max : Entier
Dbut
Min<=a
Si b<Min alors
Min<=b

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 23

Khalid KATKOUT

Techniques de Programmation Structures Algorithmes

2013

Sinon
Si c<Min alors
Min<=c
Finsi
Finsi
Max<=a
Si b>Max alors
Max<=b
Sinon
Si c>Max alors
Max<=c
Finsi
Finsi
Fin

Techniques des Rseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 24