Vous êtes sur la page 1sur 7

Sciences Economiques – Semestre 3 – Cours d’Algorithmique

COURS ALGORITHMIQUE – PARTIE 1

SCIENCES ECONOMIQUES - SEMESTRE 3 – 2019/2020

A. DRISSI / A. ELOUARDIGHI
Sciences Economiques – Semestre 3 – Cours d’Algorithmique

Introduction

L'algorithmique est l’ensemble des règles et des techniques permettant de définir et de concevoir des
algorithmes.

En informatique, un algorithme est une sorte de « plan » composé d’une suite finie d’instructions (écrites
selon un format adapté aux langages compréhensibles par les ordinateurs) destinées à la résolution d’un
problème donné. Pour que ce plan (algorithme) soit transformé en un programme (qui s’exécute sur un
ordinateur), il suffit de réécrire ses instructions en un langage compréhensible par l’ordinateur (langage
C, Basic, Fortran, etc.). Une fois exécuté, le programme conçu permet d’aboutir à une solution du
problème posé.

De ce point de vue, l’algorithmique est une première étape nécessaire à la compréhension de la logique
de communication avec les ordinateurs, par le biais des langages de programmation (et parfois même
via les logiciels).

Un algorithme peut s’écrire indépendamment de tout langage de programmation mais doit respecter la
logique d’écriture des programmes, utilisée par l’essentiel des langages de programmation.

De ce fait, dans le présent cours, nos algorithmes seront écrits à l’aide d’un pseudo-langage (ou pseudo-
code) proche des langages de programmation classiques.

I- Les variables

Dotée d’un nom (X, A, Var, Truc, …), une variable est un espace qui permet de stocker une valeur
(numériques, logiques, texte, etc.). Une variable doit être « déclarée » en début d’algorithme pour que
l’ordinateur puisse lui réserver l’espace nécessaire en mémoire. La déclaration d’une variable permet de
fixer son nom, son « type » (numériques, logiques, texte, etc.) et éventuellement sa valeur initiale.

Il est important de noter qu’une variable, ne peut prendre qu’une valeur à la fois. Par contre, cette valeur
peut être modifiée à tout moment par une instruction de l’algorithme.

Exemple d’instruction permettant de modifier la valeur d’une variable : l’affectation.


Dans notre pseudo-code, l’affectation est représentée par le signe ←.

Algorithme 1 :
Variable A en Numérique
Début
A ← 10
Fin
Ici, la variable A est déclarée comme de type numérique. Cet algorithme lui affecte la valeur 10.

Algorithme 2 :
Variable A en Numérique
Début
A ← 10
A ← 20
Fin
Ici, la variable A est prend d’abord la valeur 10. Cette valeur est écrasée et est remplacée par la
valeur 20 après la deuxième instruction d’affectation.
Sciences Economiques – Semestre 3 – Cours d’Algorithmique

Algorithme 3 :
Variables A, B en Numérique
Début
A ← 10
B←A
A ← 15
Fin
Ici, on déclare deux variables numériques A et B. La première instruction affecte la valeur 10 à A.
A ce moment, B n’a pas encore de valeur. La seconde instruction affecte à B, la valeur de A (donc
10). A ce moment, A et B ont tous les deux la valeur 10. La troisième instruction écrase la valeur
courante (10) de A par une nouvelle valeur (15). Donc en fin d’algorithme, A a la valeur 15 et B la
valeur 10.

Remarque :
Comme dans les langages de programmation, notre pseudo-code n’évalue que la partie droite de
l’affectation :

A ← 10 : Ici 10 est évaluée mais pas A. La valeur de 10 est 10 (bien sûr).


B← A : Ici A est évaluée (sa valeur à ce moment est 10) et c’est cette valeur qui est affectée à B.

De manière générale, une affectation est toujours de la forme :


X ← Expression
X est la variable à affecter. Sa valeur va être l’évaluation de Expression. Cette dernière est une
expression qui peut être composée d’une valeur, d’une variable ou d’un ensemble de valeurs et de
variables reliés par des opérateurs (exemple : 3 + Y – 2*Z)

