Académique Documents
Professionnel Documents
Culture Documents
Dans le cadre de notre cours nous nous intéressons aux algorithmes appliqués
au domaine de l’informatique.
1.3. Algorithme VS Programme :
Un programme est une suite d’instructions exécutables par une machine
(ordinateur, tablette, Smartphone,…), tandis qu’un algorithme n'est pas exécutable
directement par aucune machine, mais il s’agit d’un travail de programmation à visée
universelle qui ne dépend pas du langage de programmation (Un langage de
programmation est un langage compris par l'ordinateur).
Un algorithme exprime les instructions résolvant un problème donné
indépendamment des particularités de tel ou tel langage (le même algorithme peut être
implémenté sous les langages de programmation Java, C++ ou bien sous d’autres
langages de programmation).
NB :
L’élaboration d’un algorithme est une étape qui précède l’étape de la
programmation;
La rédaction d’un algorithme est un exercice de réflexion qui se fait sur papier.
2. Représentation d’un algorithme
Historiquement, il existe deux façons pour représenter un algorithme :
2.1. Un organigramme:
Parfois appelé Algorigramme, Logigramme ou plus rarement Ordinogramme,
il représente un algorithme sous forme d’un graphe avec des symboles (carrés,
losanges, etc.) normalisé (il existe un consensus sur l’utilisation des symboles du
graphe afin que chacun comprend la même chose).
non oui
Conditi
Bloc 2 Bloc 1
Suite de l’algorithme
Figure 4 : Exemple d’un Organigramme.
…
…
…
Si (condition est vraie) Alors
Bloc 1 d’instructions
Sinon
Bloc 2 d’instructions
FinSi
…
…
…
Un pseudo-code est plus pratique, plus facile pour écrire un algorithme, en plus
c’est la représentation la plus utilisée car elle est facile à traduire en un langage de
programmation.
3. Processus de la programmation :
Pour développer un programme informatique résolvant un problème donné, il
est préférable de suivre le processus (l’enchainement des étapes) suivant :
Numériques :
Alphanumériques:
- Caractère: ce type il ne peut contenir qu’un seul caractère : soit une lettre
majuscule, une lettre minuscule, un chiffre ou bien un symbole (caractères spéciaux ou
les lettres accentuées utilisées en français…). Exemples : ‘X’, ‘y’, ‘1’, ‘?’ , ‘é’ , ‘_’…
- Chaîne de caractères: contrairement aux caractères ce type peut contenir
une suite de caractères (plusieurs caractères) à la fois. Exemples : "Hello", "Ahmed",
"2020_@dut"…
Booléen:
VARIABLE ← valeur
Figure 10 : Instruction de l’affectation.
NB :
L’instruction de l’affectation ne modifie que ce qui est à gauche de la flèche.
Si dans une instruction d’affectation, la variable à laquelle on affecte la valeur
et la valeur affectée ont des types différents, cela provoquera une erreur.
Nous pouvons aussi attribuer à une variable la valeur d’une autre variable ou
d’une expression de façon générale.
VARIABLE ← Expression
Figure 11 : Affectation d’une expression.
Application :
Solution :
A←5 5 ? ?
B←3 5 3 ?
C←A+B 5 3 8
A←2 2 3 8
C←B–A 2 3 1
Cet algorithme calcul le carré de 11, si nous voulons calculer le carré d’un
autre nombre, nous devons à chaque fois réécrire l’algorithme en modifiant le nombre.
En plus l’algorithme n’affiche pas le résultat à l’utilisateur.
Solution :
Les instructions de lecture et d'écriture permettent à la machine de
communiquer avec l'utilisateur, elles sont aussi appelées les instructions
d’entrées/sorties.
Lire (NomVariable)
Figure 16 : Syntaxe de l’instruction de lecture.
Ecrire (Expression)
Figure 18 : Syntaxe de l’instruction d’écriture pour afficher le résultat d’une expression.
NB :
Avant de lire une variable, il est préférable d’afficher des messages sur l’écran,
indiquant à l’utilisateur ce qu’il doit entrer.
Application :
Solution :
Algorithme Somme
Variables
A, B,: Entier
Début
Ecrire ("Entrer un entier A :")
Lire (A)