Vous êtes sur la page 1sur 96

L’algorithmique.

KHOUKHI Saâdia

École Supérieure de Technologie de Nador.

2023-2024

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

1 Définitions et concepts de base

2 Algorithmique- Notions et instructions de base

3 Les structures Conditionnelles

4 Les boucles

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Définition de l’informatique

INFORMATIQUE ?

INFORMATION AUTOMATIQUE
Science de l’information Art d’entraîner automatiquement des actions

Traitement automatique de l’information

ORDINATEUR

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Définition de l’informatique

L’information : désigne tout ce qui peut être traité


par une machine (ordinateur). En d’autre terme, les
faits et connaissances déduits des données.
Donnée : Est une information traitée.
INFORMATIQUE ? Exemple : texte, nombre, image, sons, vidéo
Le traitement automatique : Il représente la suite
INFORMATION AUTOMATIQUE
Art d’entraîner automatiquement des actions
d’opérations (instructions) effectuées par un logiciel
Science de l’information
(programme).
Traitement automatique de l’information Instruction : (ou commande) : Ordre donné
par l’utilisateur (ou Programme) a
ORDINATEUR
l’ordinateur.
Exemple : dans Microsoft Word le
changement de la taille d’un texte c’est une
opération (C’est un traitement automatique).
Donc, l’informatique est la science du traitement automatique de l’information à
l’aide de machines automatiques (ordinateurs).
KHOUKHI Saâdia L’algorithmique
Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Définition d’un ordinateur

Un ordinateur : est une machine automatique (programmable) de traitement des


informations. Le traitement, de ces informations, se fait par :
La mémorisation des informations : un réservoir des données est obligatoire
(unité de mémorisation).
Le traitements (calcul) : alors elles doivent posséder une unité de calcul.
La saisie des données et l’ afficher des résultats (unités d’entrées / sorties)
Il peut traiter divers types d’informations (textes, dessins, images, sons) mais de
manière interne toutes ces informations sont converties sous forme numérique.

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Définition d’un ordinateur

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique

Un système informatique : C’est l’ensemble des moyens logiciels et matériels né-


cessaires pour satisfaire les besoins informatiques des utilisateurs. Tous les systèmes
informatiques (ou Ordinateurs) sont composés de deux parties : Matériel (Hardware)
et Logiciel (Software).

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique - Le matériel (hardware)

Le matériel (hardware) : C’est l’ensemble du matériel constitutif de l’ordinateur et de


ses périphériques. Tous les ordinateurs actuels se basent sur le modèle Von Neumann
(1903-1957) suivant :

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique - Le matériel (hardware)


L’unité centrale se compose d’un processeur et d’une mémoire centrale :
Le processeur (unité de traitement) : c’est le « cerveau » de l’ordinateur. son rôle est
d’exécuter les programmes stockés en mémoire centrale en chargent les instructions, en les
décodant et en les exécutant l’une après l’autre.
La mémoire centrale : La mémoire centrale est un composant de base de l’ordinateur, sans
lequel tout fonctionnement devient impossible. Son rôle est de stocker les données avant et
pendant leurs traitements par le processeur.
Mémoires secondaires ou auxiliaires : Sont des supports de stockage qui servent à stocker de
façon permanente des informations (elles gardent les informations même en absence du courant
électrique). Exemples : le disque dur, la disquette, Le diskflash, et le CD-ROM

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique - Le matériel (hardware)

Les périphériques sont les organes de l’ordinateur lui permettant de communiquer avec l’exté-
rieur. On distingue trois types de périphériques :
Les Périphériques d’entrée : permettent à l’ordinateur de recevoir des informations
(clavier, souris, microphone, scanner,. . .)
Les Périphériques de sortie : permettent de fournir des informations à l’ordinateur (Écran,
imprimante, graveur, traceur, haut parleur. . .)
Les Périphériques d’entrée / sortie : permettent à l’ordinateur d’échanger les informations
dans les deux sens (lecteur de disquette, modem,. . .)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique - Le logiciel (software)

Allumez un ordinateur, vous n’en tirerez rien ! ! Pour le faire marcher il faut lui fournir un
programme, bref un ordinateur = matériel + programme(s).
Un programme informatique est une liste d’ordres indiquant à un ordinateur ce qu’il
devrait faire. Il se présente sous la forme d’une ou plusieurs séquences d’instructions,
devant être exécutées dans un certain ordre par un processeur . Exemple : Programme de
calcul de la moyenne, programme de vérification des mots de passe. . .
Logiciel : Ensemble de programmes et données qui coopèrent entre eux pour rendre un
service à l’utilisateur.
Le traitement automatique de l’information ou données par ordinateur repose sur des outils
appelés Logiciels (ou programmes). On installe sur un ordinateur deux types de Logiciels :

Les logiciels de base (système d’exploitation)


Les logiciels d’applications (programmes d’application)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique - Le logiciel (software)

Exemple : programme d’ordinateur - additionner deux nombres


1 Attendre qu’un nombre soit tapé au clavier
2 Sortir à l’écran le nombre entré
3 Attendre qu’un nombre soit tapé au clavier
4 Sortir à l’écran le nombre entré
5 Additionner les deux nombres entrés
6 Sortir à l’écran le résultat de l’addition
Ces lignes forment un programme d’ordinateur

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique - Le logiciel (software)

