0% ont trouvé ce document utile (0 vote)
143 vues29 pages

Chap1 - Intro - Algorithmique - DR BOULOU KDG

Algorithme

Transféré par

othnielbamah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
143 vues29 pages

Chap1 - Intro - Algorithmique - DR BOULOU KDG

Algorithme

Transféré par

othnielbamah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 1

Introduction à l’algorithmique

Dr BOULOU
Objectifs pédagogiques du chapitre
Objectif général

A la fin du chapitre, l’étudiant est capable :


- d’expliquer ce qu’est un algorithme
- de dérouler la démarche de réalisation d’un
algorithme

2
Objectifs pédagogiques du chapitre
Objectifs spécifiques

A la fin du chapitre, l’étudiant est capable :


• de définir les concepts d’algorithme et
d’algorithmique
• de dérouler le processus d’écriture d’un algorithme
• d’expliquer ce qu’est un programme
• d’expliquer le processus de réalisation d’un
programme (cycle de développement du logiciel)
3
Contenu

• Notions d’algorithme et d’algorithmique


• Notions de données dans l’énoncé d’un problème
• Processus de description d’un algorithme
• Notion de programme
• Processus de réalisation/développement d’un
programme

4
Partie 1 - De l’algorithme au programme

5
Introduction à l’algorithmique

• Algorithmique : domaine de l’informatique


consacré à l’étude des algorithmes

•Un algorithme : description sans ambiguïté du


cheminement (succession de traitements)
conduisant à la résolution d’un problème donné

6
Introduction à l’algorithmique
Exemple d’algorithme
• Une recette de cuisine (Les différents détails
pour préparer un plat de spaguetti)

• Un cheminement mathématique pour résoudre


équation( la résolution d’une équation de
seconde degré)

• Expliquer à un étranger comment retrouver


l’Université Norbert ZONGO
Introduction à l’algorithmique
Les acteurs de mise en place
d’un algorithme
• Pour la mise en place d’un algorithme, il faut un premier
acteur qui va poser un problème spécifique exprimant un
besoin de résolution, il est couramment appelé
utilisateur de l’algorithme.

• Un deuxième acteur conçoit une solution appropriée au


problème donné, il est généralement appélé le
concepteur de l’algorithme,.
Introduction à l’algorithmique
Les acteurs de mise en place
d’un algorithme
Utilisateur :
▪ L'utilisateur est celui qui utilise l'algorithme pour
accomplir une tâche spécifique.
▪ Son rôle principal est de comprendre comment utiliser
l'algorithme pour obtenir les résultats souhaités sans
nécessairement comprendre les détails de son
fonctionnement interne.
▪ L'utilisateur peut être un individu ou un système
informatique interagissant avec l'algorithme pour effectuer
des opérations.
Introduction à l’algorithmique
Les acteurs de mise en place d’un
algorithme
Concepteur :
▪ Le concepteur est celui qui crée l'algorithme, en concevant
sa logique et en le mettant en œuvre.
▪ Son rôle principal est de comprendre en profondeur le
problème à résoudre, de concevoir une solution
algorithmique efficace et de l'implémenter dans un
langage de programmation donné.
▪ Le concepteur doit avoir une expertise en algorithmique,
en programmation et en résolution de problèmes pour
créer des algorithmes efficaces et optimisés.
Introduction à l’algorithmique
• Poser un problème à résoudre suppose l’expression,
l’énoncé, la formulation de ce problème
• A partir de l’énoncé du problème on peut repérer :
➢les données en entrée : ce sont généralement des
valeurs connues au départ
➢les données en sortie/résultat : ce sont des valeurs
calculées obtenues à la fin de la résolution du problème
➢les données intermédiaires/temporaires : elles sont à
mi-chemin entre les deux précédentes catégories de
valeurs car produites par des traitements intermédiaires
11
Introduction à l’algorithmique
Algorithme
Données en entrée

Données en sortie
Succession
d‘étapes de
traitement pouvant
produire et utiliser
des données
intermédiaires

NB : le nombre de données varie selon le problème à résoudre

12
Introduction à l’algorithmique
• Donnée en entrée = valeur fournie par l’utilisateur à
l’algorithme qui le stocke dans une variable en entrée
(input), ou bien une variable supposée déjà initialisée

Entrées Sorties
(à l’extérieur (à l’extérieur
de l’algo) de l’algo)

•Donnée en sortie/résultat = valeur calculée par


l’algorithme et rangée dans une variable en sortie/résultat
(output) attendue comme un résultat pour l’utilisateur
13
Introduction à l’algorithmique
• Enoncé du problème (cahier des charges) parfois
incomplet ⇒ nécessité de préciser (compléments
d’informations pour lever les ambiguïtés) le problème
avant de concevoir la solution
• Le problème posé par un client dans ses termes à lui
doit être traduit dans les termes des informaticiens :
c’est la phase de spécification du problème conduisant
à la phase de spécification de l’algorithme où l’on
dit ce que fait l’algorithme sans détailler
comment il le fait
14
Introduction à l’algorithmique
Énoncé d’un problème (cahier des charges)
Précisions apportées à l’énoncé du problème
Spécification de l’algorithme
Repérage des données en entrée
Repérage des données en sortie
Repérage des données en entrée/sortie

