SlideShare une entreprise Scribd logo
1  sur  21
Algorithmes
Formateur Ameth THIAM
Tel: 77 326 72 64
E-mail: ameth.thiam@unchk.edu.sn
1
Sommaire
01 - Les Notions de base en algorithmique
02 – Démarche à suivre pour écrire un bon algorithme
03 – Propriétés d’un bon algorithme
04 - Étapes d’un algorithme
05 - Particularités d’un bon algorithme
06 - Quelquesrèglespourconcevoirunalgorithme
07 - Place de l’algorithme dans la résolution d’un problème informatique
08 - La gestion des erreurs
2
Un algorithme
C’est une liste d’étapes que vous devez suivre pour effectuer une tâche.
Exemple de tâches:
1 Faire une omelette: Prendre une poêle, poser la poêle sur le feu, allumer le
feu, verser l’huile, casser un œuf, verser l’œuf, casser un autre œuf, verser l’œuf,
mettre du sel, mettre du poivre,….
3
Un algorithme
2 Se brosser les dents: Prendre la brosse, mouiller la brosse, prendre le tube,
ouvrir le tube, déposer le dentifrice sur la brosse, fermer le tube, flotter les
dents…
4
Origine du mot d’algorithme
Algorithme : mot dérivé du nom du mathématicien al_Khwarizmi qui a vécu
au 9ème siècle, était membre d’un académie des sciences à Bagdad . Un
algorithme prend des données en entrée, exprime un traitement particulier et
fournit des données en sortie.
5
Démarche à suivre
6
Un algorithmique a pour vocation de permettre a résoudre un problème en
suivant la démarche suivants.
Quand on a un problème informatique à résoudre il faut:
1. Découper le problème initial (souvent complexe) en plusieurs morceaux de
petits problèmes simples.
2. Chercher la solution de tous les petits problèmes
3. Faire la somme des solutions des petits problèmes pour avoir la solution du
problème initial.
Caractéristique d’algorithmique
Savoir expliquer comment faire un travail sans la moindre ambiguïté. langage
simple : des instructions (pas élémentaires). suite finie d'actions à entreprendre
en respectant une chronologie imposée. L’écriture algorithmique : un travail de
programmation à visée universelle. un algorithme ne dépend pas du langage dans
lequel il est implanté, ni de la machine qui exécutera le programme
correspondant.
7
Propriétés d’un bon algorithme
• Complexité
En combien de temps un algorithme va -t-il atteindre le résultat escompté? De quel
espace a-t-il besoin?
• Calculabilité:
Existe-t-il des tâches pour lesquelles il n'existe aucun algorithme ? Etant donnée une
tâche, peut-on dire s'il existe un algorithme qui la résolve ?
• Correction
Peut-on être sûr qu'un algorithme réponde au problème pour lequel il a été conçu ?
8
Étapes d’un algorithme
• Préparation du traitement
données nécessaires à la résolution du problème
• Traitement
résolution pas à pas,
après décomposition en sous-problèmes si nécessaire
• Edition des résultats
impression à l’écran, dans un fichier, etc
9
Exemple d’un algorithme ?
10
Particularités d’un bon algorithme
• Un algorithme doit être:
PRECIS:
Il doit indiquer:
- l'ordre des étapes qui le constituent
- à quel moment il faut cesser une action
- à quel moment il faut en commencer une autre
- comment choisir entre différentes possibilités
11
Particularités d’un bon algorithme
• Un algorithme doit être:
DETERMINISTE
- Une suite d'exécutions à partir des mêmes données doit produire des
résultats identiques.
FINI DANS LE TEMPS
- c'est-à-dire s'arrêter au bout d'un temps fini.
12
Quelquesrèglespourconcevoirunalgorithme
1) Entrée: L'énoncé d'un algorithme doit comprendre une définition des
données auxquelles il s'applique. Normalement, un algorithme possède une ou
plusieurs données d'entrée (input data), c’est à-dire des valeurs qui sont
connues avant son exécution et sur lesquelles l'algorithme est appliqué. Comme
un algorithme doit tenir compte des propriétés des données d'entrée.
l'ensemble de ces données doit être spécifié de façon exacte. Evidemment cet
ensemble peut être l'ensemble vide.
13
Quelquesrèglespourconcevoirunalgorithme
2) Sortie : Un algorithme possède une ou plusieurs données de sortie (output
data), c'est-à-dire des valeurs produites par lui-même. Ces données sont en
relation exactement spécifiée avec les données d'entrée.
3) Terminaison
Un algorithme doit se terminer après un nombre fini de pas.
14
Quelquesrèglespourconcevoirunalgorithme
4) Clarté
Le concepteur d'un algorithme doit vérifier attentivement que l'algorithme est fixé
dans tous ses détails, c'est-à-dire que l'algorithme décrit précisément la procédure
qu'il doit suivre, que tous les cas ont été prévus et, en particulier, que l'ordre dans
lequel les règles devront être appliquées n'est pas ambigu. Chaque opération doit
donc être définie d'une manière précise et claire. Cette tâche est connue sous le
nom d'affinement progressif de l'algorithme ou conception descendante
15
Quelquesrèglespourconcevoirunalgorithme
5) Efficacité
Pour des raisons pratiques, un algorithme doit pouvoir être exécuté de manière
efficace. On dit qu'un algorithme doit être efficace ce qui signifie que: chaque
opération doit être suffisamment simple, afin qu'elle soit exécutable en un temps
fini, le nombre d'opérations doit être fini et limité de façon à ce que la machine
soit capable de terminer leur exécution dans un temps raisonnable
16
Place de l’algorithme dans la résolution d’un
problème informatique
Un algorithme doit être exprimé dans un langage de programmation pour être
compris et exécuté par un ordinateur. Le programme constitue le codage d'un
algorithme dans un langage de programmation donné, et qui peut être traité par
une machine. L'écriture d'un programme n'est qu'une étape dans le processus de
programmation, comme le montre le schéma suivant :
17
Place d’un algorithmique
18
Place de l’algorithme dans la résolution d’un
problème informatique
L'analyse du problème consiste à définir les différentes étapes de sa résolution. Elle
permet de définir le contenu d'un programme en terme de données et d'actions. Le
problème initial est décomposé en sous problèmes plus simples à résoudre auxquels
on associe une spécification formelle ayant des conditions d'entrées et le(s)
résultat(s) que l'on souhaiterait obtenir. L'ensemble de ces spécifications représente
l'algorithme.
19
Place de l’algorithme dans la résolution d’un
problème informatique
La phase (Codage) suivante consiste à traduire l'algorithme dans un langage de
programmation donné tout en respectant strictement la syntaxe du langage.
20
La gestion des erreurs
Lors de l'étape d'exécution, soit des erreurs syntaxiques sont signalées, ce qui
entraîne des corrections en général simples à effectuer, soit des erreurs sémantiques
plus difficiles à déceler. Dans le cas d'erreurs syntaxiques les retours vers le
programme peuvent être fréquents. Dans le cas d'erreurs sémantiques, le
programme produit des résultats qui ne correspondent pas à ceux escomptés : les
retours vers l'analyse (l'algorithme) sont alors inévitables.
21

