Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
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.
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 :
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.
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
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.
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.
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
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.
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 :
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.