Vous êtes sur la page 1sur 24

Techniques de

Programmation
Structurées
« Les Algorithmes »
Cours & Exercices Corrigés
Edition 2014

Techniques des Réseaux Informatiques

KATKOUT Khalid
https://www.facebook.com/groups/2ATRI/
Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
I- Définition :
Un algorithme peut être défini comme une suite fini d’opération élémentaire constituant un
schéma de calcul pour une résolution d’un problème.
Autrement dit, c’est l’enchainement des actions nécessaires pour faire l’exécution d’une tâche
dans un ordinateur.

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

Exercice 1 : Calcul de la différence des 100 nombres :

Le Pseudo Code d’exemple 1 :

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 2


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Début
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 d’application (1) :


1- Représentez graphiquement le programme des lignes suivantes :
Age >= 18  Majeur
Age < 18  Mineur

Résumé : On peut représenter un Algorithme :


- Graphiquement, avec un schéma qui s’appelle Organigramme.
- Avec un Pseudo Code.
Aujourd’hui, la représentation graphique est quasiment abandonnée.

II- Structure de base d’un Algorithme :


- Nom du Programme
- Déclaration des variables
- Déclaration des fonctions
-

1- Notion d’une variable :


Une variable est un nom qui sert à récupérer un emplacement donnée de la mémoire. C'est-à-
dire que la variable ce n’est qu’une adresse de mémoire.
Exemple : Somme, x, A …
Remarque : Pour les noms des variables choisissez des noms représentatifs de l’information ;
ainsi MONTANT est un meilleur choix que X pour désigner le montant d’une facture.
2- Valeur d’une variable :
A instant donné, une variable ne peut contenir une seule valeur.
3- Type d’une variable :
Le type d’une variable définit la nature des informations qui seront représenter dans les
variables (numérique, caractère, …).
a- Type numérique :
Généralement les langages de programmation offrent les types suivants :
- Entier : désigne l’ensemble des nombres entiers dont les valeurs varient entre : -32768 à
32767.
38
- Réel : contient les variables numériques dont les valeurs varient entre : (-3,4. 10 ) à (-1,4.
10 45) pour les valeurs négatives, et entre : (1,4. 10 -45) à (3,4. 10 38) pour les valeurs
positives.
b- Type chaîne :
Dans une variable de ce type, en stocke des caractères, on écrit alors :
Nom, Prénom : Chaine
Remarque : une chaîne de caractère est notée toujours entre guillemets (‘‘…’’) ou
apostrophes (‘…’).
Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 3
Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
c- Type booléen :
Dans ce type de variable en stocke uniquement des valeurs logiques ‘vrai’ ou ‘faux’, ‘true’
ou false’, ‘1’ ou ‘0’.
Variable état : Booléen
III- Instruction de base d’un Algorithme :
Une instruction est une action élémentaire commandant à la machine un calcul, ou une
communication avec l’un de ces périphériques.
Une instruction de bas peut être :
1- Opération :
Un opérateur est une signe qui relie 2 variables pour produire un résultat.
- Pour le type numérique : On a les opérateurs suivants :
- Addition : +
- Soustraction : -
- Multiplication : *
- Division : /
- Puissance : ^
- Pour le type chaîne : On a un seul opérateur qui permet de concaténer 2 chaînes de caractère.
Cet opérateur de concaténation est noté : &
Exemple : - ‘A’ & ‘B’ = ‘AB’
- ‘Salut’ & ‘tout le monde’ = ‘Salut tout le monde’
2- Affectation :
L’instruction d’affectation est une opération qui consiste à attribuer une valeur à une variable.
Cette instruction s’écrit : Variable <–––––– Valeur ou Variable <–––––– Expression
Exemple : - A <–––––– 5
- B <–––––– A + 1
Remarque :