Quelques types de variables dans notre pseudo-code :


Numérique : regroupe les nombres de toutes sortes (entiers, réels, …)
Caractère : regroupe les lettres, les signes de ponctuation, les espaces et même les chiffres si on les
utilise comme caractère.
Chaîne : c’est un groupe de caractère. Les chaînes sont toujours notées en guillemets.
Booléen : type logique prenant les valeurs Vrai et Faux considérés comme 1 et 0.

Quelques opérateurs :
Opérateurs numériques :
Ce sont les quatre opérations arithmétiques tout ce qu’il y a de classique.
+ : addition
- : soustraction
* : multiplication
/ : division
Remarque :
Il y a également le signe ^ qui signifie « puissance ». 9 au carré s’écrira donc 9 ^ 2.

Opérateur de concaténation pour les chaînes : &


Exemple :
Variables A, B, C en Chaîne
Début
A ← "Lun"
B ← "di"
C←A&B
Fin
La valeur de C à la fin de l’algorithme est "Lundi"
Opérateurs logiques (ou booléens) : il s’agit du ET, du OU et du NON. (A voir plus tard)
Sciences Economiques – Semestre 3 – Cours d’Algorithmique

Exercices
Exercice 1
Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C en Numérique
Début
A←7
B←3
C←A+B
A←6
C←B–A
Fin

Exercice 2
Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Variables A, B en Entier
Début
A←7
B←A+3
A←A+8
B←A–2
Fin

Exercice 3
Ecrire un algorithme qui demande à l’utilisateur d’entrer les valeurs de deux variables A et B puis
échange ces deux valeurs (la valeur de A devient celle de B et la valeur de B devient celle de A). A la
fin, le programme affiche les nouvelles valeurs de A et B. Exemple : si au début de l’algorithme A vaut
3 et B vaut 5 alors, en fin d’algorithme, A doit valoir 5 et B doit valoir 3.
Sciences Economiques – Semestre 3 – Cours d’Algorithmique

II- Les instructions de lecture et d’écriture :

Afin de permettre une meilleure interaction entre l’ordinateur et l’utilisateur, les programmes permettent
souvent l’insertion de données via le clavier ainsi que l’affichage des résultats sur l’écran.

Pour cela il y a l’instruction de lecture :


Lire X, Y, …
Et l’instruction d’écriture :
Ecrire X, Y, …

Exemple :

Variable P, N en chaîne
Début
Ecrire « Entrez votre prénom »
Lire P
Ecrire « Entrez votre nom »
Lire N
Ecrire « Vous êtes : », «Monsieur », « », P, « », N
Fin

III- Le test SI

En reprenant le dernier exemple (cf. instructions de lecture écriture) on se rend compte qu’il
considère toujours la personne comme étant un Monsieur ! Il serait judicieux de reformuler ce
programme de manière à ce qu’il puisse aussi identifier les dames.
La modification consiste à inclure une demande du sexe («h» ou «f») et de répondre « Monsieur » ou
« Madame » en fonction du sexe de la personne.

Voici la nouvelle version du programme :

Variable P, N en chaîne
Variable Sexe en numérique
Début
Ecrire « Entrez votre prénom »
Lire P
Ecrire « Entrez votre nom »
Lire N
Ecrire « Entrez 1 si vous êtes homme et 2 si vous êtes femme »
Lire Sexe
Si (Sexe = 1) Alors
Ecrire « Vous êtes : », «Monsieur », « », P, « », N
Sinon
Ecrire « Vous êtes : », «Madame », « », P, « », N
Finsi
Fin

La forme générale d’un test Si est comme suit :


Si condition Alors
Instructions 1
Sinon
Instructions 2
Finsi
Sciences Economiques – Semestre 3 – Cours d’Algorithmique

Parfois on se contente de : (S’il n’y a pas d’instructions2 à faire)


Si condition Alors
Instructions 1
Finsi

