Vous êtes sur la page 1sur 7

Institut Supérieur Privé de Technologies (IST) Année : 2020 – 2021

Algorithmique Classe : Tronc commun

Chapitre I : Introduction et notions de base sur


l’algorithmique
Introduction
L’algorithmique est un terme d’origine arabe, hommage à Al Khawarizmi (780-850) auteur
d’un ouvrage décrivant des méthodes de calculs algébriques.

Un algorithme est une méthode de résolution de problème énoncée sous la forme d'une série
d'opérations à effectuer. La mise en œuvre de l'algorithme consiste en l'écriture de ces
opérations dans un langage de programmation et constitue alors la brique de base d'un
programme informatique.

• Une recette de cuisine est un algorithme !


• Le mode d’emploi d’un magnétoscope est aussi un algorithme !
• Indiqué un chemin à un touriste égaré ou faire chercher un objet à quelqu’un par
téléphone c’est fabriquer - et faire exécuter - des algorithmes.
Un algorithme, c’est une suite d’instructions, qui une fois exécutée correctement, conduit à
un résultat donné.
• Si l’algorithme est juste, le résultat est le résultat voulu, et le touriste se retrouve là
où il voulait aller.
• Si l’algorithme est faux, le résultat est, disons, aléatoire, et décidément, ce
magnétoscope ne marche pas !
Pour fonctionner, un algorithme doit donc contenir uniquement des instructions
compréhensibles par celui qui devra l’exécuter (l’ordinateur).

L’ADN, qui est en quelque sorte le programme génétique, l’algorithme à la base de


construction des êtres vivants, est une chaîne construite à partir de quatre éléments
invariables. Ce n’est que le nombre de ces éléments, et l’ordre dans lequel ils sont arrangés,
qui vont déterminer si on obtient une puce ou un éléphant.

Les ordinateurs eux-mêmes ne sont fondamentalement capables d’exécuter que quatre


opérations logiques :
• L’affectation de variables
• La lecture / écriture
Page | 1
Enseignant : ILBOUDO Ibrahim
Contacts : 70 69 18 19 - Mail : ibra_ilboudo@yahoo.fr
Institut Supérieur Privé de Technologies (IST) Année : 2020 – 2021
Algorithmique Classe : Tronc commun

• Les tests
• Les boucles
Un algorithme informatique se ramène donc toujours au bout du compte à la combinaison
de ces quatre petites briques de base. Il peut y en avoir quelques-unes, quelques dizaines, et
jusqu’à plusieurs centaines de milliers dans certains programmes.

La taille d’un algorithme ne conditionne pas en soi sa complexité : de longs algorithmes


peuvent être finalement assez simples, et de petits algorithmes peuvent être très compliqués.

L’informatique est la science du traitement automatique de l’information. Pour cela il faut :


• Modéliser cette information,
• Définir à l’aide d’un formalisme strict les traitements dont elle fera l’objet.
• Et enfin traduire ces traitements dans un langage compréhensible par un ordinateur.
Les deux premiers points concernent l’algorithmique, alors que le dernier point relève de ce
que l’on nomme la programmation.

L’écriture d’un programme consiste généralement à implanter une méthode de résolution


déjà connue et souvent conçue indépendamment d’une machine pour fonctionner aussi bien
sur toutes les machines ou presque. Ainsi, ce n’est pas le programme mais la méthode qu’il
faut étudier pour comprendre comment traiter le problème. Le terme algorithme est employé
en informatique pour décrire une méthode de résolution de problème programmable sur
machine. Les algorithmes sont la « matière » de l’informatique et sont l’un des centres
d’intérêt de la plupart, sinon la totalité, des domaines de cette science.

I. Définition, objectif, notation utilisée en algorithmie


1. Définition
Définition 1
Un algorithme est une procédure de calcul bien définie qui prend en entrée un ensemble de
valeurs et qui délivre en sortie un ensemble de valeurs.
Définition 2
Un algorithme est une séquence bien définie d’opérations (calcul, manipulation de
données, etc.) permettant d’accomplir une tache en un nombre fini de pas.

