Vous êtes sur la page 1sur 21

Chapitre 1 : Introduction

à l’algorithmique
Objectifs du chapitre

 Acquérir les notions nécessaires et préalables


à l’algorithmique.
 Comprendre le cycle de création d’un
programme et le rôle de l’algorithme dans ce
cycle.
 Connaître les caractéristiques et les
conventions d’écriture d’un algorithme.
Cours Algorithmique et Programmation 1 2
I- Définitions :

Cours Algorithmique et Programmation 1 3


 Le terme informatique : l’informatique est une science
qui permet de traiter automatiquement les informations.

 Le terme système informatique : un système


informatique est un ensemble de moyens matériel et
logiciels permettant de satisfaire les besoins
informatiques de l’utilisateur :
 Le Matériel informatique: Il s’agit des ressources matérielles qui
sont exploitées pour exécuter les différents logiciels destinés à
satisfaire les besoins des utilisateurs : micro-ordinateurs,
imprimantes, scanners, etc.
 Les Logiciels: Un logiciel est un ensemble de programmes qui
répond aux besoins fréquents de l’utilisateur dans un domaine
d’activités bien déterminé.

Cours Algorithmique et Programmation 1 4


 On distingue plusieurs types de logiciels tels que les
logiciels de base comme le système d'exploitation ou les
programmes d'application (Traitement de texte,
comptabilité ...).

 Le terme utilisateur : un utilisateur est une personne


initiée à l’informatique et autorisée à exploiter et à
manipuler les ressources du système informatique.

Cours Algorithmique et Programmation 1 5


 Un programme est une liste d’instructions qu’il faut
exécuter pour atteindre un objectif donné.

 Un programme représente une solution à un


problème donné, pour y arriver il faut passer par un
cycle de programmation qui regroupe les différentes
étapes de sa création.

Cours Algorithmique et Programmation 1 6


Etapes de création d’un programme

Problème Spécifications

Algorithme Codage/Traduction

Programmeur (Langage
de programmation)
Exécution
Programme

Erreurs
sémantiques
Erreurs Résultats
syntaxiques
Cours Algorithmique et Programmation 1 7
Explications: Analyse d’un problème
 L'analyse d'un problème posé consiste à définir les
différentes étapes de sa résolution.
 C'est la partie essentielle dans le processus de
programmation.
 Elle permet de définir le contenu d'un programme en
termes de données et d’actions.
 À chacun de ces derniers sera associé une spécification
formelle ayant des conditions d'entrée et le(s) résultat(s)
que l'on souhaiterait obtenir.
 L'ensemble de ces spécifications nous donne une première
solution au problème : l’algorithme.
Cours Algorithmique et Programmation 1 8
Explication : Traduction

 La phase suivante consiste à traduire l’algorithme dans un


langage de programmation donné.
 Ce travail, quoiqu’il semble facile, exige le respect strict
de la syntaxe du langage.

Cours Algorithmique et Programmation 1 9


Explication : Exécution

 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écouvrir.
 Dans le cas d’erreur syntaxique, les retours vers le
programme peuvent être fréquents.
 Dans le cas d’erreur sémantique, le programme produit
des résultats qui ne correspondent pas à ceux souhaités:
les retours vers l’analyse (algorithme) sont alors
inévitables.
Cours Algorithmique et Programmation 1 10
III- Notion d’algorithmique et de
programmation : Définitions

Cours Algorithmique et Programmation 1 11


 Un algorithme, dérivé du nom du mathématicien arabe «Al-
Khawarizmi», qui a vécu au 9ème siècle, et qui était membre
d’un académie des sciences à Bagdad .
 Un algorithme est une suite d'actions que devra effectuer un
ordinateur, en un temps fini, pour arriver à un résultat, à partir
d'une situation donnée.
 Un algorithme est une suite finie d'instructions indiquant de
façon précise l'ordre dans lequel doit être effectué un ensemble
d'opérations pour obtenir la solution d’un problème.

 Un programme est un algorithme codé dans un langage de


programmation compréhensible par l’ordinateur à l’aide d’un
compilateur (traducteur).
 Un programme est une liste d’instructions qu’il faut exécuter
pour atteindre un objectif donné

Cours Algorithmique et Programmation 1 12


IV- Les étapes de résolution d’un
problème :

Cours Algorithmique et Programmation 1 13


1. Comprendre l’énoncé du problème.
2. Décomposer le problème en sous-problèmes plus
simples à résoudre.
3. Associer à chaque sous problème, une
spécification :
 Les données nécessaires
 Les données résultantes
 La démarche à suivre pour arriver au résultat en
partant d’un ensemble de données.
4. Elaborer l’algorithme.

Cours Algorithmique et Programmation 1 14


V- Les caractéristiques d’un
algorithme :

Cours Algorithmique et Programmation 1 15


1. Claire: l’algorithme ne doit pas présenter d’ambiguïtés
(instruction interprétable de plusieurs manières) et facile
à lire et à comprendre.
2. Correct: Il faut que l’algorithme exécute correctement
les tâches pour lesquelles il a été conçu.
3. Complet: Il faut que l’algorithme considère tous les cas
possibles et donne un résultat dans chaque cas.
4. Fini : l’algorithme doit se terminer quelle que soit le
type de machine ainsi que le temps et la date d’exécution.
5. Effice : l’algorithme doit effectuer le travail demandé
avec l’utilisation du minimum de ressources.
Cours Algorithmique et Programmation 1 16
VI- Avec quelles conventions
écrit-on un algorithme ?

Cours Algorithmique et Programmation 1 17


 Historiquement, plusieurs types de notations ont
représenté des algorithmes.
 Il y a eu notamment une représentation graphique, avec
des carrés, des losanges, etc. qu’on appelait des
organigrammes.

Cours Algorithmique et Programmation 1 18


 Aujourd’hui, cette représentation est quasiment
abandonnée, pour deux raisons.
1. D’abord, parce que dès que l’algorithme
commence à grossir un peu, ce n’est plus
pratique du tout.
2. Ensuite parce que cette représentation favorise
le glissement vers un certain type de
programmation, dite non structurée (nous
définirons ce terme plus tard), que l’on essaie
d’éviter.

Cours Algorithmique et Programmation 1 19


 C’est pourquoi on utilise généralement une série
de conventions appelée « pseudo-code », qui
ressemble à un langage de programmation mais
sans les problèmes de syntaxe.
 Ce pseudo-code est susceptible de varier
légèrement d’un livre (ou d’un enseignant) à un
autre.
 Ce qui est normal car le pseudo-code est
purement conventionnel et aucune machine n’est
censée le reconnaître.

Cours Algorithmique et Programmation 1 20


Exemple de pseudo-code (algorithme)

Cours Algorithmique et Programmation 1 21

Vous aimerez peut-être aussi