Les logiciels de base (système d’exploitation) est ensemble de programmes qui gère le fonction-
nement du micro ordinateur visàvis de ses périphériques et qui assure un «pont» entre l’utilisateur
et la machine physique
La gestion des périphériques (affichage à l’écran, lecture du clavier, pilotage d’une impri-
mante, . . .)
La gestion des utilisateurs et de leurs données (comptes, partage des ressources, gestion
des fichiers et répertoires, . . .)
L’interface avec l’utilisateur (textuelle ou graphique) : interprétation des commandes
Le contrôle des programmes (découpage en taches, partage du temps processeur, . . .)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Un système informatique - Le logiciel (software)

Les logiciels d’applications (programmes d’application) sont des programmes qui exécutent
les tâches que les utilisateurs attendent des ordinateurs, ce sont des programmes développés
généralement par des entreprises de logiciels (des groupes d’ingénieurs) ou par des utilisateurs
eux-mêmes (dans le cas des programmes simples).
Les logiciels de bureautique : Traitement de texte (word), Tableur (Excel). . .
Les logiciels de messagerie et communication via un réseau, Internet.
Les logiciels de programmations :dev c++, eclipse (pour Java), Delphi. . .

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Langages informatique

Un langage informatique est un outil permettant de donner des ordres (instructions) à la


machine. A chaque instruction correspond une action du processeur
Intérêt : écrire des programmes (suite consécutive d’instructions) déstinés à effectuer une
tache donnée. Exemple : un programme de gestion de comptes bancaires
Contrainte : être compréhensible par la machine
Il y a plusieurs classifications de ses langages, mais celle à laquelle on s’intéresse est la suivante :

Langage machine
Langage évolué (langage de haut niveau)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Langage machine - Représentation des informations


Toutes les communications à l’intérieur de l’ordinateur sont faites avec des signaux
électriques, Ces signaux électrique ont deux états seulement :
0 : éteint (absence de signal électrique) ;
1 : allumé (présence de signal électrique).
Donc, L’ordinateur manipule les informations sous forme binaire.Une unité d’infor-
mation (0 ou 1) est appelée bit (de l’anglais binary digit).

Le système décimal : c’est un système de numération utilisant la base 10.


Exemple : représentation d’un numéro (580) :5 centaines, 8 dizaines, 0 unités.
Équivalent en mathématique :

5 ∗ 102 + 8 ∗ 101 + 0 ∗ 100

Le système binaire : c’est un système de numération utilisant la base 2.


Exemple : représentation d’un numéro (6) :110. Équivalent en mathématique :

1 ∗ 22 + 1 ∗ 21 + 0 ∗ 20
KHOUKHI Saâdia L’algorithmique
Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Langages informatique - Langage machine

Le langage machine appelé aussi langage binaire, c’est avec ce langage que fonctionnent
les ordinateurs. Il consiste à utiliser deux états (représentés par le chiffre 0 et 1) pour
coder les informations (texte, images etc.)
Pourtant, les ordinateurs font de nombreuses choses. Cependant, pour qu’ils fassent toutes
ses choses, il faut des personnes pour leur dire ce qu’ils doivent faire : les programmeurs,
alias les développeurs.
Pour dire à un ordinateur ce qu’il doit faire, il faut lui parler. Et il faut le faire dans un
langage qu’il comprend. Cependant, parler avec des 0 et des 1 s’avère difficile

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Langages informatique -haut niveau

On désigne par langage évolué tous les langages se situant au dessus des langages de bas
niveau (langage machine).
La syntaxe des langages évolués est très simplifiée, on y trouve par exemple des mots en
anglais (if, do while, switch, integer, string) donc il est plus accessible et compréhensible
aux gens que le langage machine.
Dans les langages évolués, les commandes sont introduites à l’aide du clavier, à partir
d’un programme en mémoire. Elles sont ensuite interceptées par un programme
"compilateur/Interpréteur", qui les traduit en langage machine.

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Langages informatique -haut niveau

Interpréteur : traduire au fur et à mesure les instructions du programme à chaque exécution


+ exécution instantanée appréciable pour les débutants
- exécution lente par rapport à la compilation
Compilateur : traduire le programme entier une fois pour toutes
+ plus rapide à l’exécution
+ sécurité du code source
- il faut recompiler à chaque modification

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Démarche de réalisation d’un programme

La réalisation d’un programme, de résolution du


problème, exécutable par un ordinateur, nécessite
le suivi d’une démarche constituée de 4 phases.

Phase 1 : Analyse du problème consiste à :


Extraire les données initiales (entrées),
Définir l’objectif ou les objectifs du problème
(sorties ou résultat),
Déduire la méthode à suivre pour résoudre et
atteindre ces objectifs.

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Démarche de réalisation d’un programme

Phase 2 : Écriture des algorithmes cette phase


consiste à écrire l’ensemble d’algorithmes corres-
pondants.
Phase 3 : Programmation Dans cette étape on va
traduire l’algorithme en un langage de programma-
tion (C,C++, Pascal, Fortran, Java . . . etc). On ob-
tient alors le code source du Programme qui est
stocké dans un ou plusieurs fichiers sur l’ordinateur.
Phase 4 :Compilation et Exécution Dans cette
étape le code source du programme est traduit en
langage machine en utilisant un compilateur, on
obtient alors le code machine du Programme, ce
code machine est ensuite exécuté directement par
l’ordinateur.
La réalisation de programmes passe par l’écriture d’algorithmes, D’où l’intérêt de
l’Algorithmique

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base
Algorithmique- Notions et instructions de base
Les structures Conditionnelles
Les boucles