Repérage des données intermédiaires


Description de la méthode

15
Introduction à l’algorithmique

• Écriture/rédaction de l’algorithme : usage d’un


langage de description très proche de celui que
nous avons l’habitude d’employer (français +
expressions mathématiques, graphiques)

• Indépendance d’un algorithme de tout langage


de programmation

16
Introduction à l’algorithmique
• Pour résoudre un problème, généralement
plusieurs algorithmes peuvent être proposés
• Le meilleur algorithme est celui qui utilise au
mieux les ressources (temps de calcul, nombre de
lignes décrivant l’algorithme, taille des objets
requis, efforts de compréhension à faire, etc.)
• Il existe des problèmes pour lesquels on ne
connaît pas d’algorithme

17
Introduction à l’algorithmique

Partie 2 : Du programme aux résultats de l’exécution

18
Introduction à l’algorithmique
• PROGRAMME = Résultat de la traduction d’un
algorithme dans un langage de programmation
que comprend un ordinateur
• De nombreux langages de programmation
existent (langages de bas niveau et langages haut
niveau ou évolués, langages de programmation
impérative/procédurale, langages de programmation
fonctionnelle, langages de programmation objet,
langages de programmation événementielle, etc.)

19
Compilation & interprétation
❑ Les programmes écrits par les programmeurs sont
appelés PROGRAMMES SOURCES car rédigés dans des
langages de programmation

❑ L’apprentissage de l’écriture de ces programmes à


travers le cours de « programmation »

20
Interprétation & Compilation

Les programmes sont :


❑ soit directement fournis à des INTERPRETEURS : on
est dans le processus d’INTERPRETATION

❑ soit traduits en PROGRAMMES EXECUTABLES qui


seront exécutés par les ordinateurs, après une succession de
traitements ; on est dans le processus de COMPILATION

21
Phases du développement de programmes
Édition de texte

Débogage

Chargement et exécution

Édition de liens
22
Édition de texte
❑ Éditeur de texte = programme de
[Link] saisie de texte par l’utilisateur sans mise
en forme. Ce texte va correspondre à un
programme écrit dans un langage de
[Link] programmation (respect de la syntaxe
d’écriture du programme et des
instructions)
[Link]
❑ Un fichier source résulte de cette
opération et porte un nom dont
tata.c l’extension rappelle le langage de
programmation employé
23
Compilation
❑ Compilateur = programme lisant un
programme écrit dans un 1er langage –
langage source – et le traduisant en un
[Link] programme équivalent écrit dans un 2nd
langage – langage cible ou objet -

Compilateur ❑ Lors de ce processus les erreurs


rencontrées sont signalées à l’utilisateur
dans un fichier d’erreurs de syntaxe

❑ Est associé à chaque langage de


programmation un Compilateur
[Link]
[Link]
24
Édition de liens ❑ Tous les liens irrésolus
(variables, étiquettes, fonctions
Biblio1
connues ailleurs que dans le
programme compilé) sont
[Link] Biblio2 traités, grâce à l’utilisation des
bibliothèques et autres fichiers
renfermant du code objet
fourni à l’éditeur de liens qui
Éditeur de liens
est un programme
❑ Le fichier exécutable
résultant contient le
Autres fichiers [Link] programme traduit en langage
(map, err, …) machine (code binaire)
25
Chargement et exécution
❑ Chargeur = programme ayant pour rôle d’installer
en mémoire centrale le code exécutable d’un
programme dont on connaît le nom : trouver la place,
copier le code en mémoire centrale avec les
adaptations liées aux translations, préparer le
contexte d’exécution
❑ Un programme exécutable  un nom de fichier
renfermant du code exécutable
❑ Lorsque le processeur sera attribué au processus
correspondant au programme chargé, celui-ci
s’exécutera et produira des résultats
26
Débogage
❑ Débogueur = programme ayant pour rôle d’aider à
la mise au point d’un autre programme en cours de
développement (détection des erreurs de logique
appelés en anglais « bugs »), en fournissant la
possibilité de suivre pas à pas :
➢ le déroulement de chacune des instructions
constituant le programme testé
➢ l’évolution du contenu des variables, des
structures de données et autres zones en mémoire
centrale employées dans le programme

27
Environnement de développement intégré

❑ Il existe des environnements de développement


intégrés EDI où tous ces outils (éditeurs de texte,
compilateurs, éditeurs de liens, chargeurs,
débogueurs, gestionnaire de dépendances) sont
mis à la disposition des programmeurs pour leur
faciliter le travail
❑ Exemples : Microsoft Visual C++, Borland
Jbuilder, CodeBlocks, etc.

28
QUESTIONS ?

29
Dr BOULOU Mahamadi

Vous aimerez peut-être aussi