Académique Documents
Professionnel Documents
Culture Documents
Enfin je tiens à remercier mes chers parents, mon mari et toutes les personnes qui
ont contribué par leur disponibilité et leur bonne humeur a rendre mon stage
enrichissant et motivant.
Je remercie aussi Mr Berrdjam Faycal PEP au CFPA Belaid Belkacem Annaba pour
son aide.
Enfin je tiens à remercier ma chère famille, surtout ma sœur et ses filles pour
leurs soutient morales et toutes les personnes qui ont contribué par leur disponibilité et
leur bonne humeur a rendre mon stage enrichissant et motivant.
Table de matières
Préambule.
Description de la spécialité
Fiche de présentation du Module Qualifiant
Tableau des objectifs intermédiaire de la fiche de présentation du chapitre proposé
2016 Page 4
Elaborer des Algorithmes Simples
2016 Page 5
Elaborer des Algorithmes Simples
Préambule
Dans ce manuel le stagiaire étudiera des points bien détaillé du module « Elaborer des
2016 Page 6
Elaborer des Algorithmes Simples
I- Présentation de la profession
2- Dénomination de la profession :
3- Définition de la profession :
4- Activités professionnelles :
Eclairage : normal
Température et humidité : normale / salles et ou bureaux climatisés
Bruits et vibrations : Environnement non bruyant sauf bruit des équipements
2016 Page 7
Elaborer des Algorithmes Simples
Exigences physiques
V- Responsabilité du TS
1- Responsabilités matérielles :
VII- Formation
2016 Page 8
Elaborer des Algorithmes Simples
Code : MQ1.1
Durée : 136 h
Objectif modulaire
Comportement attendu :
A l‟issue de ce module, le stagiaire doit être capable d‟élaborer des algorithmes simples.
Conditions d’évaluation :
A partir :
Documentation.
A l’aide :
2016 Page 9
Elaborer des Algorithmes Simples
2016 Page 10
Elaborer des Algorithmes Simples
Introduction :
Dans la vie de tous les jours nous sommes appelés à résoudre de nombreux problèmes
qui se posent à nous, ces problèmes vont des plus simple aux plus complexes, pour ce la
nous devons adapter une méthode bien particulière pour chacun d‟eux.
2016 Page 11
Elaborer des Algorithmes Simples
a)- Analyse : C‟est la phase d‟etude, dans laquelle il faut répondre a trois questions :
« - Qu‟est ce que j‟ai ?, - Qu‟est ce que je veux ? - Comment faire ? » c‟est la
décomposition d‟un probléme en opération simple.
b)- Reconstruction : phase de specification des données ; et du description du
traitement. C‟est la phase de présentation des données (opérations) sous forme
d‟algorithme.
c)- C‟est le déroulement de l‟algorithme : pour vérifier qu‟il donne bien le bon résultat,
cette étape consiste à la vérification de la logique de l‟algorithme. Dans cette étape on
affecte des données (valeurs ) en entrée pour obtenir des résultats en sortie (Figure 01)
reconstitution Exemple
Analyse
Figure.1
langage compilation
Execution
n
Figure.2
2016 Page 12
Elaborer des Algorithmes Simples
Définition°1
Définition °2
Un algorithme est une suite finie et ordonnée d‟opérations, qui l‟ors qu‟elles sont
exécutés sur des paramètres spécifiques et dans l‟ordre convenable produisent toujours
un résultat et se termine en un temps fini
Exemple :
Pour bien illustrer la notion d‟algorithme, prenons l‟exemple d‟un
chauffeur d‟ambulance venant récupérer un malade qui s‟égare en cours de
route, Vous allez lui montrer le chemin à suivre pour atteindre son objectif.
Dans le cas ou vous connaissez parfaitement le chemin, vous lui direz par exemple :
« Suivez cette rue jusqu’au carrefour, puis tournez à droite et à environ 100 »
2016 Page 13
Elaborer des Algorithmes Simples
Eléments Description
Elipse
Pour marquer le début et la fin d‟un organigramme
Parallélogramme
Sert à représenter les instructions d‟entrée (lecture) et de sortie
(écriture)
Rectangle
Représentation d‟une opération /groupe d‟opérations sur des données,
instructions….
Figure.3
c)- Pseudo-Code :
Les instructions doivent être formulées dans un langage compréhensible par
l‟exécutant. Dans le cas d‟un humain, il s‟agira du langage courant (langue maternelle);
dans le cas d‟une machine, il faudra recourir à un langage de programmation
(assembleur, basic, C, java, php ...).
En algorithmique, nous utiliserons un langage situé à mi-chemin entre le langage
courant et un langage de programmation appelé pseudo-code. Il n‟y a pas de norme
concernant ce pseudo-code qui peut varier légèrement d‟un enseignant à l‟autre. Le but
est surtout de mettre l‟accent sur la logique de l‟algorithme. L‟avantage du pseudo-
code est qu‟il permet de rester proche d‟un langage informatique sans qu‟il soit
nécessaire de connaître toutes les règles et spécificités d‟un langage particulier.
2016 Page 14
Elaborer des Algorithmes Simples
Exemple :
Problème posé : écrire un algorithme qui fait l‟addition de deux nombres réels.
Analyse :
En analysant le problème on comprend qu‟ il s‟agit d‟un problème mathématique
qui consiste à additionner (opération +) deux nombres réels.
En autre termes, on doit fournir deux nombres réels en entrée pour avoir leur
somme en résultat.
On doit donc déclarer deux variables réelles A et B pour les entrées : et une variable
réelle S pour le résultat en sortie.
(S = A+B , A et B réel donc S réel).
2016 Page 15
Elaborer des Algorithmes Simples
Déclaration
A, B de type réel.
S de type réel.
Opérations :
entrée la valeur de A.
entrée la valeur de B.
calculer A+B et mettre le résultat dans la variable S.
Afficher S.
Organigramme : Algorithme :
Algorithme somme
Début
A, B : réels
S : réel
lire
Début
Lire (A)
S← A+B
Lire (B)
S←A + B
Ecrire
Ecrire (S)
Fin.
Fin
Figure.4 Figure.5
Entête
Déclarative
Corps de l’algorithme
Figure.6
2016 Page 16
Elaborer des Algorithmes Simples
a) La partie entête :
Elle contient le mot clé Algorithme suivi du nom qui identifie le problème à résoudre.
Par exemple : Algorithme Somme
Le mot « Somme » est l‟identificateur de l‟algorithme.
b) La partie déclarative :
Elle contient les données de l‟algorithme, ce sont les variables d‟entrée, les variables
de sorties et les variables intermédiaire.
Déclaration :
X, Y : « type1 »
C : « type2 »
I : « type3 »
Par exemple :
X, Y : réels
C : caractère
I : entier
Début
Instruction 1
Instruction 2
…
Instruction i
…..
Fin.
2016 Page 17
Elaborer des Algorithmes Simples
2016 Page 18
Elaborer des Algorithmes Simples
Exercice 02 :
Un berger vient de capturer un loup qu‟il a gardé bien vivant.
Pour rentrer chez lui, le berger utilise une petite barque pour traverser un fleuve, la
barque ne peut pas supporter plus de 170kg de poids.
Le berger veut traverser le fleuve et faire passer sa chèvre, une botte de paille ainsi que
le loup.
Sachant que les poids respectifs sont :
Le berger : 70 kg.
La chèvre : 50 kg.
Le loup : 50 kg.
La botte de paille : 20 kg.
On vous demande de décrire les étapes que doit suivre le berger pour rentrer chez lui
sans avoir de dégâts.
Indications : Si la chèvre mange la botte alors vous avez échoué, pire encore, si le loup
mange la chèvre !
Dans ce cas vous êtes obligé de refaire votre algorithme !
1.2.1 Déclarations :
Elle permet de décrire d‟une manière précise les données et les résultats d‟un
algorithme, où un programme manipule des informations : les données.
On distingue deux types de données : les variables et les constantes.
1. Les variables :
Les variables sont des données qui doivent être stockées quelque part : dans la
mémoire de l‟ordinateur, la mémoire de l‟ordinateur peut être vue comme plein de
boites vides. (Figure.7)
2016 Page 19
Elaborer des Algorithmes Simples
Figure.7
On veut par exemple mémoriser le nombre 2010, mais on ne peut pas le mettre
comme cela dans une boite vide, car on ne pourra pas le trouver !
On va donc coller une étiquette sur une des boites et la nommer « année » ; cela
permettre de la retrouver plus tard.
On va maintenant pouvoir y ranger le nombre 2010 à l‟intérieur.
Figure.8
10.2 5
Prix quantité
2016 Page 20
Elaborer des Algorithmes Simples
b) Conventions de nommage :
Le nom d‟une variable est constitué d‟un ou plusieurs mots, la 1ere lettre de chaque
mot étant en majuscule, sauf le premier en général
Un nom peut être composé de lettres et de chiffres mais il ne peut pas commencer
par un chiffre et ne peut pas comporter d‟espace.
Le nom d‟une variable doit être suffisamment significatif afin de reconnaitre
facilement le rôle de cette variable. Par exemple pour des variables représentant un
prix et une quantité, éviter « a » et « b » mais utiliser plutôt « prix » et « quantité ».
Pour qu‟un programme puisse utiliser une variable, il faut au préalable que cette
variable ait été déclarée, c'est-à-dire que le programme lui ait réservé une place en
mémoire, les valeurs sont déclarées dans le bloc de déclaration de variables :
2 Les constantes :
Une constante est une donnée qui ne possède pas d‟emplacement mémoire.
En fait, la constante est en quelque sorte un „alias‟ de la valeur : au lieu d‟indiquer
dans le code la valeur elle-même, on précise le nom de la constante.
Le compilateur remplace directement la valeur dans le code du programme
chaque fois qu‟il rencontre une constante.
L‟intérêt des constantes est double : mise a jour plus rapide et lisibilité du code.
Comme la constante ne possède pas d‟emplacement mémoire, sa valeur ne peut pas
être modifiée.
Tout comme variables, les constantes sont caractérisées par un nom une valeur et
un type de données.
Le type de donnée de la constante est implicite (on le précise pas), puisqu‟il est
déterminé par la valeur de cette constante,
Les constantes sont déclarées dans le bloc de déclaration de constantes :
Exemple 01:
Const : 10, „‟Samedi‟‟…..
2016 Page 21
Elaborer des Algorithmes Simples
Exemple 02 :
Indiquer si les noms de variable suivant sont correct ou pas ?
Correction :
a) L’entier :
Les entiers correspondent aux nombres sans virgule, Mot clé : entier
b) Le réel :
Les réels correspondent aux nombres à virgule, le séparateur de décimal
est le point. Mot clé : réel
c) Le booléen :
Les variables de ce type permettent de stocker les valeurs logiques
Vrai ou Faux. Mot clé : booléen
2016 Page 22
Elaborer des Algorithmes Simples
d) Le caractère :
Dans une variable de ce type, on stocke un caractère, qu‟il s‟agisse de lettre,
chiffre, caractère de ponctuation, espace, retour chariot…et plus généralement toutes les
touches que l‟on peut trouver sur une machine à écrire.
Les caractères sont entourés d‟apostrophes (simples quottes), Mot clé : car
Exemple : „a‟, „B‟
e) La chaîne de caractères :
Dans une variable de ce type, on stocke une chaine de caractères, c-à-dire une
suite de caractères.
Les chaines de caractères sont entourées de guillemets (double quottes).
Exemple : “ Bientôt les Vacances ”
Exemples :
2016 Page 23
Elaborer des Algorithmes Simples
Exemple :
Donner des exemples de valeur type :
Booléen
Entier
Réel
Caractère
Chaine
Date
Correction :
Booléen Bool ←Vrai
Entier Var = 10
Réel Var = 33.5
Caractère Var←‘A’
Chaine (‘ bonjour’)
Date Jour ← lundi
Exercice 02 :
Quelles seront les valeurs des variables A, B et C après exécution des
instructions suivantes ? Variables A, B, C en Entier
Début
A←5
B←3
C←A+B
A←2
C←B–A
Fin
2016 Page 24
Elaborer des Algorithmes Simples
Exercice 03 :
Compléter le tableau suivant en indiquant le ou les types possibles pour
les variables
I.3.2 L’affectation :
C‟est l‟opération par la quelles on attribue une valeur a une variable, On la note ←
Exemple : A←2 , signifie que la variable A reçoit la valeur 2.
X ← 24
Y←X
On peut en revanche sans aucun problème attribuer à une variable la valeur d‟une autre
variable, telle quelle ou modifiée.
Signifie que la valeur de Y est maintenant celle de X
Y← X + 4
2016 Page 25
Elaborer des Algorithmes Simples
X contenait 12, Y vaut maintenant 16. De même que précédemment, X vaut toujours
12.
X←X+1
a) Ordre des instructions : L‟ordre dans lequel les instructions sont écrites va jouer un
rôle essentiel dans le résultat final. Considérons les deux algorithmes suivants :
Exemple 1 :
Variable A en Numérique
Début
A ← 34
A ← 12
Fin
Exemple 2 :
Variable A en Numérique
Début
A ← 12
A ← 34
Fin
Il est clair que dans le premier cas la valeur finale de A est 12, dans l‟autre elle est 34.
(C‟est juste Pour bien expliquer)
Exemple3 :
Quelles seront les valeurs des variables A, B et C après l‟exécution des instructions
suivantes :
A← 5
B←3
C←A+B
A ←2
C ←B–A
2016 Page 26
Elaborer des Algorithmes Simples
L‟exécution :
Exemple 4
Quelles seront les valeurs des variables A et B après l‟exécution des instructions
suivantes :
A← 5
B←7
A←A+B
B ←A-B
A ←A–B
L‟exécution :
Si l‟un des trois points énumérés ci-dessus n‟est pas respecté, la machine
sera incapable d‟exécuter l‟affectation, et déclenchera une erreur .
2016 Page 27
Elaborer des Algorithmes Simples
Symboles Opérations
+ Addition
- Soustraction
* Multiplication
/ Division
Exemple :
Variables A, B, C en Caractère
Début
A ← "gamaz"
B ← "fadoua"
C ← A Et B
Fin
2016 Page 28
Elaborer des Algorithmes Simples
Exemple01 :
Que produit l‟algorithme suivant ?
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A+B
Fin
Correction :
Il ne peut produire qu‟une erreur d‟exécution, puisqu‟on ne peut pas
additionner des caractères.
Exemple 02 :
Que produit l‟algorithme suivant ?
Variables A, B, C en Caractères
Début
A ← "423"
B ← "12"
C←A&B
Fin
Correction :
…En revanche, on peut les concaténer. A la fin de l‟algorithme, C vaudra
donc "42312".
Donc :
La lecture : est attribuer a une variable une valeur introduite de l‟exterieur de
l‟ordinateur par un périphérique d‟entrée
2016 Page 29
Elaborer des Algorithmes Simples
Exemple :
Lire (X)
Lire („ Elaborer des Algorithmes „)
I.3.4 Commentaires :
Pour bien éclairer votre algorithme il est très utile d‟introduire des commentaires à
chaque fois qu‟il est nécessaire, cela permet d‟améliorer la lisibilité de votre
Algorithme.
Pour cela on utilise des accolades pour introduire un commentaire, ce dernier n‟a aucun
effet sur le déroulement de l‟algorithme.
Exemple :
Algorithme somme
A, B :réels commentaire
S : réel
Début {cet algorithme effectue l’addition de A et B}
Lire (A)
Lire (B)
S←A + B
Ecrire (S)
Fin.
Exemple :
Soit l‟algorithme qui lit 03 nombre entiers et calcule leurs carré.
Ecrire l‟algorithme et effectuer un déroulement pour les trois valeurs suivantes : 1.2.4
Algorithme Aucarré
Carré , A, B,C : Entiers
Début
Lire (A)
carré←A*A
Ecrire ( ′le carré est : ′ Carré)
Lire (B)
carré←B*B
Ecrire (′le carré est : ′ Carré)
Lire (C)
carré←C*C
Ecrire (′le carré est : ′ Carré)
Fin.
2016 Page 30
Elaborer des Algorithmes Simples
Déroulement :
Exercice 02 :
Quelles seront les valeurs des valeurs A, B et C après exécution de
l‟algorithme suivant ?
Algorithme algo2
A, B, C : entier
Début
A←7
B ←10
C←A+B
A←3
C←B- A
Fin
2016 Page 31
Elaborer des Algorithmes Simples
Exercice 03 :
Ecrire un programme qui lit un nombre, puis calcule et affiche le carré de
ce nombre.
Peut –on optimiser l‟Algorithme en utilisant une seule variable ?
Début
Instruction 1
Séquence
Instruction 2
d‟instruction
Séquence
d‟instruction
---------------
Instruction N
Fin
Figure.9
2016 Page 32
Elaborer des Algorithmes Simples
1.4.2 Choix :
1) Le traitement alternatif :
Le traitement alternatif repose sur un test, ce dernier est exprimé avec une ou
plusieurs conditions.
Si « Condition _Vérifié » alors action
La condition peut prendre une valeur logique soit « FAUX » ,soit « VRAI »
Une condition peut être composée, c‟est-à-dire, qu‟on peut avoir une ou plusieurs
condition à vérifier en même temps ; pour cela on utilise les opérateurs logique ET,
OU, NON, et XOU
Si « condition » alors
Début
Instruction1
Instruction2
…
InstructionN
FIN
2016 Page 33
Elaborer des Algorithmes Simples
Principe
Si la condition est vraie, alors la séquence d‟instructions d‟exécutes, Sinon ne rien faire.
Exemple 01 :
Si demain il pleut alors je porterai ma parapluie.
Exemple 02 :
Vrai
Expression
avec condition
Séquence
Figure.10
Syntaxe :
Si ˂ condition ˃ alors ˂ Séquence 1˃
Si non ˂ Séquence 2 ˃
Principe
Si la condition est vérifiée (vrai) , alors la ˂séquence1˃ sera exécutée, Sinon
˂séquence2˃ qui le sera .
Exemple01 :
Exemple02 :
2016 Page 34
Elaborer des Algorithmes Simples
Faux Vrai
Expression
avec condition
Séquence2 Séquence1
Figure.11
Choix_i :
Début
Instruction1
Instruction2
…
InstructionN
Fin
2016 Page 35
Elaborer des Algorithmes Simples
Principe
Cette structure de contrôle présente plusieurs cas d‟exécution du traitement
mais un seul sera exécuté.
Exemple 01 :
Selon le cas qui se présente je prendrai la décision qu‟il faut :
Cas1 : si mon chiffre d‟affaires est inférieur à 600000 DA, alors aucun
investissement n‟est à envisager.
Cas1 : si mon chiffre d‟affaires atteint les 1000000 DA, alors j‟achèterai un
véhicule utilitaire.
Cas1 : si mon chiffre d‟affaires dépasse les 1500000 DA, alors j‟achèterai un
véhicule utilitaire et un autre de service.
Exemple 02 :
Afficher les noms des jours de la semaine ;
Lire (j)
Choix j de J est de type entier
1 : écrire („C‟est Samedi ‟)
2 : écrire („C‟est Dimanche ‟)
3 : écrire („C‟est Lundi ‟)
4 : écrire („C‟est Mardi ‟)
5 : écrire („C‟est Mercredi ‟)
6 : écrire („C‟est Jeudi ‟)
7 : écrire („C‟est Vendredi ‟)
Sinon
Ecrire („ce n‟est pas une journée ‟)
Fin.
Faux
Choix Var de
…… ……
Val1 : Séquence1 Vali : Séquencei Valn : Séquencen Séquence
Figure.12
2016 Page 36
Elaborer des Algorithmes Simples
1.4.4 La répétition :
On dispose de trois (3) structures pour contrôler un traitement répétitif :
La boucle Tant que …. faire
La boucle Pour ….. faire
La boucle Répéter …. Faire.
Exemple 01 :
Tant que le clou n‟est pas totalement enfoncé, frapper avec le marteau.
Opération répétée : frapper avec le marteau.
Condition d‟arrêt : clou totalement enfoncé.
Exemple 02 :
Afficher les 100 premiers nombres entiers positifs
Initialisation du compteur
I←0 Condition à vérifier
I←I+1
Ecrire (I)
Fin.
Expression
avec condition
(Suite)
Séquence
Figure.13
2016 Page 37
Elaborer des Algorithmes Simples
Exemple 03 :
Algorithme qui permet d‟afficher les nombres négatifs.
Algorithme Négatif
Type entier
Type logique
N : entier
Bool : logique
Début Initialisation
Bool ←faux
Tant que bool = faux faire La virgule ‘,’ sépare la
Début variable N du message
Lire (N) ‘……’
Si N ˂ 0 alors
Valeur de N
Sinon
bool←vrai
Fin
Valeur qui permet de
Fin.
quitter la boucle
Commentaire
Tant que le nombre introduit est négatif, la boucle continue de s‟exécuter elle ne
s‟arrêtera que lorsqu‟on introduit un nombre positif (Bool←vrai).
2016 Page 38
Elaborer des Algorithmes Simples
Principe
Pour ˂compteur˃ allant de ˂Valeur_i˃ à ˂Valeur_f˃ faire ˂séquence˃
Pour ˂compteur˃ allant de Valeur initiale jusqu'à Valeur finale, exécuter la
séquence d‟instructions.
Le nombre de fois que la séquence s‟exécute est égal à (Valeur finale- Valeur initiale
+1) ce qui veut dire que le nombre est connu d‟avance.
Exemple 01 :
Mettre des étiquettes pour 100 produits en chaine
Pour 100 produits en chaine, mettre une étiquette
Analyse :
Opérations répétées : Mettre une étiquette
Condition d‟arrêt : 100 produits tous étiquetés.
Exemple 02 :
Afficher les 100 premiers nombres entiers positifs
I : entier
Début
Pour I←1 à 100 faire
Ecrire (I)
Fin .
Organigramme de la boucle pour (Figure 14)
Initialisation Vi
Expression Vrai
(Vi ˃ Vf)
Faux
Séquence (suite)
Incrémentation
Vi←Vi+1
Figure.14
2016 Page 39
Elaborer des Algorithmes Simples
Répéter
˂séquence˃
Jusqu'à ˂condition vérifiée˃
Principe
Répéter l‟exécution de la séquence jusqu'à ce que la condition soit vérifiée.
Exemple01 :
Exemple021 :
I : entier
Début
I←1
répéter
Ecrire (I)
I←I+1
Jusqu‟à I˃100
Fin.
2016 Page 40
Elaborer des Algorithmes Simples
séquence
Faux vrai
Expression
Avec condition
Figure.15
Exemple 3 :
Algorithme qui introduit un entier, vérifie s‟il est négatif et l‟affiche.
Algorithme lecture
N : entier
Bool : logique
Début
Bool ←faux
Lire (N)
Si N ˂ 0 alors
Début
Ecrire (N)
Bool ←faux
Fin
Sinon
Bool ←vrai
Jusqu'à Bool = vrai
Fin .
2016 Page 41
Elaborer des Algorithmes Simples
Dans cet exemple, le nombre d‟exécution de la boucle Répéter, n‟est pas connu, donc il
ya nécessité d‟utiliser une variable logique (bool) pour contrôler la boucle.
Par principe les boucles infinies sont à éviter (sauf si cela fait d‟une manière
volontaire « développeur de virus »).
On appelle boucle infinie une boucle dont la condition d‟arrêt n‟est jamais
vérifiée, ce qui pousse la boucle à tourner indéfiniment jusqu'à ce que le programme
se bloque.
Exemple :
I←1
J←2
Tant que j˃i faire
Début
I←j
J←j+1
Fin
2016 Page 42
Elaborer des Algorithmes Simples
Exercice 02:
Un magasin offre une réduction sur achat dans les conditions suivantes :
Si le montant d‟achat est inférieur à 350 DA, il n‟y a pas de réduction.
Si le montant d‟achat est compris entre 350 DA et 600 DA, le taux de la
réduction est de 2 %.
Si le montant d‟achat est supérieur à 600 DA, le taux de la réduction est de 3%.
Exemple :
2016 Page 43
Elaborer des Algorithmes Simples
La variable ch peut contenir jusqu‟à 255 caractères alors que chn peut contenir au
maximum 20.
chn1 ← ”Turbo”
chn2 ← ”Pascal”
chn3 ← chn1+” ”+chn2
La variable chn3 contiendra ”Turbo Pascal”
Exemple :
L‟expression (”a” > ”A”) est vraie puisque le code ASCII de ”a” (97) est supérieur à
celui de ”A” (65) ·
L‟expression (”programme” < ”programmation”) est fausse puisque ”e” > ”a” ·
L‟expression (”” = ” ”) est fausse (le vide est différent du caractère espace).
2016 Page 44
Elaborer des Algorithmes Simples
Exemple02 :
Ecrire un algorithme « Palind » qui lit une chaîne de caractères et vérifie si cette chaîne
est un palindrome ou non. Un palindrome est un mot qui peut être lu indifféremment de
droite à gauche ou de gauche à droite (Exemples : ”AZIZA”, ”LAVAL”, ”RADAR”,
”2002”, etc.)
Correction :
Algorithme Palind
Variables
ch : Chaîne i
L : Entier
Pal : Booléen
Début
Ecrire(”Entrer une chaîne non vide : ”) Lire(ch)
L ← long(ch)
Pal ←Vrai
i←1
TantQue (i <= L/2) et (Pal) Faire
Si (ch[i] = ch[L-i+1]) Alors
i←i+1
Sinon Pal ← Faux
FinSi
FinTQ
Si (Pal) Alors
Ecrire(ch, ” est un palindrome”)
Sinon
Ecrire(ch, ” n‟est pas un palindrome”)
FinSi
Fin.
Exercice01 :
Ecrire un algorithme qui lit une chaîne de caractères puis affiche son inverse. Exemple
Si la chaîne entrée est ”algo”, l‟algorithme doit afficher ”ogla”.
Exercice 02 :
Ecrire un algorithme qui lit une chaîne de caractères et renvoie son équivalent en
majuscules.
Exercice 03 :
Ecrire un algorithme qui permet de compter le nombre de mots dans une phrase. La
phrase commence obligatoirement par une lettre et les mots sont séparés par des
espaces.
2016 Page 45
Elaborer des Algorithmes Simples
Exercice04 :
Ecrire un algorithme qui détermine et affiche le mot le plus long dans une phrase
donnée.
16.1 Définition :
Un tableau à une dimension, appelé aussi vecteur, est une structure de données
constituée d‟un nombre fini d‟éléments de même type et directement accessibles par
leurs indices ou indexes.
Les tableaux sont utilisés pour représenter une variable qui peut prendre plusieurs
valeurs en même temps. Un tableau regroupe des éléments de même type.
Une valeur
I=1
Indice
X
Taille du tableau
Identificateur Type de données
Exemple 01:
Vect1 : Tableau [1..10] de Réels.
Les affectations qu‟on peut avoir :
X ← Vect1 [5] avec x de type Réel
Vect [2] ←Vect [10]
Vect [3] ←X
Vect [2] ←X+Vect [7]
2016 Page 46
Elaborer des Algorithmes Simples
Exemple 02 :
Tab : Tableau [1..5] de chaine de caractères.
Soit Mot1, Mot2 de type Chaine de caractères alors
Tab [1]← „Mohamed‟
Mot1 ← Tab [1]
Mot2 ← Mot1
Exemple 01 :
Soit à entrer les cinq nombres réels suivants dans un tableau 15, 20, 25, 30, 60
2016 Page 47
Elaborer des Algorithmes Simples
Exemple 02 :
Entrer les 10 premiers nombre paires
On pourra utiliser les boucle Tant que ou Répéter pour la même opération.
On appelle écriture d‟une valeur, l‟opération qui permet d‟afficher son contenu à l‟écran
Exemple 01 :
Algorithme qui fait entrer 5 nombres réels suivants dans un tableau puis les affichent ,
15, 20, 25, 30, 60
2016 Page 48
Elaborer des Algorithmes Simples
Exemple 02 :
Soit à écrire un Vecteur V en mémoire, contenant les notes de 40 élèves ; écrire un
algorithme qui permet de créer le Vecteur et d‟afficher son contenu à l‟écran.
-Taille du vecteur : 40
-Type de données : réel
-Dimension de V : 1
Algorithme :
Algorithme note Déclaration d‟un
V : tableau [1..40] de réels tableau de 40notes
I : entier
Début
Pour I ← 1 à 40 faire
Lire (V [I])
Pour I ← 1 à 40 faire
Ecrire (V [I])
Fin.
On peut citer ces quelques méthodes qui reviennent souvent dans les algorithme.
1. Tri par permutation : C‟est le tri le plus simple qui consiste à comparer les
élément du tableau en commençant du début jusqu‟à la fin et faire des comparaisons
et permuter les valeurs à chaque fois qu‟il est nécessaire.
2016 Page 49
Elaborer des Algorithmes Simples
Exemple :
Ce vecteur contient 04 élément non triés , pour le faire il a fallut 8 étape :
Le nombre 3 est comparé aux 03 autre élément comme suite :
1. Comparer à 5, il est inférieure, donc aucun changement.
2. Comparer à1, il est supérieure , donc permuter les cases du vecteur , le minimum
est 1.
3. 1 est comparé à tous les élément restant du vecteur , il est bien inférieure, donc
reste inchangé.
4. On déplace d‟une pas l‟indice Min, la valeur 5 est fixée comme Min et on
recommence la comparaison.
5. La nombre 5 est comparé à 3 , il est supérieur donc permuter les cases , le
minimum est 3.
6. 3 est comparé à 2, il est supérieur , donc permuter , le minimum est 2.
7. Le Min est déplacé d‟un pas , il à comme valeur 5 , celle-ci est comparée au
reste des élément du tableau.
8. Comparée à 3, elle est supérieur, donc permuter , et puisque 3 est le dernier
élément du tableau ; le déroulement s‟arrête et le vecteur est triées.
Min Min
1/ 3 5 1 2 5/ 1 3 5 2
Min Min
2/ 3 5 1 2 6/ 1 2 5 3
Min Min
3/ 1 5 3 2 7/ 1 2 5 3
Min Min
4/ 1 5 3 2 5/ 1 2 3 5
3. Le tri par bulles : Principe le tri par bulles : le tri consiste à parcourir le tableau
d‟un bout à l‟autre en effectuent la comparaison de deux élément successifs et les
permuter , s‟ils ne sont pas ordonnés. La bulles fait remonter l‟extremum
(maximum ou minimum) vers l‟extrémité.
Exemple :
On considère un vecteur de 4 éléments suivant à trier selon l‟ordre croissant :
5 30 2 4
5 30 2 4 5 30 2 4
5 2 30 4 1 parcours
5 2 4 30
2016 Page 50
Elaborer des Algorithmes Simples
On reprend le parcours depuis le début de la même façon, le résultat est obtenu à la fin
du quatrième parcours.
Exemple :
5. Le tri par insertion : Le tri par insertion consiste à prendre un élément non triée
du tableau et à l‟insérer directement à la bonne position dans la partie du tableau
déjà triée.
Le principe est comme suite (cas tri croissant) :
a. On place l‟élément à trier dans une variable temporaire ;
b. Tant que les éléments qui précédent l‟élément à trier lui sont supérieurs, on
déclare ces éléments d‟une position ;
c. On insère ensuite l‟élément qui se trouve dans la variable temporaire à la
nouvelle position récupérée par le décalage.
2016 Page 51
Elaborer des Algorithmes Simples
Exemple :
Voici les étapes de l‟exécution du tri par insertion (croissant) sur le tableau à 5 éléments
suivant :
10 7 2 5 9
i=1 10 7 2 5 9 7 10 2 5 9
i=2 7 10 2 5 9 2 7 10 5 9
i=3 2 7 10 5 9 2 5 7 10 9
i=4 2 5 7 10 9 2 5 7 9 10
Algorithme tri_insertion
Tab : tableau [1..n] de réels
temp : réel
i, j : entier
Début
n←5
pour i ← 2 à n faire
Début
temp ← tab [ i ]
j ← i-1
tantque j ˃ 0 Tab [ j ] ˃ temp
Début
Tab [ j + 1 ] ← Tab [ j ]
J ← j-1
Fin
Tab [ j+1] ← temp
Fin
FIN.
2016 Page 52
Elaborer des Algorithmes Simples
6. Le tri Shell : Le tri de shell est une variante qui améliore le tri par insertion.
Dans ce type de tri les éléments ne sont plus décalés de un à un mais par pas plus
important.
La permutation s‟effectue en fonction de ce pas.
Une fois les permutations de ce pas effectuées, le pas est réduit jusqu‟à arriver à une
pas égal à 1.
Algorithme Shell_tri
Pas, I, J ; entiers :
Tmp : réel ;
Début
{choisir un pas}
Lire (pas)
Tantque (Pas ˃ 0) faire
Début
Pour I← Pas à N-1 faire
Début
Tmp ← A [I]
J ← I – Pas
Tantque ( J ˃= 0) et ( Tmp ˂ A [ J]) faire
Début
A [J + Pas ] ← A [ J ]
J ← J – Pas
Fin
A [J + Pas ] ← Tmp
Fin
Fin
Fin .
Le pas ne doit pas être choisi au hasard car c‟est lui qui dépend l‟efficacité de
l‟algorithme , les recherches ont démontre que le pas suit la formule d‟une suite
récurrente suivante :
Un = 3* Un-1 + 1
2016 Page 53
Elaborer des Algorithmes Simples
fin
Fin
Fin .
Soit un vecteur qui contient l‟ensemble des notes N élevés, on veut écrire un
algorithme qui :
Calcule la note moyenne de N élèves.
Détermine le nombre d‟élèves qui ont une note supérieure à la note moyenne
On considère un tableau qui contient les notes des élevés d‟une section :
10 17 08 11 14
2016 Page 54
Elaborer des Algorithmes Simples
Exercice 02 :
On considère un tableau ( Vecteur ) de valeurs numériques réelles, on veut trier le
tableau en utilisant la méthode de tri « par Sélection »
Exercice 03 :
Ecrire un algorithme qui fait le tri d‟un tableau de numériques, en utilisant le tri par
bulle .
Exercice 04 :
On considère un tableau de valeurs numériques, on veut trier le tableau en utilisant la
méthode de tri « par Comptage »
Exemples :
Prenons l‟exemple des notes d‟élèves d‟une classe dans trois (3) matières.
La note d‟un élève peut être représentée selon deux critères, un critère représentant
l‟élève, un autre représentant la matière (module).
La classe est formées de 11 élevés qui examinent dans trois matières, Algorithmique,
Architecture des ordinateurs et mathématique.
Le tableau suivant représente l‟ensemble des notes des élevés dont les modules
d‟Algorithmique, Architecture des ordinateurs et mathématique :
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11
Algo (M1) 10 11 12 15 2 14 08 06 05 06 16
Archit (M2) 14 15 14 12 13 17 10 09 08 14 13
Maths(M3) 16 12 3.5 12 7.5 15 09 13 14 06 07
2016 Page 55
Elaborer des Algorithmes Simples
Exemple :
Pour J← 1 à m faire
Instruction d‟écriture ou affichage
La lecture signifie l‟introduction des éléments dans le tableau, pour cela il faut parcourir
les lignes et les colonnes pour insérer les éléments.
Pour I← 1 à 3 faire
Pour J← 1 à 11 faire
Lire (Notes [ I, J]
2016 Page 56
Elaborer des Algorithmes Simples
Pour I← 1 à n faire
Pour J← 1 à m faire
Ecrire (Table [ I, J]
L‟écriture signifie l‟affichage des éléments du tableau sur l‟écran, pour cela il faut
parcourir les lignes et les colonnes pour écrire les éléments.
Exemple :
Pour I← 1 à 3 faire
Pour J← 1 à 11 faire
Ecrire (Notes [ I, J]
T1 1 4 1
+T2 +T2 0 3 2 = T3 1 7 3
2 5 1 1 4 2 3 9 3
3 6 1 2 5 2 5 11 3
0 2 5 1 7 6 1 9 11
2016 Page 57
Elaborer des Algorithmes Simples
Exercices 02:
Indications :
2016 Page 58
Elaborer des Algorithmes Simples
Pour résoudre un problème il faut passer par ces étapes : Analyse, présentation des
données sous forme d‟un Algorithme, déroulement et vérification de l‟algorithme et
en fin la traduction d‟un algorithme à un langage machine.
Un Algorithme est un ensemble de règles opératoires dont l'enchaînement permet de
résoudre un problème au moyen d'un nombre fini d'opérations.
On peut présenter un Algorithme soit sous forme d‟un organigramme (est ce n‟est
plus pratique si l‟algorithme est grand) , ou sous forme linéaire (pseudo code)
Un algorithme est présenté comme suit :
ALGORITHME <NOM>
<Déclaration des variables>
DEBUT
<Actions>
…….
<Actionsn>
FIN
2016 Page 59
Elaborer des Algorithmes Simples
Marche à suivre :
Algorithme Moyenne_Générale ;
Const C1 = 2 , C2 = 1 , C3 = 4 , NBC = 7
Var N,I : Entiers
Nom, Prénom : Chaine[20]
Note1,Note2, Note3, Moy_g : Réel
Début
Ecrire („Entrer Le nombre de stagiaires S.V.P : „) ;
Lire(N) ;
Pour I de 1 à N Faire
Ecrire(„Entrer le nom du stagiaire SVP :‟)
Lire(Nom) ;
Ecrire(„Entrer le Prénom du stagiaire SVP :‟)
Lire(Prenom) ;
Ecrire(Entrer la première note SVP :‟) ;
Lire(Note1) ;
Ecrire(Entrer la Deuxième note SVP :‟) ;
Lire(Note1) ;
Ecrire(Entrer la Troisième note SVP :‟) ;
Lire(Note1) ;
Moy_g ((Note1*C1) +(Note2*C2) + (Note3*C3))/NBC
Si Moy_G >= 10 alors
Ecrire („Stagiaire Admis‟) ;
Ecrire(„Le nom du stagiaire est :‟,Nom) ;
2016 Page 60
Elaborer des Algorithmes Simples
5 Le traitement
- Calculer la moyenne de chaque stagiaire
6 Le Teste Conditionné:
Tester si la moyenne est >= 10 ou < 10
5 L’Affichage
-Afficher le nom,prenom,Moyenne du stagiaire
Le resultat final
2016 Page 61
Elaborer des Algorithmes Simples
BIBLIOGRAPHIE
2016 Page 62