Mathematics">
Cours Algorithme
Cours Algorithme
Cours Algorithme
MQ1 : Algorithme
L’objectif de ce cours est de repondre à ces trois questions :
• C’est quoi l’qlgorithmique ?
• C’est quoi l’algorithme ?
• Quelle sont les différentes répresentations d’un algorithme ?
• Qelle sont les etapes de resolution d’un probleme ?
• C’est quoi un langage de programmation ?
• Quel sont les notions de base de l’algorithme ?
Introduction
Un programme informatique permet à l’ordinateur de résoudre un problème, mais avant de
communiquer à l’ordinateur comment résoudre ce problème, il faut en premier lieu pouvoir
le résoudre nous même faire un algorithme.
1.1. L'algorithmique
désigne la discipline qui étudie les algorithmes et leurs applications en
informatique
1.2. Un algorithme
est une méthode permettant de résoudre un problème donné en un temps fini,il
réprésente une séquence d’instruction (action) logiquement ordonneés
Probléme
Résultat
algorithme
(solution
)
donnés
1.3. Le programme
ne sera que la traduction de l'algorithme dans un langage de programmation,
c'est-à-dire, un langage plus simple que le français dans sa syntaxe, sans ambiguïtés, que la
machine peut utiliser et transformer pour exécuter les actions qu'il peut décrire. Pascal, C,
Java …. sont des noms de langages de programmation.
1.4. Algorithme et programme
• L’algorithme est ecrit dans le langage de l’utilisateur
• Le programme est ecrit dans un langage compris par l'ordinateur
• Un programme est un algorithme traduit dans un langage de programmation
• L’élaboration d’un algorithme précède l’étape de programmation
• La rédaction d’un algorithme est un exercice de réflexion qui se fait sur papier
• L'algorithme est indépendant du langage de programmation, par exemple, on
utilisera le même algorithme pour une implantation en Java, ou bien en C++
1.5. Représentation d’un algorithme
Pour les algorithmes des programmes informatiques : il existe deux (2) grands familles
pour les réprésenter :
1.5.1. Les logigrammes ( organigramme) :
C’est une representation graphique avec des symboles ( carrés, losanges….etc). ils
sont normalisés et doivent respecter la norme ISO 5807.
AMARA.A
institut national spécialisé de la formation professionnelle batna2 algorithme
Exemple :
Début
Lire (a)
Lire (b)
a a+b
Ecrire (a)
fin
C’est une réprésentation textuelle avec une série d’instruction ressemblant à un langage de
programmation ( il s’agit d’un langage informel proche du langage naturel et indépendant de
tout langage de programmation)
AMARA.A
institut national spécialisé de la formation professionnelle batna2 algorithme
Example
algorithme addition
variables a,b en entier
lire(a)
lire (b)
a a+b
ecrire (a)
fin
La résolution d’un problème donné passe par une succession d’étapes à savoir :
probleme
Comprendre et analyser l'énoncé du problème
Modele
Spécifier le modèle de résolution : Les données nécessaires et
Les données résultantes et le formules mathematiques
Mais durant l'écriture d'un programme, on peut être confronté à 2 types d'erreur :
• Les erreurs syntaxiques : elles se remarquent à la compilation et sont le résultat
d'une mauvaise
écriture dans le langage de programmation.
• Les erreurs sémantiques : elles se remarquent à l'exécution et sont le résultat d'une
mauvaise analyse. Ces erreurs sont beaucoup plus graves car elles peuvent se
déclencher en cours d'exploitation du programme.
AMARA.A
institut national spécialisé de la formation professionnelle batna2 algorithme
AMARA.A
institut national spécialisé de la formation professionnelle batna2 algorithme
• Un nom (Identificateur)
• Un type qui indique l’ensemble des valeurs que peut prendre la variable (entier,
réel, booléen, caractère, chaîne de caractères, …)
• Une valeur
Identificateurs : règles
Le choix du nom d’une variable est soumis à quelques règles qui varient selon le langage,
mais en général :
• Un nom doit commencer par une lettre alphabétique. Exemple : E1 (1E n’est pas
valide)
• Doit être constitué uniquement de lettres, de chiffres et du soulignement (« _ »)
(Éviter les caractères de ponctuation et les espaces). Exemples : SMI2008, SMI_2008.
(SMP 2008, SMP-2008, SMP;2008 : sont non valides)
• Doit être différent des mots réservés du langage (par exemple en pascal: integer,
real, char, program, if, for…)
• La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage
utilisé
Conseil : pour la lisibilité du code choisir des noms significatifs qui décrivent les données
manipulées.
Exemples : NoteEtudiant, Prix_TTC, Prix_HT
Remarque : en pseudo-code algorithmique, on va respecter les règles citées, même si on
est libre dans la syntaxe
AMARA.A
institut national spécialisé de la formation professionnelle batna2 algorithme
AMARA.A