INTRODUCTION A
L’ALGORITHMIQUE
Séance 1
Année universitaire 2020/2021 – Semestre 1
1
Éléments de contenu
Démarche de programmation
Analyse du problème
Exemple de problème : division de deux nombres
Généralisation des étapes de résolution
2
I. Démarche de programmation
La démarche de programmation se déroule en deux phases :
1- on cherche par quel moyen, on pourra obtenir les
résultats cherchés à partir des données dont on dispose.
C’est l’étape d’analyse du problème qui aboutit à un
procédé de résolution appelé algorithme.
2- on traduit dans le langage de programmation choisi, le
résultat de la phase précédente. Si l’analyse a été
convenablement menée, cette opération se résume à une
simple transcription systématique
3
I. Démarche de programmation
Problème : Toute situation dont la résolution peut être confiée à
un ordinateur.
Enonciation du problème + Acquisition des données : La
première chose à faire quand on aborde la solution d'un
Advertisement
nouveau problème, c'est de le cerner et de le préciser
complètement.
Analyse :On ne peut confier un message codé à l'ordinateur
la démarche intellectuelle
sans avoir au préalable accompli
décisive : déterminer le contenu précis du message.
'' Il faut réfléchir avant de programmer, après c'est trop tard. ''
Henry Ledgard, Les proverbes de la programmation.
4
I. Démarche de programmation
Algorithme : Mode d'expression de l'analyse, en un nombre fini
d'étapes, indépendant du langage de programmation utilisé par la
suite.
Programmation : Codification ou traduction dans un langage
compréhensible par la machine.
Algorithmique : Analyse + Algorithme
Programmatique : Analyse + Algorithme + Programmation
5
II. Analyse du problème
L’analyse est elle-même constituée de trois étapes qui
conduisent à l’algorithme :
Identification des données du problème et des
résultats recherchés
Définition du type et du domaine de variation des
données et des résultats
Définition de la méthode ou de l’ensemble des actions
permettant de transformer les données en résultats.
Advertisement
6
II. Analyse du problème
Cette étape d’analyse présente trois grands avantages :
Faciliter le processus de programmation en le divisant
en deux étapes successives,
Libérer le programmeur des contraintes liées au
langages de programmation ou à la machine sur
laquelle sera exécuté le programme,
Disposer d’un code intermédiaire qui peut être
facilement traduit dans n’importe quel langage.
7
III. Exemple de problème :
division de deux nombres
Exemple de problème : division de deux nombres
Enoncé du problème : Diviser deux nombres
Questions :
• Quel genre de division ? exemple euclidienne
• Quel est le type des deux nombres ? exemple entiers strictement
positifs
• Quel est le résultat demandé ? exemple quotient, reste
8
III. Exemple de problème :
division de deux nombres
1
2
Diviser 2 nombres
Résultats 4,2
Advertisement
Résultat
•quotient
•reste
Données
nombres entiers
strict positifs
Programme
4
Division euclidienne
de 2 nombres > 0
Algorithme
Liste des étapes
constituant la
division euclidienne
Valeurs des
données
ex 14, 3
3
9
III. Exemple de problème :
division de deux nombres
1.
2.
3.
4.
Positionnement du problème : Connaissant la dividende x,
le diviseur y, calculer le quotient entier q, puis le reste N
Advertisement
définis par la relation mathématique x = yq+r avec 0 < r < y
Analyse du problème :
1.
2.
3.
Etape 1 : Ordre de lecture du dividende x et du diviseur y.
Etape 2 : Calcul du quotient entier q, calcul du reste par la
formule r = x – yq
Etape 3 : Edition des résultats
Algorithme : description systématique des étapes de
l'analyse, sous forme d'une suite d 'actions convenablement
enchaînées
Codification : traduire les actions (ou ensemble des étapes)
dans un langage compréhensible par la machine.
10
IV. Généralisation des étapes de
résolution
11
Enoncé du problème +DonnéesAnalyseAlgorithmeProgrammeExécution duprogramme par une machineRésultatsalgorithmiqueprogrammationProgrammatiqueIV. Généralisation des étapes de
résolution
12
Problème sans formulation préciseQue cherche-t-onQue connaît-onEnoncé précis du problèmeAnalyseAlgorithmeProgrammeRésultats1234Quelles sont les valeurs données