Académique Documents
Professionnel Documents
Culture Documents
L’algorithmique est la science qui a pour but de concevoir et d’analyser les algorithmes.
Concevoir un algorithme, c’est proposer une méthode de résolution à un problème. La
conception d’un algorithme requière donc quelques qualités :
Avoir une certaine intuition : c’est à ce niveau qu’intervient l’intelligence nécessaire en
algorithme.
Etre méthodique et rigoureux.
L’analyse des algorithmes : c’est l’étude mathématique dans le but de déterminer leur
efficacité.
L’efficacité : c’est une mesure du temps nécessaire à l’exécution de l’algorithme, c’est
l’analyse des algorithmes qui peut nous permettre de choisir entre plusieurs algorithmes
proposés pour résoudre un problème, celui qui est le plus efficace.
1. Définition
Le rôle de l’algorithme est fondamental. En effet sans lui il n’y aurait pas de programme.
Savoir programmer, c’est plus savoir trouver l’algorithme à un problème que de
connaitre toutes les instructions d’un langage de programmation. Cela veut dire
simplement qu’un bon programmeur est celui qui est bon en algorithme. La base de la
programmation est l’algorithme.
vous posez ces quelques questions : de quoi est-il question dans le problème ? qu’est-ce qu’on
me demande ? quels sont les éléments contenus dans le problème, et que je dois utiliser pour sa
résolution ? quelle est la finalité du problème ?
Poser le problème : c’est décrire des grandes lignes de la résolution du problème posé.
Le cheminement : il s’agit de décrire de façon détaillé les différentes étapes. C’est ici
qu’on résout le problème posé.
L’objet désigne une entité du problème. Il est caractérisé par son nom et par son titre.
C’est le nom que l’on donne à l’algorithme. Il est obligatoire, c’est-à-dire que tout algorithme
doit avoir un nom. Ce nom est au choix mais doit respecter un certain nombre de règles (ce nom
ne doit pas comporter d’espace, pas de caractère spéciaux, pas d’accent, pas de chiffre au début).
Exemple : Algorithme les_eleves/ algorithme leseleves
Algorithme LPGL1/LP1GL
2. La partie déclarative.
C’est ici que l’on déclare les constantes, les variables, les structures de données, les fonctions et
les procédures. Cette parties est facultative car dépendant de la nature du problème et des
besoins de l’utilisateur.
3. Le corps de l’algorithme.
Il est obligatoire et débute par le mot clé « DEBUT » et se termine par le mot clé « FIN ». C’est
dans cette partie que l’on effectue les différentes actions nécessaires pour la résolution du
problème, en utilisant les éléments déclarés éventuellement dans la partie déclarative.
La structure générale d’un algorithme se présente comme suit :
DEBUT
Instruction 1…….
Le corps de l’algorithme
Instruction 2……
FIN
Ce sont les objets sur lesquels l’on porte une action, un traitement. Ils servent à sauvegarder les
données et résultats. Nous avons les constantes, les variables. Ils sont déclarés dans la partie
déclarative de l’algorithme.
L’identificateur ou nom.
Le type.
Et éventuellement sa valeur.
1.1Le nom
C’est le nom que le programmeur donne à l’objet. Les noms doivent respecter un certain
nombre de règle, à savoir :
o Les caractères utilisés peuvent être des lettres de l’alphabet.
o Les chiffres de 0 à 9 et le caractère « souligné » (_).
o Les symboles ne sont pas acceptés (&, $, *…) de même que les opérateurs (+, -, /, <, >
…).
o Les caractères accentués ne sont pas acceptés c’est-à-dire que le premier caractère doit
être obligatoirement différent d’un chiffre.
1.2 Le type.
C’est l’intervalle des différentes valeurs que peut prendre l’objet.
1.3 La valeur.
C’est ce que l’objet à un instant donné, c’est son contenu.
2.2 Déclaration.
La déclaration d’une est précédées du mot clé « const nomconstante=valeur ; ».
Exemple : Const Pi=3 ; 14 ;
G=10
3.2 Déclaration.
La déclaration d’une variable est précédés du mot clé « var nomvariable : type de la variable ; »
Exemple : var x : réel
b,c : entier
……chaine de caractère
Un entier est codé sur 2 octets soit sur 16 bits. L’ensemble des valeurs prise par un entier est D
= [(-216) /2 ; (+216) /2] D = (-32768 ; +32767).
I. LES EXPRESSIONS
Expl : -5 ; 10 +15 ;
1. L’instruction d’affectation
C’est l’opération consiste à attribuer une valeur à un objet donné, l’élément utilisé pour
matérialisé cela est
Syntaxe :
nom_objet valeur ;
Ou
nom_objet expression ;
Ou
nom_objet1 nom_objet2 ;
age 25 ;
note1 14 ;
note2 17 ;
moyenne1 (note1+note2)/2 ;
L’incrémentation est l’opération qui consiste accroît par addition la valeur d’une variable à
partir de son ancienne valeur.
Exple : C C + 1
La décrémentation est l’opération qui consiste à décroitre par soustraction la valeur d’une
variable à partir de son ancienne valeur.
Exple : C C – 1
L’instruction de sortie permet d’afficher des informations à l’écran de l’ordinateur afin que
l’utilisateur puis en prendre connaissance.
Le vocable utilisé est : AFFICHER ou ECRIRE
Exple :
Var a, b : entier ;
a8;
b 25 ;
AFFICHER (a) ;
AFFICHER (a, b)
Exple 1 :
Var a : entier ;
a 18 ;
Exple 2 :
Var a, b, c : entier ;
a 25 ;
b 12 ;
c a*b ;
AFFICHER (¨le produit de¨, a, ¨et de¨, b, ¨vaut ¨, c) ;
L’instruction d’entrée permet de ranger, de mémoriser la valeur que l’on vient de saisir. Le
vocable utiliser est SAISIR ou LIRE.
Var c : Entier ;
Afficher (¨Entrer une valeur¨) ;
SAISIR (c)
EXERCICE 1
Ecrire un algorithme qui permet de calculer la surface d’un cercle.
EXERCICE 2
Ecrire un algorithme qui permet de calculer le périmètre et la surface d’un rectangle.
EXERCIEC 3
Ecrire un algorithme qui permet de calculer la somme de trois nombres entier.
EXERCIEC 4
Ecrire un algorithme qui calcule la différence de deux nombres entiers saisir au clavier.
EXERCIEC 5
Ecrire un algorithme qui lit deux nombres entiers calcul et affiche la somme des deux
nombres, la moyenne de ces deux nombres et le reste de la division du second nombre par le
premier nombre.
I. Branchements conditionnels
Une instruction permet d’exécuter plusieurs actions lorsque la condition situé après le mot clé
SI est satisfaite.
Syntaxe :
SI (condition) alors
Action ;
FINSI
Si la condition est vérifiée alors l’action est vérifiée dans le cas contraire alors l’action est
ignoré.
b. Instruction alternative complète SI….Alors….SINON
Une instruction alternative est sollicitée lorsque nous avons un choix parmi deux.
Syntaxe :
SI (Condition) alors
Action
SINON
Action 2
FINSI
N.B : lorsque l’évaluation de la condition produit de la valeur :
L’action 1 est exécutée
Fausse : l’action 2 est exécutée
EXERCICE 1
Déterminer le plus grand de trois nombres entier saisir à partir du clavier.
EXERCICE 2
Déterminer le plus petit nombre entier saisir à partir du clavier.
EXERCICE 3
Ecrire un algorithme qui permet de calculer y = |a - b|
EXERCICE 4
Écrire un algorithme qui permet de déterminer la parité (paire ou impaire) d’un nombre saisir
au clavier.
EXERCICE 5
J’achète une certaine quantité d’un produit donné la remise est de 8% pour tout achat inférieur
ou égal à 10000 f et de 10% pour tout achat supérieur à 10 000 f.
Ecrire un algorithme permettant de déterminer le prix à payer.
4. La structure suivant………faire
Lorsque l’on veut envisager un choix parmi n possible n > 2.
Il est également possible (à l’instar des imbrications de si….alors….sinon) d’utiliser la
structure suivant…..faire en adoptant deux syntaxe un peu distant.
Syntaxe 1 :
Suivant (nom_variable) faire
Valeur 1 : action 1 ;
Valeur 2 : action 2 ;
……………
Valeur n : action n ;
Finsuivant
Syntaxe 2 :
Suivant (nom_var) faire
Valeur 1 : action 1 ;
Valeur 2 : action 2 ;
……………………………
Valeur n : action n ;
Sinon
Action par defaut ;
Finsuivant
Remarque :
« valeur » doit être un entier, un caractère, une chaîne de caractère ou un booléen.
« valeur » peut être une constante une liste de constante ou un intervalle de même type
que non variable.
Exemple :
Var c : entier ;
Début
Afficher (‘‘Entrer un nombre’’) ;
Saisir (c)
Suivant (c) faire
1 : afficher (‘‘le nombre saisir est petit’’) ;
2,3,4 : Afficher (‘‘le nombre saisir est juste moyen’’) ;
5…..10 : Afficher (‘‘le nombre saisir est moyen’’) ;
Finsuivant
FIN
EXERCICE
Ecrire un algorithme qui permet d’afficher une appréciation selon que l’on ait :
0 – 5 : Nul
5 – 9 : Insuffisant
9 – 13 : Passable
13 – 20 : Bien
Reponse :
Algorithme appreciation
Var a : Entier
Appreciation : chaîne de caractere
Debut
Afficher (‘‘saisir la note’’) ;
Saisir (a)
Suivant (a) faire
0-5 : Afficher (‘‘vous être nul’’) ;
5-9 : Afficher (‘‘insuffisant’’)
9-13 : Afficher (‘‘Passable’’) ;
13-20 : Afficher (‘‘Bien’’)
Finsuivant
FIN
EXERCICE 1
A partir du menu principal afficher à l’écran,
- Effectuer la somme de 3 nombres réel
- Effectuer le produit de 3 nombres réel
- Effectuer la moyenne de 3 nombres réels
L’utilisateur fera le choix de son opération par la saisie d’une valeur entière proposé un
algorithme qui permet à partir du menu principal d’effectuer les opérations ci-dessus.
EXERCICE II
Un magasin d’impression de document fait 25f les 10 premières impressions, 20 f les 30
suivantes et 10 f au-delà.
Ecrire un algorithme qui demande à l’utilisateur le nombre d’impression à effectuer et qui
affiche la facture correspondante.
pour une maison, le maçon pose les briques une à une et il répète cette même action jusqu’à
ce que le mur atteigne la hauteur voulue, c’est pareil en algorithme.
On utilise pour cela des boucles. Les boucles sont au nombre de trois :
Tant que………… faire
Répéter ………….jusqu’à
Pour…………… faire
1. Pour …… faire
Permet d’exécuter une ou plusieurs actions, un certain nombre de fois connu, c’est-à-dire le
nombre de fois que l’on répétera l’action.
SYSTAXE :
Pour compteur valeur initiale à valeur finale [par pas de valeur] faire
Action ;
Finpour
Remarque :
Compteur permet de compter à chaque fois qu’on parcourt l’action, il est généralement est
une action.
Le compteur est initialisé à valeur initiale et à chaque parcourt de l’action, il est incrémenté de
1 automatiquement jusqu’à atteindre valeur finale. Après quoi l’on sort de l’action pour la
poursuite pour le déroulement de l’algorithme.
Algorithme Exemple_entier
Var i : entier ;
Debut
Pour i 10 à 30 faire
Afficher (i)
Finpour
Fin
Solution :
Algorithme exemple_ 2
Var i : entier ;
Debut
Pour i 0 à 100 faire
Afficher (2 * i)
M. KOUADIO FREDERIC 0707955059 Page 13
SUPPORT DE COURS ALGORITHME 1e Année IDA
Finpour
Fin
Résolution
Algorithme premier_nombre
Var i : entier ;
Debut
Pour i 0 à 99 faire
Afficher (i) ;
Finpour
Fin
………………………….....
…………………………….
Algorithme nombre
Var i : entier ;
Debut
i1;
Tant que (i <= 100) faire
Afficher (i)
ii+1
Fintantque
Fin
3. Répéter……. Jusqu’à
Cette instruction permet d’exécuter au moins une fois une action située après le mot répété
jusqu’à ce que la condition située après le mot jusqu’à soit satisfaite.
SYNTAXE :
Répéter
Action ;
Jusqu’à (condition) ;
Explication : tant que la condition est vérifiée (vrai) en fait ici l’on exécute l’action et après
l’on vérifie la condition. Si la condition est fausse alors l’on exécute à nouveau l’action dans le
cas contraire, l’on saute l’action et l’on poursuit l’exécution du programme juste après l’action
et ainsi de suite.
Algorithme multiple
Var i : entier ;
Debut
Repeter i 0 ;
Afficher (3 * i) ;
i i+1
Jusqu’à (i > 9)
Fin
Exercice : ∑90 2
𝑛=0(𝑛 + 1)
Algorithme somme
Var n,som : réel ;
Debut
Som 0 ;
Pour n 0 à 90 faire ;
Som som + (n*n + 1) ;
Finpour
Afficher (‘‘la somme est’’, som) ;
Fin
TRAVAUX DIRIGES
Exercice 1
Ecrire un programme qui demande de saisir un entier N et qui affiche N ! (N factoriel).
Exercice 2
Ecrire un programme qui affiche la différence entre la somme des nombres impairs et la
somme des nombres pairs compris entre 10 et 100.
Exercice 3
Un magasin d’impression de document facture 25 f les 10 premières impressions, 20 f les 30
suivantes et 10 f au-delà.
Écrire un programme qui demande à l’utilisateur le nombre d’impression à effectuer et qui
affiche la facture correspondante.
Exercice 4
La direction des bourses voudrait octroyer des bourses d’étude aux étudiants. Si la moyenne
annuelle est supérieure à 15 alors l’étudiant obtient une bourse d’un pays européen. Par contre
si la moyenne est supérieure à 12 alors l’étudiant obtient une bourse d’un pays africain.
Proposer un algorithme qui permet de déterminer le nombre de bourses octroyé en Afrique et
en Europe. Le nombre de postulants étant saisi au clavier.
Exercice 5
Un commercial est rémunéré avec un salaire fixe de 200 000 F CFA. Il perçoit aussi une
commission qui représente 5% du montant des ventes qu’il a réalisées. Le salaire ainsi obtenu
est augmenté de 10% pour prendre en compte ses frais de déplacements.
1. Ecrire un programme qui calcule son salaire étant donné le montant des ventes
réalisées.
2. Appliquer ce programme à un certain nombre de vendeur
Exercice 6
Une compagnie de transport pratique ses tarifs en fonction de la catégorie du voyageur:
• Voyageur normal : tarif normal
• Abonné de la compagnie: 30% de réduction
• Enfant de moins de 5 ans: gratuit
• Employé de la compagnie: 95% de réduction
• Parent d'un employé: 20% de réduction
• Personne âgée de 80 ans et plus: 20% de réduction.
Ecrire un programme qui permet, connaissant le tarif normal du voyage, de calculer le prix à
payer par un voyageur donné
Exercice 7
Le ROYAL est restaurant spécialisé dans la restauration exotique. Son responsable vous a
confié l’étude du système d’informations concernant la facturation et l’édition de divers
documents statistiques. Par ailleurs, il décide de mettre en place un petit programme afin de
gérer sa clientèle. Ainsi :
- Pour toutes dépenses inférieures à 10 000 f une réduction de 2% est appliquée.
Exercice 8
Réaliser un programme Distributeur Automatique de billets de banque. L'automate (la
machine) contient des billets de 1000 F, 2000 F, 5000 F et de 10 000 F. Etant donnée une
demande de retrait de l'utilisateur, le programme calcule et affiche le nombre de billets de
chaque valeur. Le programme devra minimiser le nombre de billets distribués.
Nombre d’article 1 : 5
Prix unitaire article 1 : 500
Nombre d’article 2 : 3
Prix unitaire article 2 : 1000
Nombre d’article 3 : 1
Prix unitaire article 3 : 850
TOTAL : 6350
Versé : 10 000
Rendu : 3650
Proposer un algorithme permettant de gérer ce supermarché.