Vous êtes sur la page 1sur 22

Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013

Techniques de Programmation Structurées « Les Algorithmes »


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 :

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
Le Pseudo Code d’exemple 1 :

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/ 2
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.
C’est pour cela qu’il faut introduire des instructions qui permettent le dialogue avec l’utilisateur.

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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.
Elle s’écrite dans ce cas : Si (Condition) alors
Bloc d’instruction
Finsi

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
• 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’
Lire X
Fin Tant Que
Ecrire ‘tu as tapé 0’
Fin

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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.
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).

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
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

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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 :
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

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
• 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.
Techniques des Réseaux Informatiques | https://www.facebook.com/groups/2ATRI/ 9
Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
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’.

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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/ 11


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 : ’
Ecrire S

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
Fin
3- La même question d’exercice 2, mais dans ce cas là on ajoute si le produit est nul.

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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.
Variable X : Réel
Début
Ecrire ‘Entrer un nombre »

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
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

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
Finsi
Fin Pour
Ecrire ‘la première valeur est répéter : ’ ,F, ‘fois’
Fin
Exercice d’application (8) :

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
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

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
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

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 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é
- 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

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
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

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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

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

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


Khalid KATKOUT Techniques de Programmation Structurées « Algorithmes » 2013
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
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/ 22

Vous aimerez peut-être aussi