Vous êtes sur la page 1sur 12

BTS Guelmim Informatique

Notion d’Algorithme et instructions de base


I. Le processus de la programmation
La programmation consiste, avant tout, à déterminer la démarche permettant d’obtenir, à
l’aide d’un ordinateur, la solution d’un problème donné.
Le processus de la programmation se déroule en deux phases :
 dans un premier temps, on procède à ce qu’on appelle l’analyse du problème posé ou
encore la recherche d’un algorithme qui consiste à définir les différentes étapes de la
résolution du problème. 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.
 Dans un deuxième temps, on exprime dans un langage de programmation donné, le
résultat de l’étape précédente. Ce travail, quoi qu’il soit facile, exige le respect strict
de la syntaxe du langage de programmation. Lors de l’étape d’exécution, il se peut que
des erreurs syntaxiques sont signalées, ce qui entraîne des corrections en général
simple ou des erreurs sémantiques plus difficiles à déceler. Dans ce dernier cas, le
programme produit des résultats qui ne correspondent pas à ceux escomptés : le retour
vers l’analyse sera alors inévitable.

Les différentes étapes du processus de programmation


Donc, la résolution d’un problème passe tout d’abord par la recherche d’un algorithme.

L’objectif de ce cours est de vous fournir les éléments de base intervenant dans un algorithme
: variable, type, instructions d’affectation, de lecture, d’écriture, structures.

II. Notion d’algorithme :


Un algorithme est une suite d’actions ou d’instructions qui doivent être exécutées dans un
ordre déterminé pour résoudre un problème (ou réaliser un travail).

Caractéristiques d’un algorithme


 La réalisation d’un algorithme est un acte créatif basé sur la logique

Cours algorithmique 1/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

 Un algorithme doit être fini et doit se terminer après un nombre fini d’opérations.
 Un même problème peut être résolu au moyen de plusieurs algorithmes.
III. Notion de donnée :
Les données sont des informations nécessaires au déroulement d’un algorithme. On distingue
deux catégories : les constantes et les variables.

1. Les constantes :
Une constante est une donnée fixe qui ne varie pas durant l’exécution d’un algorithme.
Une constante est caractérisée par son nom et sa valeur (fixe)

Syntaxe :
Constante Nom _Constante = valeur

Exemple :
Constante Pi =3,14
Constante B = 6
Constante Mois = "Avril"

2. Les variables :
Une variable est le nom d’un espace mémoire dont le contenu peut changer pendant
l’exécution de l’algorithme.

Une variable est caractérisée par son nom, sa valeur et son type (entier, réel, caractère,
chaine de caractères et booléen)

Syntaxe :
Variable Nom_Variable: Type

Exemple
Variable nb_élèves: entier
Variable note : réel
Variable Prénom : chaines de caractères
Variable A : booléen
Variable Opérateur : caractère

IV. Les types de données


1. Type numérique :

ENTIER : Le type entier désigne l’ensemble des nombres entiers négatifs ou positifs dont les
valeurs varient entre -32 768 à 32 767.

REEL :Le type réel comprend les variables numériques qui ont des valeurs réelles. La plage
des valeurs du type réel est :
-3,40x1038 à -1,40x1045 pour les valeurs négatives

Cours algorithmique 2/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

1,40x10-45 à 3,40x1038 pour les valeurs positives

2. Type alphanumérique :

Type caractère : Une variable peut contenir bien autres information que des nombres comme
caractère, elle accepte des valeurs comme ‘a’,’A’,’1’,’ ?’….

Type chaîne de caractères : Une variable peut contenir aussi une chaîne de caractère, alors
elle accepte des valeurs comme "Nom","Prenom","Note1","123"……

3. Type booléen :

Dans ce type de variables on y stocke uniquement des valeurs logiques VRAI ou FAUX,
TRUE ouFALSE, 0 ou 1.

V. Les instructions de base :


1. La lecture :
La lecture est une instruction qui permet de lire des données tapées par le clavier.

Syntaxe :
Lire (variable1)
Lire (variable2)
Lire (variable1, variable2)

Exemple :
Lire (note)
Lire (A,B)

2. L’écriture :
L’écriture est une instruction qui permet d'afficher des données sur l'écran et ainsi de
communiquer avec l'utilisateur.

Syntaxe :
Ecrire (variable)
Ecrire (“message“)
Ecrire (“message“, variable)