Pourquoi apprendre l’algorithmique pour apprendre à programmer ?

Un algorithme est une description complète et détaillée des actions à effectuer


et de leur séquencent pour arriver à un résultat donné
Un algorithme a pour objectif de séparer la phase d’analyse à la phase de
codage, en effet, l’algorithmique exprime les instructions résolvant un problème
donné indépendamment des particularités de tel ou tel langage.
Pour prendre une image, si un programme était une dissertation,
l’algorithmique serait le plan, une fois mis de côté la rédaction et l’orthographe.
Mieux faire d’abord le plan et rédiger ensuite que l’inverse...

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

1 Définitions et concepts de base

2 Algorithmique- Notions et instructions de base


Définition
Représentation
Notions Fondamentales
Variable
Instructions
Opérations

3 Les structures Conditionnelles

4 Les boucles

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Le Terme algorithme vient du nom du mathématicien musulman (780-850) perse


du 9ième siècle al-Khwarizmi (780-850). Les premières écritures d’algorithmes
datent de 5000 ans.
Le terme algorithme ne concerne pas que l’informatique, et la notion de l’algo-
rithme a précédé celle de l’informatique.
Un algorithme est une suite d ’étapes très précises et ordonnées de telle sorte
qu’elles conduisent à la solution d’un problème.
les ordinateurs, quels qu’ils soient, ne sont fondamentalement capables de com-
prendre que quatre catégories d’ordres (en programmation, on n’emploiera pas
le terme d’ordre, mais plutôt celui d’instructions). Ces quatre familles d’instruc-
tions sont :
Les variables et leurs affectation
la lecture / écriture
les tests
les boucles

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Historiquement, deux façons pour représenter un algorithme :


L’Organigramme : représentation graphique avec des symboles (carrés, lo-
sanges, rond, etc.). Cette représentation offre une vue d’ensemble de l’algorithme
et elle est quasiment abandonnée aujourd’hui.
Le pseudo-code : représentation textuelle avec une série de conventions res-
semblant à un langage de programmation (sans les problèmes de syntaxe) plus
pratique pour écrire un algorithme et une représentation largement utilisée

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Exemple d’un organigramme correspondant à la résolution du problème de validation d’un

semestre

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Exemple pseudo code correspondant à la résolution du problème de tri

problème du tri
Entrée : une séquence de n
nombres (a1, : : : ,an)
Sortie : une permutation
(a1’ ; : : : ;an’) de la séquence
d’entrée : a1’<a2’<. . ..<an’
Exemple :
Entrée (31 ;41 ;59 ;26 ;41 ;58),
sortie (26 ;31 ;41 ;41 ;58 ;59)

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Structure général d’un pseudo-code

L’en-tête : il permet tout simplement


d’identifier (nommer) un algorithme.
Les déclarations : c’est la liste de
tous les objets (Constantes, variables,
types, fonctions et procédures. . ..)
utilisés et manipulés dans le corps de
l’algorithme.
Le corps : contient la suite des ins-
tructions à exécuter (ensemble d’opé-
rations à exécuter sur les données i.e
variables).

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Exemple illustratif

Karim possède 3 seaux : un seau en plastique d’une contenance de 10 litres, un seau


en bois d’une contenance de 7 litres et un seau en fer d’une contenance de 9 litres.
10h00 : karim vide ses 3 seaux
10h05 : karim va rendre visite a Nabil, celui-ci met 6 litres dans le seau en bois
de Karim
10h10 : karim transverse le contenu de son seau en bois dans le seau en fer
10h15 : karim revient vers nabil remplir à ras bord son seau en plastique
10h20 : karim déverse la moitié de son seau en plastique à l’égout
10h25 : karim transvase le contenu de son seau en plastique dans celui en bois
10h30 : karim transvase 2 litres de son seau en bois dans celui en fer
10h35 : karim informe Asmae du nombre de litres contenu dans ses seaux en
plastique, en bois, en fer.
Quelles sont les quantités des trois seaux que Asmae a reçues ?

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Notion d’algorithme : si les huis phrases sont bien exécutée par Karim, alors
l’histoire est un algorithme
Notion d’instruction : chacune de huis phrases est une instruction (un ordre)
Notion de valeur : 0, 3, 5, 6, 8, 10
Notion de mémoire : elle est matérialisée par les seaux qui « mémorisent » les
quantités de liquide
Notion de variable : une variable est un emplacement mémoire, ici on a trois
variables (le seau en plastique, le seau en bois et le seau en fer)
Notion des valeurs d’entrée et de sortie : c’est les valeurs que le processeur
reçoit de l’environnement et celles qu’il donne à l’environnement durant l’exu-
cution.
Valeurs en entrée :6, 10
Valeurs en sortie = 0, 3, 8

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Notion de variable

Les variables d’un algorithme contiennent les informations nécessaires à son