• Il faut noter que l’ordre dans lequel sont écrites les instructions est essentiel dans le résultat
final.
Exercices d’Application (2) :
1- Quelle sont les valeurs des variables A et B après l’exécution des instructions suivants :
A <–––––– 1
B <–––––– A + 3
A <–––––– 3
2- Même questions d’exercice 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 transférant à B la valeur de A, à
C la valeur de B et à A la valeur de C.
3- Lecture/Ecriture :
Considérant le programme suivant :
Variable A : Entier
Début
A <–––––– 12^2
Fin
Il permet de calculer le carré de 12.
Si on veut calculer le carré d’un autre nombre, il faut récrire le programme.

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 4


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
C’est pour cela qu’il faut introduire des instructions qui permettent le dialogue avec
l’utilisateur.
a- Instruction de lecture :
Cette instruction permet à l’utilisateur de faire entrer des valeurs au clavier pour quelles
soient utilisées par le programme.
La syntaxe de cette instruction est : Lire Variable
Lorsque le programme rencontre une instruction Lire, l’exécution du programme
s’interrompt, et attend la saisie d’une valeur au clavier.
b- Instruction d’écriture :
Cette instruction permet de communiquer des valeurs à l’utilisateur on les affichant à
l’écran. La syntaxe de cette instruction est : Ecrire Nom_du_variable
Exemple : Ecrire ‘entrer un nombre’
Ecrire A
Exercices d’application (3) :
1- Ecrire un algorithme qui fait la somme de 2 nombres réels.
2- Ecrire un algorithme qui fait l’inverse de X.
3- Le surveillant général d’un établissement scolaire souhaite quand lui écrit un programme
qui calcule, pour chaque élève, la moyenne des notes des 4 matières. Ces matières avec leurs
coefficients sont : Math 5 Français 4
Physique 5 Anglais 2
IV- Structures conditionnelles d’un Algorithme :
1- Conditions Simples :
Une condition simple consiste en une comparaison entre 2 expressions du même type. Cette
comparaison s’effectue avec des opérateurs de comparaison.
- Liste des opérateurs de comparaison :
Opérateur Signification numérique Signification Chaîne
= Egal à Egal à
<> Différent Différent
< Inférieur Placé avant dans l’ordre alphabétique
> Supérieur Placé après dans l’ordre alphabétique
<= Inférieur ou égal Placé avant dans l’ordre alphabétique ou égal
=> Supérieur ou égal Placé après dans l’ordre alphabétique ou égal
2- Conditions Complexes :
Sont des conditions formé de plusieurs conditions simples reliés entre elles par des
opérateurs logiques. Ces opérateurs 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 d’un Algorithme :
Il faut introduire une instruction de structuration du programme qui donne la possibilité
d’effectuer le choix dans le traitement réaliser, cette instruction est appelée La Structure
Alternative.
Sa syntaxe est : Si Condition alors
bloc1 d’instruction (bloc d’instruction = group d’instruction)
Sinon
bloc2 d’instruction
Finsi
Si la condition mentionné après SI est vrai, en exécute le bloc1 d’instruction, si la condition est
faute on exécute le bloc2 d’instruction.
Autres Formes : La structure alternative peut prendre une autre forme possible où l’une des
parties du choix est absente.

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 5


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Elle s’écrite dans ce cas : Si (Condition) alors
Bloc d’instruction
Finsi
• Dans les langages de programmation, la structure alternative peut prendre une autre forme
qui permet d’imbriqué plusieurs cas.
Sa syntaxe est : Cas où V vaut :
V1 : bloc1 d’instruction
V2 : bloc2 d’instruction
...
Vn : Blocn d’instruction
Autre : blocm d’instruction
Fin cas
Si V est égal à Vi, on exécute le bloc i d’instruction et on passe à la suite de programme, sinon
on exécute le bloc n d’instruction et on passe à la suite de programme.
Exercice d’application (4) :
1- Ecrire un programme qui donne l’état d’eau selon sa température.
2- Ecrire un algorithme qui demande 2 nombres à l’utilisateur et l’informe ensuite si leur
produit est négatif ou positif (on laisse de coter le cas où le produit est nul).
3- La même question d’exercice 2, mais dans ce cas là on ajoute si le produit est nul.
4- Ecrire un algorithme qui demande 3 noms à l’utilisateur et l’informe ensuite s’ils sont
rangés ou non dans l’ordre alphabétique.
5- Ecrire un algorithme qui demande 3 nombre entiers et tester par la suite est-ce que l’un est
la somme des 2 autres.
VI- Structures répétitives d’un Algorithme :
Un programme a presque toujours pour rôle de répéter la même action un certain nombre de
fois. Pour ce faire, on utilise les structures permettant de dire ‘Exécuter telles actions jusqu'à ce
que telle action soit remplie’.
Exemple :