Cours algorithmique 3/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

Exemple :
Soit A est une variable.
Ecrire (A) : signifie affiché sur l’écran le contenu de la variable A.
Ecrire (“donnez votre nom : “) : signifie affiché sur l’écran le message suivant : donnez
votre nom :

3. L’affectation :
L’affectation est une opération qui consiste à attribuer une valeur à une variable. Elle est
représentée par une flèche orientée à gauche
Syntaxe :

Variable Valeur ou expression

Exemple :
A 2 : la variable A reçoit la valeur 2
B A+1 : B reçoit le contenu de A plus 1
Nom1 'Mohamed'

VI. Expressions et opérateurs


Une expression : est un ensemble de valeurs reliées par des opérateurs, et équivalent à une
seule valeur
Exemple :
4+2, 5*6, 4<9, A>6, C&B,…

Un opérateur :est un signe qui relie deux valeurs, pour produire un résultat.

Opérateurs numériques Opérateurs Opérateurs booléens


alphanumériques (logiques)
+ : addition Et
- : soustraction Ou
* : multiplication & Non
/ : division > ,= , <, <>, >= ,<=
^ : puissance
Exemples d’application

A 4^2 C “Lycée “ F 3<5


B 8*5 D “ Bab Sahra“ G 2>4
N A+B E C&D H 1< 8
P N-B K (F et G) ou H
R B/4 J G et F et H
M Non G
Résultats

La valeur de A est : 16 La valeur de E est : La valeur de F est : Vrai


La valeur de B est : 40 Lycée Bab Sahra La valeur de G est : Faux
La valeur de N est : 56 La valeur de H est : Vrai
La valeur de P est : 16 La valeur de K est : Vrai
La valeur de R est : 10 La valeur de J est : Faux
La valeur de M est : Vrai

Cours algorithmique 4/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

VII. La représentation d’un algorithme


Un algorithme écrit en pseudo-codeest composé de trois parties suivantes :
L’en-tête, la partie déclarative et le corps

L’en-tête : Constitué du mot Algorithme, suivi d’un nom identifiant l’algorithme.


La partie déclarative : comprend une liste des variables et des constantes utilisés et
manipulés dans le corps de l’algorithme.
Début
Instructions Le corps : les tâches à exécuter.
Fin

Remarque
Pour élaborer un algorithme, il faut suivre les étapes suivantes :
-Lire et comprendre bien l’énoncé du problème à résoudre ;
-Décrire les résultats à obtenir (les sorties) ;
-Décrire les données nécessaires pour obtenir ces résultats (les entrées) ;
-Effectuer les traitements (exprimer les relations permettant d’obtenir les résultats à partirdes
données) ;

Exemple :
Un algorithme qui permet de calculer et afficher la somme de deux nombres entier

Algorithme Somme
Variable A, B, S : entier
Début
Ecrire (“ Donnez la valeur de A: “)
Lire (A)
Ecrire (“ Donnez la valeur de B: “)
Lire (B)
S← A+B
Ecrire (“ La somme de deux valeurs est : “, S)
Fin.

Cours algorithmique 5/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

Structure de contrôle de base


I. La structure séquentielle :
La structure séquentielle est une structure dont les instructions sont exécutées l’une après
l’autre de façon à ce que l’ordre des instructions est respecté.

Exemple : (Un algorithme qui permet de permuter deux entiers)


Algorithme échange
Variable X, Y, Z : entier
Début
Ecrire (“donnez la valeur de X : “)
Lire (X) ;
Ecrire (“donnez la valeur de Y : “)
Lire (Y)
Z X
XY
Y Z
Ecrire (“La valeur de X est : “, X) ;
Ecrire (“La valeur de Y est : “, Y) ;
Fin.

II. La structure Sélective :


La structure sélective est une structure dont les instructions sont exécutées selon les réponses
des conditions.
1. Structure sélective Simple (un choix)
Syntaxe :
Si Condition Alors
Instructions
Fin si
Si la condition est vraie alors le bloc d’instructions sera exécuté, sinon il sera ignoré.

Exemple :(Un algorithme qui calcule le maximum de nombres réels.)


Algorithme Maximum
Variable A, B, Max : réel
Début
Ecrire (“Entrez les valeurs de A et de B: “)
Lire (A, B)
Max A
Si Max <B Alors
Max B
Fin si
Ecrire (“ Le maximum est égale à :“, Max)
Fin.