Contenu connexe

Similaire à initialisation sur algorithme chapitre 1

Chapitre 1 Introduction à l'algorithmique.pdf
Chapitre 1 Introduction à l'algorithmique.pdfChapitre 1 Introduction à l'algorithmique.pdf
Chapitre 1 Introduction à l'algorithmique.pdfMohamed Anis Mejri
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
Implémentation de l’algorithme du Simplexe En Java
Implémentation de l’algorithme du Simplexe En JavaImplémentation de l’algorithme du Simplexe En Java
Implémentation de l’algorithme du Simplexe En JavaRached Krim
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxSalmaAhraimida
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxDanielATCHADE
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...FootballLovers9
 
M102-Algorithmique.pdf
M102-Algorithmique.pdfM102-Algorithmique.pdf
M102-Algorithmique.pdfBadrNAIM1
 

Similaire à initialisation sur algorithme chapitre 1 (20)

Chapitre 1 Introduction à l'algorithmique.pdf
Chapitre 1 Introduction à l'algorithmique.pdfChapitre 1 Introduction à l'algorithmique.pdf
Chapitre 1 Introduction à l'algorithmique.pdf
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
Systèmes Automatisés
Systèmes AutomatisésSystèmes Automatisés
Systèmes Automatisés
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
Implémentation de l’algorithme du Simplexe En Java
Implémentation de l’algorithme du Simplexe En JavaImplémentation de l’algorithme du Simplexe En Java
Implémentation de l’algorithme du Simplexe En Java
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptx
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptx
 