déroulement.
Une variable dans un programme est un espace mémoire identifié par un nom,
destiné à stocker une valeur, qui peut être modifiée durant les traitements (opéra-
tions).
Les variables doivent être déclarées avant d’être utilisées, elle doivent être ca-
ractérisées par :
un nom (Identificateur)
un type (entier, réel, caractère, chaîne de caractères, . . .)

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Choix des identificateurs

Le choix des noms de variables est soumis à quelques règles qui varient selon le
langage, mais en général :
Un nom doit commencer par une lettre alphabétique
exemple valide : A1 exemple invalide : 1A
doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Éviter
les caractères de ponctuation et les espaces)
Valides : SMI2015, SMI_2015 Invalides : SMI 2015, SMI-2015, SMI ;2015
doit être différent des mots réservés du langage (par exemple en Java : int, float,
else, switch, case, default, for, main, return, . . .)
Conseil : pour la lisibilité du code choisir des noms significatifs qui décrivent les
données manipulées
exemples : TotalVentes2006, Prix_TTC, Prix_HT

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Types des variables

Le type correspond au genre d’information que l’on souhaite utiliser. Autrement dit, Le
type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre, les types
offerts par la plus part des langages sont :
Entier pour manipuler des nombres entiers (1, 115, -7,. . .),
Réel pour manipuler des nombres réels (11. 3, 15.7, -4.3,. . .. . .),
Booléen pour manipuler des valeurs booléennes (vrai ou faux),
Caractère pour manipuler des caractères alphabétiques et numériques (a, b,
3,. . .),
Chaîne de caractères pour manipuler des chaînes de caractères permettant de
représenter des mots ou des phrases (mila, omar,. . ..).

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Déclaration des variables

Rappel : toute variable utilisée dans un programme doit avoir fait l’objet d’une
déclaration préalable
En pseudo-code, on va adopter la forme suivante pour la déclaration de variables
Variables liste d’identificateurs : type
Exemple ;
Variables i, j,k : entier
x, y : réel
OK : booléen
ch1, ch2 : chaîne de caractères

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Une instruction représente une ou plusieurs actions (opérations) portant sur une ou
plusieurs variables. Il existe deux types d’instruction élémentaires :
Instruction d’affectation ;
Instruction de lecture /écriture.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instruction d’affectation

L’affectation est une instruction qui stocke la valeur d’une expression dans une
variable. Autrement dit, ça consiste en fait à remplir où à modifier le contenu
d’une zone mémoire
Syntaxe d’affectation :
X ← exp ; se lit : X reçoit exp.
X : variable
← : L’opérateur d’affectation. L’expression d’affectation ne modifie que ce
qui est à gauche de la flèche.
exp : expression. Cette expression peut être une valeur, une autre variable
ou une chaine de caractère. De plus, la variable (X) et l’expresion (exp)
doivent être de même type.
Beaucoup de langages de programmation (C/C++, Java, . . .) utilisent le signe
égal = pour l’affectation ←. Attention aux confusions :
l’affectation n’est pas commutative : A=B est différente de B=A
l’affectation est différente d’une équation mathématique. En effet, A = A + 1
a un sens en langages de programmation, alors que A + 1 = 2 n’est pas
possible en langages de programmation et n’est pas équivalente à A=1
KHOUKHI Saâdia L’algorithmique
Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instruction d’affectation

Déclaration ;
Variables i, j,k : entier
x, y : réel
OK : booléen
ch1, ch2 : chaîne de caractères
Exemples Valides :
i←1 j←i k ←i+j
x ← 10.3 OK ← FAUX ch1 ← ”SMI”
ch2 ← ch1 x←4 x←j
Exemples non valides :

i ← 10.3 OK ← ”SMI” j←x

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instruction d’affectation -Exemples

Écrire l’algorithme permettant de :


Déclarer une variable a de type entier ;
Affecter une valeur 12 à cette variable ;
Modifier la valeur de a à 7.
Écrire l’algorithme permettant de :
Déclarer deux variables a et b de type chaine de caractère
Affecter la valeur "hello" à la variable a
Affecter la valeur "world" à la variable b

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instruction d’affectation -Exemple 1 : déclaration et affectation de variable

Solution :
Algorithme Exemple 1 Explication :
Variables 1 On déclare une variable a de type en-
a : entier tier.
Début
2 On affecte la valeur 12 à la variable a.
a ← 12
a←7 3 On modifie la valeur de la variable a.
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instruction d’affectation -Exemple 2 : type chaines de caractères

Solution :
Algorithme Exemple 2 Explication :
Variables 1 On déclare deux variables a et b de
a : chaine type chaine de caractères.
b : chaine 2 On affecte la valeur "hello" à la va-
Début riable a.
a ← "hello" 3 On affecte la valeur "world" à la va-
b ← "world" riable b.
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instructions d’entrées-sorties

Les instructions de lecture et d’écriture permettent à la machine de communiquer avec


