Introduction à l’Algorithmique

Computer Science · lab

Voir tous les documents en programmation

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

Publicité

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.

Publicité

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

Publicité

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

Publicité

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