Cours algorithmique 6/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

2. Structure alternative (deux choix) :


Syntaxe :
Si Condition Alors
Instructions1
Sinon
Instructions2

Si la condition est vraie alors le bloc d’instructions1 sera exécuté, et le bloc d’instructions2
sera ignoré, sinon le bloc d’instructions 2 sera exécuté et le bloc d’instructions 1 sera ignoré.

Exemple : (Un algorithme qui demande un nombre entier à l’utilisateur, et l’informe ensuite si
ce nombre est positif ou négatif)

Algorithme Nature_nombre
Variable n : Entier
Début
Ecrire (“Entrez un nombre : “)
Lire(n) ;
Si n > 0 Alors
Ecrire (“Ce nombre est positif“ )
Sinon
Ecrire (“Ce nombre est négatif“ )
Fin si
Fin.

3. Structure alternative imbriquée

Syntaxe :
Si condition1 Alors
Instructions1
Sinon Si condition 2 Alors
Instructions2
Sinon
Instructions3
Fin si
Fin si

Exemple :

Un algorithme qui demande un nombre à l’utilisateur, et l’informe ensuite si ce nombre est


positif ou nul ou négatif.

Cours algorithmique 7/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

Structure alternative Structure alternative imbriquée


Algorithme Nature_nombre Algorithme Nature_nombre
Variable n : Entier Variable n : Entier
Début Début
Ecrire (“Entrez un nombre : “) Ecrire (“Entrez un nombre : “)
Lire (n) ; Lire (n)
Si n > 0 Alors Si n > 0 Alors
Ecrire (“Ce nombre est positif “) Ecrire (“Ce nombre est positif “)
Fin si Sinon Si n = 0 Alors
Si n = 0 Alors Ecrire (“Ce nombre est nul“)
Ecrire (“Ce nombre est nul“) Sinon
Fin si Ecrire (“Ce nombre est négatif “)
Si n < 0 Fin si
Ecrire (“Ce nombre est négatif “) Fin si
Fin si Fin.
Fin.

4. Structure à choix multiple :


Lorsque l’imbrication des alternatives devient importante, l’utilisation de la structure à choix
multiple devient nécessaire.
Syntaxe :
Cas Variable ou Expression Vaut
Val 1 : Instructions 1
Val 2 : Instructions 2
……………
Val n : Instructions n
Sinon Instructions par défaut
Fin Cas

Exemple :

 Structure à choix multiple


Algorithme Nom_chiffre
Variable n : entier
Début
Ecrire (“donnez votre chiffre entre 0 et 3 : “)
Lire (n)
Cas n vaut
0 : Ecrire (“ Zéro“)
1 : Ecrire (“Un“)
2 : Ecrire (“Deux“)
3 : Ecrire (“Trois“)
Ecrire (“vous n’avez pas “)
Fin cas
Fin

Cours algorithmique 8/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

Structure alternative imbriquée


Algorithme Nom_chiffre
Variable n : entier
Début
Ecrire (“donnez votre chiffre entre 0 et 3 : “)
Lire (n)
Si n=0 Alors
Ecrire (“Zéro“)
Sinon
Si n=1 Alors
Ecrire (“Un“)
Sinon
Si n=2 Alors
Ecrire (“Deux“)
Sinon
Si n=3 Alors
Ecrire (“Trois“)
Ecrire (“vous n’avez pas “)
Fin si
Fin si
Fin si
Fin si
Fin.

III. Les Conditions composées :


Une condition composée est une condition formée de plusieurs conditions simples reliées par
des opérateurs logiques: ET, OU, OU exclusif (XOR) et NON

Exemples :

 x compris entre 2 et 6 : (x > 2) ET (x < 6)


 n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
 deux valeurs et deux seulement sont identiques parmi a, b et c : (a=b) XOR (a=c)
XOR (b=c)

Cours algorithmique 9/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

LES STRUCTURES REPETITIVES(les boucles)


I. Introduction :
Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain nombre de fois,
On distingue trois sortes de boucles en langages de programmation :
 Les boucles tant que : on y répète des instructions tant qu'une certaine condition est
réalisée
 Les boucles jusqu'à : on y répète des instructions jusqu'à ce qu'une certaine condition