l’utilisateur.
La lecture permet d’entrer des don-
nées à partir du clavier. L’écriture permet d’afficher des ré-
sultats à l’écran.
Instruction : En pseudo-code, on
note : Instruction : En pseudo-code, on
Lire(variable) note :
L’exécution de cette instruction Ecrire(variable)
consiste à affecter une valeur à la va- L’exécution de cette instruction per-
riable en prenant cette valeur sur le met à la machine d’afficher le contenu
périphérique d’entrée (clavier). de la zone mémoire .
Remarque : Le programme s’arrête Conseil : Avant de lire une variable,
lorsqu’il rencontre une instruction lire il est fortement conseillé d’écrire des
et ne se poursuit qu’après la frappe messages à l’écran, afin de prévenir
d’une valeur au clavier et de la touche l’utilisateur de ce qu’il doit frapper.
Entrée.
KHOUKHI Saâdia L’algorithmique
Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instruction d’entrées-sorties – Exemple

Écrire un algorithme qui demande un nombre entier à l’utilisateur, puis qui


calcule et affiche le double de ce nombre ;

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Instruction d’entrées-sorties – Exemple

Algorithme Calcul_double
Variables
A, B : entier
Début
ecrire("entrer le nombre)
lire(A)
B ← 2*A
ecrire("le double de", A,"est :", B)
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type entier (int)

Le type entier est muni des opérateurs suivants :


Les opérateurs arithmétiques classiques : + (addition), - (soustraction), * (pro-
duit).
La division entière, notée div , telle que n div p donne la partie entière du quotient
de la division entière de n par p .
Le modulo, noté mod, telle que n mod p donne le reste de la division entière de
n par p.
Les opérateurs de comparaison classiques : <, >, =, ...
Exemple :
7 div 2 = 3 7 mod 2 = 1 sqrt (25) = 5 abs ( - 17 ) = 17

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type réels (float et double)

Les opérations valides sur les réels sont :


Les opérations arithmétiques classiques : + (addition), - (soustraction), * (pro-
duit), / (division).
Les opérateurs de comparaison classiques : <, >, =, ...
La fonction qui fournit la racine carrée (sqrt).

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type réels et entiers - Exemple

Écrire un algorithme qui permet de :


Déclarer deux variables a et b
Affecter une valeur à chacune des variables
Calculer le résultat de l’addition dans une 3ème variable Résultat

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type réels et entiers - Exemple

Algorithme OperationArithmetique
Variables
a, b, resultat : entier
Début
ecrire("donner la valeur de a ")
lire(a)
ecrire("donner la valeur de b ")
lire(b)
ecrire("La variable a vaut : " a)
ecrire("La variable b vaut : " b)
resultat ← a + b
ecrire("Résultat : ", resultat)
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type booléen

Il s’agit d’un type dont les seules valeurs sont vrai ou faux. Les opérateurs logiques
(opération) sur ce type sont :
L’opérateur ET peut être perçu comme l’opération de multiplication entre deux
booléens.
L’opérateur OU peut être perçu comme l’opération d’addition entre deux boo-
léens.
L’opérateur NON correspond à la négation. La négation d’une chose vraie est
faux et celle d’une chose fausse est vraie.
Exemples :
a← faut, b← faut, a ET b ← faux
a← faut, b← vrai, a ET b ← faux
a← faut, b← vrai, a OU b ← vrai
a← faut, NON a ← vrai

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type booléen - Exemple

Écrire un algorithme qui permet de :


Déclarer et affecter des valeurs aux variables a et b.
Déclarer une variable pour les résultats de calculs.
Calculer et afficher le résultat d’opérations booléennes

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type booléen - Exemple

Algorithme OperationLogique
Variables
a, b, resultat : booleen
Début
a ← vrai
b ← faux
resultat ← a ET b
ecrire(" a ET b vaut : ", resultat)
resultat ← a OU b
ecrire(" a OU b vaut : ", resultat)
resultat ← NON a
ecrire(" NON a : vaut :", resultat)
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type chaine de caractères

Une chaîne est une suite de caractères. Une chaîne est encadrée par deux Guillemets.
Les opérations prédéfinies sur les chaînes sont :
les comparaisons : <, >, =, ... selon l’ordre lexicographique.
La Concaténation représenter par un & : elle fournit la chaîne obtenue par
concaténation des deux chaînes.
Exemple :
‘art’ > ‘cours’, ‘courage’ > ’cours’.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type chaine de caractères - Exemple

Écrire un algorithme qui vous demande de saisir votre nom puis votre prénom et
qui affiche ensuite votre nom complet.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Opérateurs pour le type chaine de caractères - Exemple

Algorithme AffichageNomComplet
Variables
Nom, Prenom, Nom_Complet : chaîne de caractères
Début
ecrire("entrer votre nom)
lire(Nom)
ecrire("entrer votre prénom)
lire(Prenom)
Nom_Complet ← Nom & Prenom
ecrire("Votre nom complet est : ", Nom_Complet)
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Priorité des opérateurs - type entiers et réels

Pour les opérateurs arithmétiques donnés ci-dessus, l’ordre de priorité est le


suivant (du plus prioritaire au moins prioritaire) :
ˆ : (élévation à la puissance) ;
* , / : (multiplication, division)
% : (modulo)
+ , - : (addition, soustraction)
exemple : 2 + 3 * 7 vaut 23
En cas de besoin (ou de doute), on utilise les parenthèses parenthèses pour
indiquer les opérations à effectuer en priorité :
exemple : (2 + 3) * 7 vaut 35

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Priorité des opérateurs - type booléens

Avec les booléens, il faut faire attention aux règles de priorités de calculs. Le cas
échéant, on doit donc mettre des parenthèses au bon endroit. En conséquence, on
retiendra bien les deux règles suivantes :
L’opérateur NON est prioritaire sur le ET et le OU.
L’opérateur ET est prioritaire sur le OU.
Ainsi, l’opération a ET b OU c est équivalente à (a ET b) OU c et elle est bien
différente de a ET (b OU c).

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Représentation
Algorithmique- Notions et instructions de base Notions Fondamentales
Les structures Conditionnelles Variable
Les boucles Instructions
Opérations

Priorité des opérateurs - type booléens – Exemple

Deviner le résultat de la variable résultat en supposant que :


a=true, b=true et c=false
a=true, b=false et c=true
1 resultat ← a ET b OU c
ecrire("a ET b OU c vaut : " , resultat)
2 resultat ← (a ET b) OU c
ecrire("(a ET b) OU c vaut : " , resultat)
3 resultat ← a ET (b OU c)
ecrire("a ET (b OU c) vaut : " , resultat)
Dans chaque cas, afficher les valeurs supposées.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

1 Définitions et concepts de base

2 Algorithmique- Notions et instructions de base

3 Les structures Conditionnelles


Définition
Les conditions simples
Conditions composées
Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

4 Les boucles

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Les conditions permettent de n’exécuter une ou plusieurs instructions que si une


certaine condition est vraie ou, au contraire, en exécuter d’autres si celle-ci n’est
pas vraie.
Pour ce faire, nous utilisons ce qu’on appelle une structure conditionnelle, encore
qualifiée de branchement conditionnel ou plus simplement de condition.
La structure conditionnelle est un concept de test unique ou de tests multiples qui
permet de comparer un objet à une valeur ou à une série de valeurs et d’exécuter
une séquence d’instructions si la condition est vérifier.
Exemple : « s’il pleut, je prends mon parapluie et je mets mes bottes, sinon je
mets mes sandales. »

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

L’instruction conditionnelle simple sert à n’exécuter une instruction ou une sé-


quence d’instructions que si une condition est vérifiée.
Elle est composée de deux parties : condition et action.
La partie (condition) décrit un état qui peut être vrai ou faux (expression
de type Booléen).
La partie < Bloc d’actions > représente un morceau d’un algorithme (une
ou plusieurs instructions).
On utilisera la forme suivante :
Si condition alors
instruction ou suite d’instructions1
Sinon
instruction ou suite d’instructions2
Fin si
la condition ne peut être que vraie ou fausse.
si la condition est vraie, se sont les instructions1 qui seront exécutées.
si la condition est fausse, se sont les instructions2 qui seront exécutées.
la condition peut être une condition simple ou une condition composée de
plusieurs conditions.
KHOUKHI Saâdia L’algorithmique
Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Exemple (Si. . . Alors)

Algorithme AffichageValeurAbsolue
Variable x : réel
Début
Ecrire " Entrez un réel : "
Lire(x)
Si x < 0 alors
x ← -x
Fin si
Ecrire ("la valeur absolue de ", x, "est :",x)
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Exemple (Si. . . Alors. . . Sinon)

Algorithme AffichageValeurAbsolue
Variable x : réel
Début
Ecrire " Entrez un réel : "
Lire(x)
Si x < 0 alors
x ← -x
Ecrire ("la valeur absolue de ", x, "est :", x)
sinon
Ecrire ("la valeur absolue de ", x, "est :",x)
Fin si
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Exercice

Ecrire un algorithme qui demande un nombre entier à l’utilisateur, puis qui teste
et affiche s’il est divisible par 3.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Résolution

Algorithme Divsible_par3
Variable n : entier
Début
Ecrire( " Entrez un entier : “)
Lire (n)
Si (n%3=0) alors
Ecrire (n," est divisible par 3")
Sinon
Ecrire (n," n’est pas divisible par 3")
Finsi
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Une condition composée est une condition formée de plusieursconditions 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)
L’évaluation d’une condition composée se fait selon des règlesprésentées géné-
ralement dans ce qu’on appelle tables de vérité.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Tables de vérité

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

La syntaxe est : condition_1 et instructions_1 : 1ère condition


SI [condition_1] ALORS testée. Si celle-ci est vraie, alors les instruc-
[instructions_1] tions instructions_1 sont exécutées.
SINON condition_2 et instructions_2 : 2ème condition
SI [condition_2] ALORS testée, si la 1ère est fausse. Si cette condition
[instructions_2] est vraie, les instructions instructions_2 sont
... exécutées.
SINON
[instructions_3] Peut être d’autres conditions . . .
FIN SI instructions_3 : si aucune des conditions n’est
FIN SI vraie, les instructions instructions_3 sont exé-
cutées.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

AlgorithmeMeteo
Variables beau, chaud : booléen
Debut
ecrire("Fait-il beau ? ")
lire(beau)
ecrire("Fait-il chaud ?")
lire(chaud )
SI chaud ALORS
ecrire("il fait chaud")
SINON
SI beau ALORS
ecrire("Il fait beau, c’est déjà pas mal...")
SINON
ecrire("Désolé pour vous... ")
FIN SI
FIN SI
ecrire("A demain... ")
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Attention : ce n’est pas équivalent à la succession de 2 conditions simples.

L’algorithme -1 est différent de l’algorithme - 2


Algorithme-1
SI [condition_1] ALORS Algorithme-2
[instructions_1] SI [condition_1] ALORS
SINON [instructions_1]
SI [condition_2] ALORS FIN SI
[instructions_2] SI [condition_2] ALORS
... [instructions_2]
SINON SINON
[instructions_3] [instructions_3]
FIN SI FIN SI
FIN SI

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Les tests peuvent avoir un degré quelconque d’imbrications.


La syntaxe générale est donnée par :
Si condition1 alors
Si condition2 alors
instructionsA
Sinon
instructionsB
Finsi
Sinon
Si condition3 alors
instructionsC
Finsi
Finsi

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Tests imbriqués : exemple (version 1)

Variable n : entier
Début
Ecrire ("entrez un nombre : ")
Lire (n)
Si n < 0 alors
Ecrire ("Ce nombre est négatif")
Sinon
Si n = 0 alors
Ecrire ("Ce nombre est nul")
Sinon
Ecrire ("Ce nombre est positif")
Finsi
Finsi
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Tests imbriqués : exemple (version 2)

Variable n : entier
Début
Ecrire ("entrez un nombre : ")
Lire (n)
Si n < 0 alors
Ecrire ("Ce nombre est négatif")
Finsi
Si n = 0 alors
Ecrire ("Ce nombre est nul")
Finsi
Si n > 0 alors
Ecrire ("Ce nombre est positif")
Finsi
Fin
Remarque : dans la version 2 on fait trois tests systématiquement alors que dans la
version 1, si le nombre est négatif on ne fait qu’un seul test.
Conseil : utiliser les tests imbriqués pour limiter le nombre de tests et placer d’abord
les conditions les plus probables (minimiser la complexité).
KHOUKHI Saâdia L’algorithmique
Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Tests imbriqués : exercice

Le prix de photocopies dans une reprographie varie selon le nombre demandé : 0,5
DH la copie pour un nombre de copies inférieur à 10, 0,4DH pour un nombre compris
entre 10 et 20 et 0,3DH au-delà.
Écrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées,
puis calcule et affiche le prix à payer.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Tests imbriqués : exercice

Variables copies : entier


prix : réel
Début
Ecrire ("Nombre de photocopies : ")
Lire (copies)
Si copies < 10 Alors
prix ← copies*0.5
Sinon
Si copies < 20
prix ← copies*0.4
Sinon
prix ← copies*0.3
Finsi
Finsi
Ecrire (“Le prix à payer est : ”, prix)
Fin

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Lorsque l’on veut comparer une seule va-


riable à une énumération de valeurs connues
à l’avance, on peut utiliser la structure selon
que.
Les vali sont des constantes toutes différentes,
mais du même type que variable.

KHOUKHI Saâdia L’algorithmique


Définition
Définitions et concepts de base Les conditions simples
Algorithmique- Notions et instructions de base Conditions composées
Les structures Conditionnelles Conditions multiples - SI..ALORS SINON SI...ALORS SINON
Les boucles Conditions imbriqués-SI ... SI ... SINON
Conditions de type cas

Tests imbriqués : Exemple : jours de la semaine (si. . . alors. . .)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

1 Définitions et concepts de base

2 Algorithmique- Notions et instructions de base

3 Les structures Conditionnelles

4 Les boucles
Boucle Tant que
Boucle Pour
Les boucles Répéter . . . jusqu’à . . .
Choix d’un type de boucle

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Introduction générale

Une boucle permet d’exécuter un traitement pour un nombre de fois déterminé ou


indéterminé. Ce sont les traitements "à l’intérieur" de la boucle qui sont répétés
à chaque "tour de boucle" et chaque "tour de boucle" est qualifié d’itération. Si
bien qu’on parle de structure itérative.
On distingue 2 types de boucles :
Les boucles à compteur ou définie : On sait à l’avance combien de fois la
boucle devra tourner et une variable (le compteur ) compte les répétitions
Choisir 10 nombres au hasard. On fera dix fois l’opération choisir un nombre
au hasard.
Ex : la boucle Pour
Les boucles à événement ou indéfinie On ne sait pas à l’avance le nombre
de fois que la boucle sera exécutée. Ça peut dépendre du nombre de données
à traiter. Ça peut dépendre du nombre d’essais que l’usager a effectués.
Ex : la boucle Tanque et la boucle jusqu’a

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Syntaxe

TantQue (condition)
instructions
FinTantQue

La boucle TANTQUE permet d’exécuter un traitement tant qu’une condition est


vérifiée, c’est-à-dire tant que la condition est vraie.
La condition (dite condition de contrôle de la boucle) est évaluée avant chaque
itération. C’est un résultat booléen qui renvoi donc vrai ou faux. On peut utiliser
les opérateurs booléens (ET, OU NON) ainsi que les opérateurs de comparaison
(=, <, , , >, )
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
KHOUKHI Saâdia L’algorithmique
Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple-1

Écrire un algorithme qui détermine le premier nombre entier N tel que la somme de 1
à N dépasse strictement 100.

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple-1

Écrire un algorithme qui détermine le premier nombre entier N tel que la somme de 1
à N dépasse strictement 100.

AlgorithmeSommeEntier
Variables
som, i : entier
Debut
i←0
som ← 0
TantQue (som <=100)
i ← i+1
som ← som+i
FinTantQue
Ecrire (" La valeur cherchée est N= ", i)
Fin

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple-2

écrire un algorithme qui permet de :


1 Poser la question "voulez vous un café ?" à laquelle l’utilisateur doit répondre par
O (Oui) ou N (Non)
2 Saisir au clavier (une lecture), la réponse dans une variable rep
3 Si l’utilisateur saisi une mauvaise réponse le programme doit lui informer de
refaire la saisie et relire la valeur saisie dans la variable rep
4 Le programme doit refaire le traitement 3) à chaque saisie d’une mauvaise réponse

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple-2

AlgorithmeDistributeurCafe

Variable
rep : chaine de caractere
Debut
rep ← lire("Voulez vous un café ? (O/N)")
SI rep ≠ ”O”ETrep ≠ ”N”ALORS
ecrire ("Saisie erronnée. Recommencez")
rep ← lire("Voulez vous un café ? (O/N)")
SI rep ≠ ”O”ETrep ≠ ”N”ALORS
. . .. . .
FINSI
Fin

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple-2

AlgorithmeDistributeurCafe

Variable
rep : chaine de caractere
Debut
rep ← lire("Voulez vous un café ? (O/N)")
TANTQUE (Rep ≠ ”O”ETRep ≠ ”N”)
ecrire ("Saisie erronnée. Recommencez")
rep ← lire("Voulez vous un café ? (O/N)")
FIN TANTQUE
ecrire ("Saisie acceptée")
Fin

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Syntaxe
Pour (compteur allant de initiale) jusqu’à (fin) par pas (valeur du pas)
instructions
FinPour

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Remarques

Remarque : le nombre d’itérations dans une boucle Pour est connu avant le
début de la boucle
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
Initiale et 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

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Déroulement des boucles Pour

La valeur initiale est affectée à la variable compteur


On compare la valeur du compteur et la valeur de finale :
Si la valeur du compteur est > à la valeur finale dans le cas d’un pas positif
(ou si compteur est < à finale pour un pas négatif), on sort de la boucle et
on continue avec l’instruction qui suit FinPour
Si compteur est <= à finale dans le cas d’un pas positif (ou si compteur est
>= à finale pour un pas négatif), instructions seront exécutées
Ensuite, la valeur de compteur est incrémentée de la valeur du pas si
pas est positif (ou décrémenté si pas est négatif)
On recommence l’étape 2 : La comparaison entre compteur et finale
est de nouveau effectuée, et ainsi de suite

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple

Écrire l’algorithme permettant d’afficher la table de multiplication par 9.

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple

Écrire l’algorithme permettant d’afficher la table de multiplication par 9.

AlgorithmeMultiplication9
Variable
i, mult : Entier
Debut
POUR i DE 1 A 10 PAS DE 1
mult ← i*9
Ecrire( i,"*9 =",mult)
FINPOUR
Fin

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Lien entre Pour et TantQue

La boucle Pour est un cas particulier de Tant Que (cas où le nombre d’itérations est
connu et fixé). Tout ce qu’on peut écrire avec Pour peut être remplacé avec TantQue
(la réciproque est fausse)

Pour [compteur allant de initiale] jusqu’à [fin] par pas [valeur du pas]
instructions
FinPour

Peut être remplacé par :

compteur ← initiale (cas d’un pas positif)


TantQue (compteur <= finale)
instructions
compteur ← compteur+pas
FinTantQue

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple 2

Calculer x à la puissance n où x sont des entiers non nul et positifs (en utilisant les
boucles Pour et TantQue)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple 2

Calculer x à la puissance n où x sont des entiers non nul et positifs (en utilisant les
boucles Pour et TantQue) AlgorithmePuissanceBouclePour

Variables
x, n, i, puiss : entier
Debut
Ecrire(" Entrez respectivement les valeurs de x et n")
Lire(x, n)
puiss ← 1
Pour i allant de n à 1 par pas -1
puiss ← puiss*x
FinPour
Ecrire (x,"à la puissance",n,"est égal à" ,puiss)
Fin

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple 2

Calculer x à la puissance n où x sont des entiers non nul et positifs (en utilisant les
boucles Pour et TantQue) AlgorithmePuissanceBoucleTantQue

Variables
x, puiss : reel
n, i : entier
Debut
Ecrire(" Entrez respectivement les valeurs de x et n")
Lire(x, n)
puiss ← 1
i←1
TantQue (i<=n)
puiss ← puiss*x
i ← i+1
FinTantQue
Ecrire (x,"à la puissance",n,"est égal à" ,puiss)
Fin

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Répéter
instructions
Jusqu’à 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)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple

Un algorithme qui détermine le premier nombre entier N tel que la somme de 1 à N


dépasse strictement 100 (version avec répéter jusqu’à)

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles Choix d’un type de boucle

Exemple

Un algorithme qui détermine le premier nombre entier N tel que la somme de 1 à N


dépasse strictement 100 (version avec répéter jusqu’à) AlgorithmeSomme

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

KHOUKHI Saâdia L’algorithmique


Définitions et concepts de base Boucle Tant que
Algorithmique- Notions et instructions de base Boucle Pour
Les structures Conditionnelles Les boucles Répéter . . . jusqu’à . . .
Les boucles 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’à

KHOUKHI Saâdia L’algorithmique

Vous aimerez peut-être aussi