Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
Initiation à l’algorithmique
Objectif pédagogique :
A la fin de la séance, chacun de vous doit être capable d’identifier correctement les
éléments de base d’un algorithme en se basant sur la structure générale d’un
formalisme algorithmique.
Plan :
I. Les étapes de résolution d’un problème ;
II. Notion et définition d’un algorithme ;
III. Formalisme d’un algorithme.
I. Les étapes de résolution d’un problème :
Face à un problème quelconque, on pose un certain nombre de questions. La réponse à
ces questions facilite la résolution du problème c'est-à-dire aboutir à un résultat.
Les étapes de résolution d’un problème sont les suivantes :
- Comprendre l’énoncé du problème
- Décomposer le problème en sous-problèmes plus simple à résoudre
- 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.
- Elaboration d'un algorithme.
II. Notion et définition d’un algorithme :
L’algorithme est une suite d’opérations et d’instructions ordonnées et finies dont
l’intérêt est la résolution d’un problème précis.
III. Formalisme d’un algorithme
Un algorithme est défini par:
• Son nom ;
• La déclaration des variables et des constances ;
• Le corps de l’algorithme est constitué des actions du traitement. Il est délimité
par les termes DEBUT et FIN.
1
Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
Algorithme Nom_algorithme En-tête
Variables: la déclaration des variables et des constantes
Début
Instruction 1
Instruction 2
……………. Corps de l’Algorithme
Instruction k
Fin
III.1 L’en-tête
Il permet tout simplement d’identifier l’algorithme. La syntaxe est la suivante :
Algorithme nom de l’algorithme ;
Exemple d’entête :
Algorithme préparer_recette_cuisine;
Algorithme Calcul_surface_cercle ;
Algorithme somme_entier ;
III.2 Déclaration des variables, constantes :
La déclaration : Est une liste des objets, utilisés et manipulés dans le corps de
l’algorithme.
a) Déclaration des constantes
- Elles représentent des objets (nombre, caractères,…) dont la valeur ne peut pas être
modifiée pendant l’exécution de l’algorithme.
- Utilisez Le mot clé est constante pour déclarer les constantes.
2
Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
- La syntaxe est la suivante:
Constante NomConstante = Valeur
Exemple : Constante pi = 3.14
Constante N = 100
b) Déclaration des variables
Elles représentent les objets (des nombres, des caractères, des chaînes de caractères,
des booléennes ;…) dont la valeur peut être modifiée au cours de l’exécution de
l’algorithme.
Le mot clé permettant d’effectuer la déclaration d’une variable est Variable.
La syntaxe est la suivante :
Variable Nom_de_la_variable : Type de la variable ;
La déclaration se fait par la donnée du nom de la variable et du type de la variable.
Noms de variables
Le nom de la variable est l’étiquette de l’espace mémoire à réserver car dans un
algorithme on manipule les variables en utilisant ses étiquettes (noms).
Le nom de la variable doit respecter les règles suivantes:
Le nom de variable comporte des lettres et des chiffres,
Mais un nom de variable doit commencer par une lettre ;
a1 est valide mais 1a c’est invalide.
Ne pas utiliser des espaces dans les noms des variables.
Ne pas utiliser les mots clés de l’algorithme pour identifier une variable.
3
Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
Les types d’objets ou types de base
Les types sont des caractéristiques des variables utilisées dans l’écriture d’un
algorithme. On distingue cinq types de base :
Le type entier, le type réel, le type caractère, le type chaine de caractères et le type
booléen (vrai ou faux).
Exemples : Variable i : entier ; trouver : Booléen ;
nb , rayon : réel ;
car : caractère ; nom : chaine de caractères;
III.3 L’instruction d’affectation :
L’affectation de variable =>Attribution d’une valeur, cette instruction se note avec le
signe (En pascal :=) : Ce signe signifie que la variable se trouve à gauche reçoit
la valeur (ou expression) qui se trouve à droite.
Remarque :
On peut affecter une valeur constante à une variable (A 4), mais on ne peut pas
affecter quoi que ce soit à une valeur constante (on ne peut pas écrire 4 A).
Exemple 1 :
Variables X: entier
X 3
Signifie mettre la valeur 3 dans la case identifiée par X, donc à l’exécution de cette
instruction, la valeur 3 est rangée en X (nom de la variable).
La déclaration de la variable X L’affectation de la valeur 3
X X 3
4
Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
Exemple 2 :
Variables X, Y: entier
X 3
Y X
La déclaration des variables X, Y L’affectation de la valeur 3
X Y X 3 Y
X 3 Y 3
Exercice 01 :
1. Corrigez les erreurs dans l’algorithme suivant pour qu’il soit valide.
Algorithme Exo_1
Variables a1, 2a : Entier
b : réel
a1 2
2a 5
b a1 + 2a
Fin
2. Que produit cet algorithme ?
5
Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
Exercice N°2
Donnez les valeurs des variables A, B après exécution de l’algorithme suivant :
Algorithme Exo1
Variables A, B en Entier
Début
A←5
B←A+4
A←A+1
B←A–4
Fin
III.4 Les commentaires :
Un commentaire n’est pas prise en compte dans un Algorithme, ce n’est pas une
instruction exécutable, il sert seulement à rendre l’algorithme (programme) plus claire à
la lecture.
La syntaxe d’un commentaire :
En algorithme : /* commentaire */
En pascal : { commentaire }
III.5 Les instructions Lire et Ecrire :
A. L’instruction Lire : Read
Signifie lire ce que l’utilisateur tape sur le clavier (exemple : saisir une donnée )
B. L’instruction Ecrire: Write
Signifie afficher à l’écran (Exemple : Afficher un message, un résultat)
6
Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
Exemple
Algorithme Affectation
Variables a, b : entier
Début
Ecrire (’donner la valeur de a’) /* il va afficher à l’écran ce message */
Lire (a) /* saisir une valeur pour la variable a */
Ecrire (’donner la valeur de b’) /* il va afficher à l’écran ce message */
Lire (b) /* saisir une valeur pour la variable a */
a←b /* Ecraser la valeur de a par la valeur de b */
Ecrire (‘a =’, a) /* Afficher à l’écran la valeur de a et la valeur de b */
Ecrire (‘b =’, b)
Fin.
III.6 Les opérateurs :
A. Opérateurs Numériques
+ Addition
- Soustraction
* Multiplication
/ Division
Exercice 03 :
Ecrivez un algorithme qui calcule et affiche la somme de deux entiers a et b.
7
Algorithmes Simples
Leçon N°1 : Initiation à l’algorithmique [Link]
INSFP [Link]/ Info / BDD /S1
B. Opérateurs Alphanumériques : En algorithmique l’opérateur & permet de
concaténer deux chaine de caractères
Exemple : ‘Algorithmes ‘& ‘Simples’ => AlgorithmesSimples
En pascal : L’opérateur ‘+’ permet la concaténation des chaines de caractères
C. Opérateurs Logiques :
Et (AND), Ou (OR) Non (NOT) : On les utilise dans les expressions
logiques, par exemple quand on a plusieurs conditions
Les tables de vérité:
C1 ET C2 C1 OU C2
C Non C
C1 C2 Vrai Faux C1 C2 vrai faux
Vrai Vrai Faux vrai vrai vrai vrai Faux
Faux Faux Faux faux vrai faux faux vrai