Il y a 3 formes de structures répétitives : Tant Que, Répéter, Pour.


a- Tant Que :
Syntaxe : Tant Que Condition
....................
. . Bloc d’instruction. . .
....................
Fin Tant Que
Ce qui signifie que Tant Que la condition est vraie, on exécute le bloc d’instruction.
Exemple : Calcule du cube d’un nombre différent de 0.
Variable X, Y : Réel
Début
Ecrire ‘Entrer un nombre différent de 0’
Lire X
Tant Que X <> 0
Y <––––––– X^3
Ecrire Y
Ecrire ‘Entrer un nombre ou 0 pour arrêter’
Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 6
Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Lire X
Fin Tant Que
Ecrire ‘tu as tapé 0’
Fin
Exercice d’application (5) :
1- Ecrire un algorithme qui demande a l’utilisateur un nombre compris entre 1 et 3 jusqu’à
ce que la réponse convienne.
2- Ecrire un algorithme qui demande un nombre compris entre 10 et 20 jusqu’à ce que la
réponse convienne. En cas de réponse >20 on affiche ‘plus petit’, et si le nombre est <10 on
affiche ‘plus grand’.
b- Répéter :
Syntaxe : Répéter
.....................
. . . Bloc d’instruction. . .
.....................
Jusqu’à Condition
Cette structure sert à répéter des instructions jusqu’à ce qu’une condition soit réaliser.
Exemple : Variable n : Entier
Début
n <–––––––– 0
Répéter
n <–––––––– n + 1
Ecrire ‘Votre numéro d’inscription est :’
Ecrire n
Jusqu’à n = 29
Fin
Exercices d’application (6) :
1- Ecrire un algorithme qui demande successivement des nombres à l’utilisateur, et qui calcule
le nombre des valeurs saisies. La saisie des nombres s’arrête lorsque l’utilisateur entre le
caractère ‘n’ ou ‘N’.
2- Ecrire un algorithme qui lit les caractères saisie par l’utilisateur. A la fin, ce programme
nous affichera la phrase saisie. La saisie des caractères s’arrête lorsqu’on tape ‘.’.

c- Pour :
Syntaxe : Pour Variable allant de valeur initial jusqu’à la valeur final (pas d’incrément)
....................................................................
. . . . . . . . . . . . . . . . . . . . . . . . . Bloc d’instruction . . . . . . . . . . . . . . . . . . . . . . . . . . .
....................................................................
Fin Pour
L’incrément est la valeur d’augmentation progressive de la variable (compteur). La valeur par
défaut du pas est 1.
Exemple : Variable n, i : Entier
Début
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 d’application (7) :
1- Ecrire un algorithme qui demande un nombre de départ et qui ensuite écrit la table de
multiplication de ce nombre.

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 7


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
2- Ecrire un algorithme qui demande un nombre de départ et qui calcule la somme des entiers
jusqu’à ce nombre.
3- Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, et qui lui
disent ensuit quel été le plus grand.
4- Ecrire un algorithme qui lit d’abord une valeur, ensuite il va lire successivement 20
nombres. Enfin il va déterminer combien de fois la première valeur a été saisie (sans compter
la première saisie).
VII- Les Tableau dans un Algorithme :
Imaginer quant veut calculer la moyenne des notes d’une classe des élèves. Pour l’instant on a
l’algorithme suivant :
Variables i, nb : Entier
moy, somme, note : Réel
Début
Ecrire ‘Donner le nombre d’élèves’
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 d’une classe, mais on gardant dans la mémoire tout les
notes des élèves, dans ce cas il faudrait alors déclarer autant de variable qu’il y a d’étudiant.
Don si on a N étudiant, il faut déclarer N variables et ce n’est pas pratique. Ce qu’il faudrait
c’est pouvoir par l’intermédiaire d’une seule variable stocker plusieurs valeurs de même type,
et c’est le rôle des tableaux.
Définition : Un tableau est un ensemble des valeurs de même type portant le même nom de
variable. Chaque valeurs du tableau est réparé par un nombre appelé indice.