Page | 2
Enseignant : ILBOUDO Ibrahim
Contacts : 70 69 18 19 - Mail : ibra_ilboudo@yahoo.fr
Institut Supérieur Privé de Technologies (IST) Année : 2020 – 2021
Algorithmique Classe : Tronc commun

2. Notation utilisée en algorithmie


Il existe des conventions de représentation des algorithmes. Dans le passé, il y a eu des
notamment une représentation graphique avec des carrés et des losanges qu’on appelait
organigramme. Aujourd’hui, elle est abandonnée pour deux raisons : dès que le programme
grossit l’organigramme n’est plus pratique. Aussi, cette façon de représenter favorise la
programmation non structurée (utilisation des branchements, goto)

Aujourd’hui, on utilise des séries de convention appelées pseudo code.

II. Les différentes phases de création d’un programme

La conception d’un algorithme passe par plusieurs étapes :


Analyse : définition du problème en terme de séquences d’opérations de calcul de stockage
de données, etc. ;
Conception : définition précise des données, des traitements et de leur séquencement ;
Implantation : traduction et réalisation de l’algorithme dans un langage précis ;
Test : Vérification du bon fonctionnement de l’algorithme.

Enoncé d’un problème : Calcul de l'intérêt et de la valeur acquise par une somme
placée pendant un an à intérêt simple.

Quatre étapes peuvent caractériser la résolution d’un problème :


(1) comprendre la nature du problème posé ;
(2) déterminer les données fournies ("entrées" ou "input" en anglais) ;
(3) déterminer les résultats que l'on désire obtenir ("sorties" ou "output" en anglais) ;
(4) déterminer le processus de transformation des données en résultats ;

Page | 3
Enseignant : ILBOUDO Ibrahim
Contacts : 70 69 18 19 - Mail : ibra_ilboudo@yahoo.fr
Institut Supérieur Privé de Technologies (IST) Année : 2020 – 2021
Algorithmique Classe : Tronc commun

Application au problème ci-dessus :


(1) lecture compréhension du problème ;
(2) les données en entrée :
- le taux dintérêt ;
- la somme initialement placée ;
(3) les données en sortie :
- l'intérêt de la somme placée ;
- est la valeur acquise ;
(4) le processus de transformation des données en résultats :
- multiplier la somme par le taux --> taux dintérêt ;
- additionner ce montant et la somme initiale --> valeur acquise ;

Formaliser l’algorithme en langage français


(1) prendre connaissance de la somme initiale et du taux d'intérêt (lecture des données en
entrées);
(2) multiplier la somme par le taux;
(3) diviser ce produit par 100 --> le quotient obtenu est l'intérêt de la somme ;
(4) additionner ce montant et la somme initiale --> cette somme est la valeur acquise ;
(5) afficher les valeurs de l'intérêt et de la valeur acquise.

Passage au langage de description : pseudo code


Choisir un nom significatif pour votre algorithme : calculInteretEtValeurAcquise
Déterminer si ya des paramètres ou non
Déterminer le type de retour de l’algorithme
Ecrire les différentes parties de l’algorithme

Partie prologue : nom retenu pour l’algorithme + paramètre + type de retour

Page | 4
Enseignant : ILBOUDO Ibrahim
Contacts : 70 69 18 19 - Mail : ibra_ilboudo@yahoo.fr
Institut Supérieur Privé de Technologies (IST) Année : 2020 – 2021
Algorithmique Classe : Tronc commun

Partie déclaration variables : déclarer des variables correspondant aux données en entrées
et aux données en sorties + éventuellement d’autres à fin personnelle, choisir les types
adéquats pour les variables ;