Td pascal tdD
Td pascal tdDTd pascal tdD
Td pascal tdD
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
seance1.pdf
seance1.pdfseance1.pdf
seance1.pdf
 
Algorithme
AlgorithmeAlgorithme
Algorithme
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
 
M102-Algorithmique.pdf
M102-Algorithmique.pdfM102-Algorithmique.pdf
M102-Algorithmique.pdf
 

Dernier

ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxbahija babzine
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 

Dernier (6)

ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
Recurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptxRecurrent neural network_PresentationRNN.pptx
Recurrent neural network_PresentationRNN.pptx
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 

initialisation sur algorithme chapitre 1

  • 1. Algorithmes Formateur Ameth THIAM Tel: 77 326 72 64 E-mail: ameth.thiam@unchk.edu.sn 1
  • 2. Sommaire 01 - Les Notions de base en algorithmique 02 – Démarche à suivre pour écrire un bon algorithme 03 – Propriétés d’un bon algorithme 04 - Étapes d’un algorithme 05 - Particularités d’un bon algorithme 06 - Quelquesrèglespourconcevoirunalgorithme 07 - Place de l’algorithme dans la résolution d’un problème informatique 08 - La gestion des erreurs 2
  • 3. Un algorithme C’est une liste d’étapes que vous devez suivre pour effectuer une tâche. Exemple de tâches: 1 Faire une omelette: Prendre une poêle, poser la poêle sur le feu, allumer le feu, verser l’huile, casser un œuf, verser l’œuf, casser un autre œuf, verser l’œuf, mettre du sel, mettre du poivre,…. 3
  • 4. Un algorithme 2 Se brosser les dents: Prendre la brosse, mouiller la brosse, prendre le tube, ouvrir le tube, déposer le dentifrice sur la brosse, fermer le tube, flotter les dents… 4
  • 5. Origine du mot d’algorithme Algorithme : mot dérivé du nom du mathématicien al_Khwarizmi qui a vécu au 9ème siècle, était membre d’un académie des sciences à Bagdad . Un algorithme prend des données en entrée, exprime un traitement particulier et fournit des données en sortie. 5
  • 6. Démarche à suivre 6 Un algorithmique a pour vocation de permettre a résoudre un problème en suivant la démarche suivants. Quand on a un problème informatique à résoudre il faut: 1. Découper le problème initial (souvent complexe) en plusieurs morceaux de petits problèmes simples. 2. Chercher la solution de tous les petits problèmes 3. Faire la somme des solutions des petits problèmes pour avoir la solution du problème initial.
  • 7. Caractéristique d’algorithmique Savoir expliquer comment faire un travail sans la moindre ambiguïté. langage simple : des instructions (pas élémentaires). suite finie d'actions à entreprendre en respectant une chronologie imposée. L’écriture algorithmique : un travail de programmation à visée universelle. un algorithme ne dépend pas du langage dans lequel il est implanté, ni de la machine qui exécutera le programme correspondant. 7
  • 8. Propriétés d’un bon algorithme • Complexité En combien de temps un algorithme va -t-il atteindre le résultat escompté? De quel espace a-t-il besoin? • Calculabilité: Existe-t-il des tâches pour lesquelles il n'existe aucun algorithme ? Etant donnée une tâche, peut-on dire s'il existe un algorithme qui la résolve ? • Correction Peut-on être sûr qu'un algorithme réponde au problème pour lequel il a été conçu ? 8
  • 9. Étapes d’un algorithme • Préparation du traitement données nécessaires à la résolution du problème • Traitement résolution pas à pas, après décomposition en sous-problèmes si nécessaire • Edition des résultats impression à l’écran, dans un fichier, etc 9
  • 11. Particularités d’un bon algorithme • Un algorithme doit être: PRECIS: Il doit indiquer: - l'ordre des étapes qui le constituent - à quel moment il faut cesser une action - à quel moment il faut en commencer une autre - comment choisir entre différentes possibilités 11
  • 12. Particularités d’un bon algorithme • Un algorithme doit être: DETERMINISTE - Une suite d'exécutions à partir des mêmes données doit produire des résultats identiques. FINI DANS LE TEMPS - c'est-à-dire s'arrêter au bout d'un temps fini. 12
  • 13. Quelquesrèglespourconcevoirunalgorithme 1) Entrée: L'énoncé d'un algorithme doit comprendre une définition des données auxquelles il s'applique. Normalement, un algorithme possède une ou plusieurs données d'entrée (input data), c’est à-dire des valeurs qui sont connues avant son exécution et sur lesquelles l'algorithme est appliqué. Comme un algorithme doit tenir compte des propriétés des données d'entrée. l'ensemble de ces données doit être spécifié de façon exacte. Evidemment cet ensemble peut être l'ensemble vide. 13
  • 14. Quelquesrèglespourconcevoirunalgorithme 2) Sortie : Un algorithme possède une ou plusieurs données de sortie (output data), c'est-à-dire des valeurs produites par lui-même. Ces données sont en relation exactement spécifiée avec les données d'entrée. 3) Terminaison Un algorithme doit se terminer après un nombre fini de pas. 14
  • 15. Quelquesrèglespourconcevoirunalgorithme 4) Clarté Le concepteur d'un algorithme doit vérifier attentivement que l'algorithme est fixé dans tous ses détails, c'est-à-dire que l'algorithme décrit précisément la procédure qu'il doit suivre, que tous les cas ont été prévus et, en particulier, que l'ordre dans lequel les règles devront être appliquées n'est pas ambigu. Chaque opération doit donc être définie d'une manière précise et claire. Cette tâche est connue sous le nom d'affinement progressif de l'algorithme ou conception descendante 15
  • 16. Quelquesrèglespourconcevoirunalgorithme 5) Efficacité Pour des raisons pratiques, un algorithme doit pouvoir être exécuté de manière efficace. On dit qu'un algorithme doit être efficace ce qui signifie que: chaque opération doit être suffisamment simple, afin qu'elle soit exécutable en un temps fini, le nombre d'opérations doit être fini et limité de façon à ce que la machine soit capable de terminer leur exécution dans un temps raisonnable 16
  • 17. Place de l’algorithme dans la résolution d’un problème informatique Un algorithme doit être exprimé dans un langage de programmation pour être compris et exécuté par un ordinateur. Le programme constitue le codage d'un algorithme dans un langage de programmation donné, et qui peut être traité par une machine. L'écriture d'un programme n'est qu'une étape dans le processus de programmation, comme le montre le schéma suivant : 17
  • 19. Place de l’algorithme dans la résolution d’un problème informatique L'analyse du problème consiste à définir les différentes étapes de sa résolution. Elle permet de définir le contenu d'un programme en terme de données et d'actions. Le problème initial est décomposé en sous problèmes plus simples à résoudre auxquels on associe une spécification formelle ayant des conditions d'entrées et le(s) résultat(s) que l'on souhaiterait obtenir. L'ensemble de ces spécifications représente l'algorithme. 19
  • 20. Place de l’algorithme dans la résolution d’un problème informatique La phase (Codage) suivante consiste à traduire l'algorithme dans un langage de programmation donné tout en respectant strictement la syntaxe du langage. 20
  • 21. La gestion des erreurs Lors de l'étape d'exécution, soit des erreurs syntaxiques sont signalées, ce qui entraîne des corrections en général simples à effectuer, soit des erreurs sémantiques plus difficiles à déceler. Dans le cas d'erreurs syntaxiques les retours vers le programme peuvent être fréquents. Dans le cas d'erreurs sémantiques, le programme produit des résultats qui ne correspondent pas à ceux escomptés : les retours vers l'analyse (l'algorithme) sont alors inévitables. 21