Déclaration :
Syntaxe :
Tableau Nom_Du_Tableau (Taille) : Type
Taille : elle désigne le nombre d’éléments du tableau. On dit aussi sa taille.
Exemple :

Tableau Note(5) : réel


Si on veut accéder (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 l’algorithme l’indice initial du tableau est : 1, alors que pour le langage C en
commencer par 0.
2- La valeur d’un indice doit être un nombre entier.
3- La valeur d’un indice doit être inférieur ou égal à la taille du tableau.
Exercice d’application (8) :
1- Expliquer chacune des instructions ci-dessous :
a- X(2) <–––– -5
Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 8
Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
b- Lire X(3)
c- Ecrire X(10)
d- A <–––– x(2)
2- Donner la représentation graphique du tableau X(5) après l’exécution.
Tableau X(5) : Entier
Début
X(1) <–––––– 2
X(2) <–––––– 20
X(3) <–––––– 3
X(4) <–––––– 5
X(5) <–––––– 50
3- Quel résultat donnera l’exécution de ce programme ?
Variables i : Entier
Tableau C(6) : Entier
Début
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 éléments d’un tableau de 10
éléments entiers.
5- Ecrire un algorithme qui permet de calculer le plus grand élément parmi les éléments d’un
tableau de 100 éléments réel.
6- Ecrire un algorithme qui permet d’afficher l’indice de la case qui contient la valeur 20 dans
un tableau de 30 nombres réels.
7- On suppose qu’on a un tableau Tab(100) contenant des nombres réels. Ecrire un algorithme
qui permet d’afficher les cases qui contient des valeurs >= 10.
8- On suppose qu’on a un tableau Note(24) contenant des notes de 24 élèves. Ecrire un
algorithme qui permet d’afficher le nombre des stagiaires ayant une note >= 10.
9- Ecrire un algorithme qui permet de calculer le nombre d’occurrences d’un nombre X dans
un tableau Tab(200) : l’algorithme permet d’abord de remplir le tableau, demande le
nombre X et calcule et affiche par la suite le nombre d’occurrences de X dan Tab. (nombre
d’occurrences = nombre de répétition d’un élément).
Les Tableau dynamiques :
On peut déclarer un tableau sans préciser ou départ son nombre d’élément (taille). Ce n’est
que dans un second temps, au cours du programme, qu’on va fixer ce nombre via l’instruction
de redimensionnement : Redim.
Exemple : Tableau Note ( ) : Réel
Variable N : Entier
Début
Ecrire ‘donner la taille d’un tableau :’
Lire N
Redim Note (N)
–––––––––––––––
–––––––––––––––
–––––––––––––––
Les opérations sur les tableaux :

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 9


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
1- Insertion :
Exemple :

On veut insérer (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 qu’on a un tableau Tab(8) déjà rempli par les nombres réels. On veut insérer le
nombre 10 dans la dernière case du tableau. On aura l’algorithme suivant :
Tableau T(8) : Réel
Variables i : Entier
Début
Redim T(9)
T(9) <––––– 10
Pour i allant de 1 à 9
Ecrire T(i)
Fin Pour
Fin
Exercice d’application (9) :
1- Soit T(100) un tableau des réels. Ecrire un algorithme qui permet de
- Remplir le tableau
- Demander la valeur à insérer dans le tableau
- Demander la position d’insertion
- donne le tableau résultat (il affiche le tableau après l’insertion de la valeur).
2- Suppression :

Exemple :
On veut supprimer la case ayant l’indice 6.
Le tableau résultat :

Remarque : 1- Changement de la taille


2- i >= 6 ; T(i) = T(i+1)
Exercices d’application (10) :
1- Soit T(100) est un tableau des réels. Ecrire un algorithme qui permet de :
- Remplir le tableau
- Lire la case a supprimé
- Affiche le tableau résultat Tr(99) (Ce tableau contient les mêmes valeurs que
T(100) sauf la valeur a supprimé).
2- Soit T(100) est un tableau des réels. Ecrire un algorithme qui permet de supprimer la case
qui contient une valeur X (Le tableau est déjà rempli, la valeur X existe une seule fois).
3- Soit T(120) est un tableau des réels. Ecrire un algorithme qui permet de supprimer toutes
les cases qui contient une valeur =< 8 (Le tableau est déjà rempli).
3- Modification :

• On veut modifier la case ayant l’indice 6


• La nouvelle valeur sera 12

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 10


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
• Le tableau résultat sera :

Exercices d’application (11) :


1- Soit T(100) est un tableau des caractères. Ecrire un algorithme qui permet de modifier la
première case et toutes cases ayant le même contenu. La nouvelle valeur sera le caractère
‘m’. (Le tableau est déjà rempli).
VIII- Les Fonctions et les Procédures dans un Algorithme :
Il est possible de décomposer le programme qui résout un problème en des sous-
programmes qui résolvent des sous parties des problèmes initiaux.
Ceci permettra d’améliorer la conception du programme et ainsi sa lisibilité.
L’utilisation des sous-programmes s’avère utile aussi dans le cas où on constate qu’une
suite d’actions se répète plusieurs fois.
Il existe 2 types de sous-programmes : Les fonctions et Les procédures. Un sous-
programme est obligatoirement caractérisé par un nom (Identifiant) unique.
Le nom d’un sous-programme comme le nom d’une 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é n’importe où dans le programme appelant en faisant
référence à son nom.
Un programme ainsi doit suivre la structure suivante :
Définition des constantes, définition des types
Déclaration des variables, définition des sous programmes
Début
Instructions du programme principale
Fin
a- Les fonctions :
Une fonction est un sous-programme qui retourne un seul résultat. Pour définir une
fonction on utilise la syntaxe suivante :
Fonction Nom_Fonction (Argument1 : Type, Argument2 : Type …) : Type
Déclaration
Début
Instruction de la fonction
Nom_Valeur <–––– Valeur envoyée
Fin
On constate que la déclaration d’une fonction revient à lui préciser un nom, un type,
ainsi que une liste d’argument.
Un argument (appelé paramètre forme1) d’un sous programme est une variable locale
particulière qui est associé à une variable ou constante de programme appelant. Puisque
qu’un argument est une variable locale, il admet un type.
Lorsqu’un programme appelant appel le sous programme.
Il doit indiquer la variable ou la constate de même type, qui est associé au paramètre,
une fois fonction défini, il est possible à tout en droit du programme appelant de faire
appel à elle on utilisant simplement nom suivi des arguments entre parenthèses.
Les arguments spécifiés lors de l’appel de la fonction doivent être en même nombre que
dont la déclaration de la fonction et des types prévus.
Exemple : Fonction Calcul(x : réel, y : réel, z : réel) : Réel
Variable a : Entier
Début
a <–––– 3
Calcul <–––– (x + y +z)*a
Fin
C’est un exemple de déclaration de fonction, cette fonction appelée ‘Calcul’ est une type
Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 11
Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
réel, elle admet 3 arguments de type réel.
Maintenant voici un exemple d’un programme complet :
Variable i, j, k, b: Réel
Début
Lire i
Lire j
Lire k
b <––––– Calcul(i, j, k)
Ecrire b
Fin
Exercices d’application (12) :
1- Ecrire une fonction qui va traiter la moyenne du groupe des stagiaires.
2- Faire un programme qui donne le volume d’un cylindre en faisant appel à une fonction
‘aire d’un 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 procédures :
Les procédures sont comme les fonctions mais il y a une seule différence, c’est dans le
résultat. Les fonctions rendent un seul résultat en sortie, mais les procédures rendent zéro
ou plusieurs résultats.
Syntaxe : Procédure Nom (Liste des paramètres globaux de transmission)
Paramètres Entrée Var1 :Type1
Paramètre Sortie Var2 :Type2

Var [Déclaration des variables locales]


Début
Liste des instructions de la procédure
Fin
Exercices d’application (13) :
1- Ecrire une table de multiplication d’un nombre entier N pour des multiplicateurs de 1 à
10.
2- Ecrire une procédure qui retourne la valeur minimale et maximale pour une suite de 3
nombres entiers a, b, c.

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 12


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Solutions des exercices d’applications
Exercice d’application (1) :
1- Représentez graphiquement le programme des lignes suivantes :
Age >= 18  Majeur
Age < 18  Mineur

Exercices d’Application (2) :


1- Quelle sont les valeurs des variables A et B après l’exécution des instructions suivants :
A <–––––– 1
B <–––––– A + 3
A <–––––– 3
Le résultat final est : A : 3 et B : 4
2- Même questions d’exercice 1 pour (A, B, et C) :
A <–––––– 5
B <–––––– 3
C <–––––– A+ B
A <–––––– 2
C <–––––– C – A
Le résultat final est : A :2 ; B : 3 ; C : 1
3- On Dispose de 3 variables A, B, et C. Ecrire un algorithme transférant à B la valeur de A, à C
la valeur de B et à A la valeur de C.
Variables A, B, C, D, E : Entier
Début
D <–––– B
B <–––– A
E <–––– C
C <–––– D
A <–––– E
Fin
Exercices d’application (3) :
1- Ecrire un algorithme qui fait la somme de 2 nombres réels.
Variables A, B, S : Réel
Début
Ecrire ‘donner la valeur de A et B’
Lire A
Lire B
S <–––– A + B
Ecrire ‘la somme est : ’

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 13


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Ecrire S
Fin
2- Ecrire un algorithme qui fait l’inverse de X.
Variables X, Inv : Réel
Début
Ecrire ‘Donner la valeur de X’
Lire X
Inv <–––– 1/X
Ecrire ‘L’inverse de X est : ’
Ecrire Inv
Fin
3- Le surveillant général d’un établissement scolaire souhaite quand lui écrit un programme qui
calcule, pour chaque élève, la moyenne des notes des 4 matières. Ces matières avec leurs
coefficients sont : Math 5 Français 4
Physique 5 Anglais 2
Variables M, P, F, A, Moy : réel
Début
Ecrire ‘Entrer les notes de quatre matières’
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 d’application (4) :
1- Ecrire un programme qui donne l’état d’eau selon sa température.
Variables T : Réel
Début
Ecrire ‘Entrer la température’
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 à l’utilisateur et l’informe ensuite si leur
produit est négatif ou positif (on laisse de coter le cas où le produit est nul).
Variables X, Y : Réel
Début
Ecrire ‘Entrer X et Y’
Lire X
Lire Y
Si (X<0 et Y>0) alors
Ecrire ‘Négatif’
Sinon
Ecrire ‘Positif’
Finsi

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 14


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Fin
3- La même question d’exercice 2, mais dans ce cas là on ajoute si le produit est nul.
Variables X, Y : Réel
Début
Ecrire ‘Entrer X et Y’
Lire X
Lire Y
Si (X<0 et Y>0) alors
Ecrire ‘Négatif’
Sinon
Si (X=0 ou Y=0) alors
Ecrire ‘Nul’
Sinon
Ecrire ‘Positif’
Finsi
Finsi
Fin
4- Ecrire un algorithme qui demande 3 noms à l’utilisateur et l’informe ensuite s’ils sont rangés
ou non dans l’ordre alphabétique.
Variables A, B, C : Chaîne
Début
Ecrire ‘Entrer les trois caractères’
Lire A, B, C
Si (A<B et B<c) alors
Ecrire ‘Caractères ordonnées’
Sinon
Ecrire ‘Caractères non rangées’
Finsi
Fin
5- Ecrire un algorithme qui demande 3 nombre entiers et tester par la suite est-ce que l’un est la
somme des 2 autres.
Variables A, B, C : Entier
Début
Ecrire ‘Entrer les trois caractères’
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 résultat’
Finsi
Finsi
Finsi
Fin
Exercice d’application (5) :
1- Ecrire un algorithme qui demande a l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce
que la réponse convienne.

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 15


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Variable X : Réel
Début
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
réponse convienne. En cas de réponse >20 on affiche ‘plus petit’, et si le nombre est <10 on
affiche ‘plus grand’.
Variables X : Réel
Début
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 d’application (6) :
1- Ecrire un algorithme qui demande successivement des nombres à l’utilisateur, et qui calcule le
nombre des valeurs saisies. La saisie des nombres s’arrête lorsque l’utilisateur entre le
caractère ‘n’ ou ‘N’.
Variables Compteur : Entier
X : Caractère
Début
Compteur <–––– 0
Répéter
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 caractères saisie par l’utilisateur. A la fin, ce programme nous
affichera la phrase saisie. La saisie des caractères s’arrête lorsqu’on tape ‘.’.
Variables Phrase, C : Caractère
Début
Ecrire ‘Entrer un caractère’
Lire Phrase
Répéter
Ecrire ‘Entrer un caractère’
Lire C
Phrase <–––– Phrase & C
Jusqu’à C = ‘.’
Ecrire ‘Votre phrase est :’
Ecrire Phrase
Fin

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 16


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Exercices d’application (7) :
1- Ecrire un algorithme qui demande un nombre de départ et qui ensuite écrit la table de
multiplication de ce nombre.
Variables A, i, C : Entier
Début
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 départ et qui calcule la somme des entiers
jusqu’à ce nombre.
Variables S, i, N : Entier
Début
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 à l’utilisateur, et qui lui disent
ensuit quel été le plus grand.
Variables N, i, PG : Entier
Début
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 d’abord une valeur, ensuite il va lire successivement 20 nombres.
Enfin il va déterminer combien de fois la première valeur a été saisie (sans compter la
première saisie).
Variables val, N, i, F : Entier
Début
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 Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 17


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Finsi
Fin Pour
Ecrire ‘la première valeur est répéter : ’ ,F, ‘fois’
Fin
Exercice d’application (8) :
1- Expliquer chacune des instructions ci-dessous :
a- X(2) <–––– -5 La case 2 du tableau X reçoit la valeur -5.
b- Lire X(3) Lire au clavier de la case 3 du tableau X.
c- Ecrire X(10) Afficher à l’écran 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 représentation graphique du tableau X(5) après l’exécution.
Tableau X(5) : Entier
Début
X(1) <–––––– 2
X(2) <–––––– 20
X(3) <–––––– 3
X(4) <–––––– 5
X(5) <–––––– 50

3- Quel résultat donnera l’exécution de ce programme ?


Variables i : Entier
Tableau C(6) : Entier
Début
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 résultat final
Fin Pour
Fin
4- Ecrire un algorithme qui permet de calculer la somme des éléments d’un tableau de 10
éléments entiers.
Variables Som, i : Entier
Tableau T(10) : Entier
Début
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 élément parmi les éléments d’un
tableau de 100 éléments réel.
Variables PG, i : Entier
Tableau T(100) : Entier
Début
Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 18
Khalid KATKOUT Techniques de Programmation Structurées « 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 d’afficher l’indice de la case qui contient la valeur 20 dans un
tableau de 30 nombres réels.
Variables Ind, i : Entier
Tableau T(30) : Entier
Début
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 n’existe pas’
Sinon
Ecrire ‘le nombre 20 est dans la case : ’ ,Ind
Fin
7- On suppose qu’on a un tableau Tab(100) contenant des nombres réels. Ecrire un algorithme
qui permet d’afficher les cases qui contient des valeurs >= 10.
Variables i : Entier
Tableau Tab(100) : Réel
Début
Pour i allant de 1 à 100 Faire
Si (Tab(i)>=10) alors
Ecrire ‘la case’ ,i, ‘contient la valeur supérieur ou égal 10’
Fainsi
Fin Pour
Fin
8- On suppose qu’on a un tableau Note(24) contenant des notes de 24 élèves. Ecrire un
algorithme qui permet d’afficher le nombre des stagiaires ayant une note >= 10.
Variables Compteur, i : Entier
Tableau Note(24) : Réel
Début
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 Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 19


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
9- Ecrire un algorithme qui permet de calculer le nombre d’occurrences d’un nombre X dans un
tableau Tab(200) : l’algorithme permet d’abord de remplir le tableau, demande le nombre X
et calcule et affiche par la suite le nombre d’occurrences de X dan Tab. (nombre
d’occurrences = nombre de répétition d’un élément).
Variables Compt, i : Entier
X : Réel
Tableau Tab(200) : Réel
Début
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 répéter’ ,Compt, ‘fois’
Fin
Exercice d’application (9) :
1- Soit T(100) un tableau des réels. Ecrire un algorithme qui permet de
- Remplir le tableau
- Demander la valeur à insérer dans le tableau
- Demander la position d’insertion
- donne le tableau résultat (il affiche le tableau après l’insertion de la valeur).
Variables i, p : Entier
Vi : Réel
Tableau T(100) : Réel
Début
Pour i allant de 1 à 100
Lire T(i)
Fin Pour
Ecrire ‘Entrer la valeur à insérer’
Lire Vi
Ecrire ‘Entrer la position d’insertion’
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 d’application (10) :
1- Soit T(100) est un tableau des réels. Ecrire un algorithme qui permet de :
- Remplir le tableau
- Lire la case a supprimé

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 20


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
- Affiche le tableau résultat Tr(99) (Ce tableau contient les mêmes valeurs que
T(100) sauf la valeur a supprimé).
Variables PS, i : Entier
Tableau T(100), Tr(99) : Réel
Début
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 réels. Ecrire un algorithme qui permet de supprimer la case qui
contient une valeur X (Le tableau est déjà rempli, la valeur X existe une seule fois).
Variables Pos, i : Entier
X : Réel
Tableau T(100) : Réel
Début
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 réels. Ecrire un algorithme qui permet de supprimer toutes les
cases qui contient une valeur =< 8 (Le tableau est déjà rempli).
Variables Compt, i, j : Entier
Tableau T(120) : Réel
Début
Compt <–––– 0
I <–––– 1
TantQue (i<=120)
Si (T(i)<=8) alors

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 21


Khalid KATKOUT Techniques de Programmation Structurées « 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 d’application (11) :
1- Soit T(100) est un tableau des caractères. Ecrire un algorithme qui permet de modifier la
première case et toutes cases ayant le même contenu. La nouvelle valeur sera le caractère ‘m’.
(Le tableau est déjà rempli).
Variables C : Caractère
i : Entier
Tableau T(100) : Entier
Début
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 d’application (12) :
1- Ecrire une fonction qui va traiter la moyenne du groupe des stagiaires.
Fonction Moyenne(N1 : Réel, N2 : Réel, Exam : Réel) : Réel
Variable NbEtudiant, i : Entier
Nom, Prenom : Chaîne
Constante C1=2, C2=3, C3=5
Début
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 d’un cylindre en faisant appel à une fonction ‘aire
d’un cercle’.
Fonction aire_cercle (rayon :réel) :réel
Variables Aire : réel
Constantes PI=3.14
Début
Lire rayon
Aire <= PI*rayon*rayon
Lir Aire
Fin

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 22


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Fonction volume_cercle (hauteur, rayon :réels) :réel
Variables volume : réel
Début
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
Début
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
Début
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 d’application (13) :
1- Ecrire une table de multiplication d’un nombre entier N pour des multiplicateurs de 1 à 10.
Procédure TABLE_MULTIPLICATION (N : entier) : Entier
Variables i : Entier
Début
Lire N
pour i allant de 1 à 10 faire
Ecrire (i, ‘x’ ,N, ‘=’ , i*N)
Fin Pour
Ecrire TABLE_MULTIPLICATION
Fin
2- Ecrire une procédure qui retourne la valeur minimale et maximale pour une suite de 3
nombres entiers a, b, c.
Procédure MiniMaxi(a : Entier ,b : Entier ,c : Entier ) : Entier
Variables Min, Max : Entier
Début
Min<=a
Si b<Min alors
Min<=b

Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 23


Khalid KATKOUT Techniques de Programmation Structurées « 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 Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 24