Fonctionnement : si la condition est vérifiée (càd vraie) on exécute les instructions1 sinon (la condition
est fausse) on exécute les instructions2.
L’expression ‘condition’ doit aboutir à vrai ou faux. Elle peut être simple ou composée.

Exemple de conditions : les conditions avec comparaison :


X = 23 (égalité), X > Z (strictement supérieur)…
On note les opérateurs : =, >, <, >= (supérieur ou égal), <= (inférieur ou égal), /= (différent).

Remarques :

Tests imbriqués

Les blocs instructions1 et instructions2 peuvent eux même contenir un test « Si ». Dans ce cas, on parle
de tests imbriqués. Exemple :

Un programme qui affiche le repas associé à un moment donné de la journée :


Matin : Petit-déjeuner, Midi : Déjeuner et Soir : Diner.

Variable Mom en numérique


Début
Ecrire « Choisir le moment : 1 pour Matin, 2 pour Midi et 3 pour Soir »
Lire Mom
Si (Mom = 1) Alors
Ecrire « Petit-Déjeuner »
Sinon
Si (Mom = 2) Alors
Ecrire « Déjeuner »
Sinon
Ecrire « Diner »
Finsi
Finsi
Fin

Exercice :
Un magasin de reprographie facture 0,10 Dhs les dix premières photocopies, 0,09 Dhs les vingt suivantes
et 0,08 Dhs au-delà. Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies
effectuées et qui affiche la facture correspondante.

Conditions composées :
L’expression de certaines conditions exige parfois l’utilisation des connecteurs logiques classiques : ET,
OU et NON. Dans notre pseudo-code on va adopter la syntaxe :
Expression1 ET Expression2,
Expression1 OU Expression2,
NON(Expression),

Exemples :
La condition : X >23 ET X<45 traduit l’expression mathématique 23<X<45.
La condition : X<=23 OU X >=45 est équivalente à NON (X >23 ET X<45).
Le programme ci-dessous détermine le signe du produit de deux entiers (sans calculer ce produit) :
Sciences Economiques – Semestre 3 – Cours d’Algorithmique

Variables X, Y en Entier
Début
Ecrire "Entrez deux nombres : "
Lire X, Y
Si (X > 0 ET Y > 0) OU (X < 0 ET Y < 0) Alors
Ecrire "Le produit de ces deux nombres est positif"
Sinon
Ecrire "Le produit de ces deux nombres est négatif"
Finsi
Fin

Exercice :

Un module est composé de deux matières. La condition de réussite est d’avoir une moyenne du module
supérieure ou égale à 10 sans avoir une noté éliminatoire dans une des deux matières.
La matière Math a un coefficient de 2 et la matière Info a un coefficient de 1.
La note éliminatoire est de 6/20.
Ecrire un programme qui lit les deux notes et qui affiche l’un des résultats suivants : « Succès » : la
moyenne est supérieure ou égale à 10 avec aucune note éliminatoire.
« Echec pour note éliminatoire » : la moyenne est supérieure ou égale à 10 mais il y a une note
éliminatoire.
« Echec » : la moyenne est strictement inférieure à 10.

Exercice : reprendre l’exemple avec le module composé de mathématiques et informatique. On souhaite


écrire un programme affichant les résultats :
- Echec si Moy < 10
- Passable : 10<= Moy < 12
- A. Bien : 12<= Moy < 14
- Bien : 14<= Moy < 16
- T. Bien : 16<= Moy

Le programme proposé ci-dessous est-il valide ?


Variables Math, Info, Moy en Réel
Début
Ecrire "Entrez la note de Mathématique : "
Lire Math
Ecrire "Entrez la note d’informatique : "
Lire Info
Moy ← (2*Math+Info)/3
Si (Moy < 10) Alors
Ecrire "Echec"
Sinon
Ecrire " Succès avec la mention :"
Si (Moy < 12) alors Ecrire « Passable »
Finsi
Si (Moy < 14) alors Ecrire « A.Bien »
Finsi
Si (Moy < 16) alors Ecrire « Bien »
Sinon Ecrire « T.Bien »
Finsi
Finsi
Fin

Vous aimerez peut-être aussi