Partie corps de l’algorithme : écrire les instructions pour aboutir aux résultats attendus en
se référant au formalisme en langage français.
Application à l’exemple :
{Cet algorithme permet Calcul de l'intérêt et de la valeur acquise par une somme placée
pendant un an à intérêt simple}
Algorithme calculInteretEtValeurAcquise()
Variables
tauxInteret : reel ;
sommeInitiale : entier ;
interetDeLaSomme : reel ;
valeurAcquise : reel ;
Debut
{ Invitation puis lecture de la somme initiale }
Ecrire (" Saisir la somme initiale (en francs) : ") ;
Lire (sommeInitiale) ;
{ Invitation puis lecture du taux d'intérêt }
Ecrire (" Saisir le taux d'intérêt (exemple : 2,5 pour 2,5%) : ") ;
Lire (tauxInteret) ;
{ Calcul de lintérêt de la somme intiale }
interetDeLaSomme <- - (interetDeLaSomme x tauxInteret) / 100 ;
{ Calcul de la valeur acquise }
valeurAcquise <-- interetDeLaSomme + sommeInitiale ;
{ Affichage de linterêt calculé en une année }
écrire (" L'intérêt en un an est de " , interetDeLaSomme , " francs ") ;
{ Affichage de la somme obtenue en une année}
Ecrire (" La somme après un an sera de ", valeurAcquise , " francs ") ;
{Fin de l’algorithme}
Fin
Page | 5
Enseignant : ILBOUDO Ibrahim
Contacts : 70 69 18 19 - Mail : ibra_ilboudo@yahoo.fr
Institut Supérieur Privé de Technologies (IST) Année : 2020 – 2021
Algorithmique Classe : Tronc commun

La méthode descendante (top down) : c’est une technique d'élaboration d'algorithme.


Elle consiste à :
- considérer un problème dans son ensemble ;
- préciser les données fournies ;
- les résultats à obtenir
- à décomposer le problème en plusieurs sous-problèmes plus simples
- à traités séparément et éventuellement décomposés eux-mêmes de manière plus fine ;
Exemple : imaginons un robot domestique à qui nous devons fournir un algorithme lui
permettant de préparer une tasse de café soluble. Une première version de l'algorithme
pourrait être:
(1) faire bouillir de l'eau
(2) mettre le café dans la tasse
(3) ajouter l'eau dans la tasse
Les étapes de cet algorithme ne sont probablement pas assez détaillées pour que le robot
puisse les interpréter. Chaque étape doit donc être affinée en une suite d'étapes plus
élémentaires, chacune étant spécifiée d'une manière plus détaillée que dans la première
version. Ainsi l'étape
(1) faire bouillir l'eau peut être affinée en
(1.1) remplir la bouilloire d'eau
(1.2) brancher la bouilloire sur le secteur
(1.3) attendre l'ébullition
(1.4) débrancher la bouilloire
De même,
(2) mettre le café dans la tasse pourrait être affiné en
(2.1) ouvrir le pot à café
(2.2) prendre une cuiller à café
(2.3) plonger la cuiller dans le pot
(2.4) verser le contenu de la cuiller dans la tasse
(2.5) fermer le pot à café
(3) ajouter de l'eau dans la tasse pourrait être affinée en
(3.1) verser de l'eau dans la tasse jusqu'à ce que celle-ci soit pleine
Page | 6
Enseignant : ILBOUDO Ibrahim
Contacts : 70 69 18 19 - Mail : ibra_ilboudo@yahoo.fr
Institut Supérieur Privé de Technologies (IST) Année : 2020 – 2021
Algorithmique Classe : Tronc commun

Certaines étapes étant encore trop complexes et sans doute incompréhensibles pour notre
robot, il faut les affiner davantage. Ainsi l'étape
(1.1) remplir la bouilloire d'eau peut nécessiter les affinements suivants :
(1.1.1) mettre la bouilloire sous le robinet
(1.1.2) ouvrir le robinet
(1.1.3) attendre que la bouilloire soit pleine
(1.1.4) fermer le robinet

Page | 7
Enseignant : ILBOUDO Ibrahim
Contacts : 70 69 18 19 - Mail : ibra_ilboudo@yahoo.fr

Vous aimerez peut-être aussi