soit réalisée
 Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer
un compteur (variable particulière) entre une valeur initiale et une valeur finale

II. La structure POUR :


Cette structure permet de répéter des instructions un nombre connu de fois. Sa syntaxe est :
POUR compteur = val_initial A val_final PAS DE incrément
Instructions à répéter
FIN POUR
Compteur est une variable de type entier (ou caractère). Elle doit être déclarée
Pas est un entier qui peut être positif ou négatif. Pas peut ne pas être mentionné, car par
défaut sa valeur est égal à 1. Dans ce cas, le nombre d'itérations est égal à finale - initiale+ 1
Val_nitiale et val_finale peuvent être des valeurs, des variables définies avant le début de la
boucle ou des expressions de même type que compteur
Remarque : le nombre d'itérations dans une boucle Pour est connu avant le début de la boucle
Exemple :Calcul de x à la puissance n où x est un réel non nul et n un entier positif ou nul
Variables x, puiss : réel
n, i : entier
Debut
Ecrire (" Entrez la valeur de x ")
Lire (x)
Ecrire (" Entrez la valeur de n ")
Lire (n)
puiss ← 1
Pour i =1 à n
puiss← puiss*x
FinPour
Ecrire (x, " à la puissance ", n, " est égal à ", puiss)
Fin

Cours algorithmique 10/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

NB : Les instructions d'une boucle peuvent être des instructions itératives. Dans ce cas, on
aboutit à des boucles imbriquées

Exemple: Exécution
Pour i = 1 à 5 OX
Pour j = 1 à i OOX
écrire("O") OOOX
FinPour OOOOX
écrire ("X") OOOOOX
FinPour

III. La structure TANT QUE :


Cette structure permet de répéter les instructions tant qu’une condition est satisfaite. Sa
syntaxe est :
TANT QUE condition
Instructions à répéter
FIN TANT QUE

 la condition (dite condition de contrôle de la boucle) est évaluée avant chaque itération
 si la condition est vraie, on exécute instructions (corps de la boucle), puis, on retourne
tester la condition. Si elle est encore vraie, on répète l'exécution, …
 si la condition est fausse, on sort de la boucle et on exécute l'instruction qui est après
FinTantQue
Cette structure diffère de la première par le fait qu’on va répéter des instructions pour un
nombre de fois inconnu au préalable.
Exemple : (Contrôle de saisie d'une lettre majuscule jusqu’à ce que le caractère entré soit
valable)

Variable C : caractère

Debut
Ecrire (" Entrez une lettre majuscule ")

Lire (C)

TantQue (C < 'A' ou C > 'Z')


Ecrire ("Saisie erronée. Recommencez")
Lire (C)
FinTantQue
Ecrire ("Saisie valable")

Fin

Cours algorithmique 11/12 Pr :Tarik AHAJJAM


BTS Guelmim Informatique

IV. La structure REPETER :


Cette structure sert à répéter des instructions jusqu’à ce qu’une condition soit réalisée. Sa
syntaxe est :

REPETER
Instructions à répéter
JUSQU'A condition

 Condition est évaluée après chaque itération

 les instructions entre Répéter et jusqu’à sont exécutées au moins une fois et leur
exécution est répétée jusqu’à ce que condition soit vrai (tant qu'elle est fausse)

Exemple : (Un algorithme qui détermine le premier nombre entier N tel que la somme de 1 à
N dépasse strictement 100)

Variables som, i : entier


Debut
som ← 0
i←0
Répéter
i ← i+1
som ← som+i
Jusqu'à ( som > 100)
Ecrire (" La valeur cherchée est N= ", i)
Fin

V. Choix d'un type de boucle :


Si on peut déterminer le nombre d'itérations avant l'exécution de la boucle, il est plus naturel
d'utiliser la boucle Pour

S'il n'est pas possible de connaître le nombre d'itérations avant l'exécution de la boucle, on
fera appel à l'une des boucles TantQue ou répéter jusqu'à

Pour le choix entre TantQue et jusqu'à :

 Si on doit tester la condition de contrôle avant de commencer les instructions de la


boucle, on utilisera TantQue

 Si la valeur de la condition de contrôle dépend d'une première exécution des


instructions de la boucle, on utilisera répéter jusqu'à

Cours algorithmique 12/12 Pr :Tarik AHAJJAM