Vous êtes sur la page 1sur 54

ALGORITHMIQUE

ILBOUDO Alfred
2021-2022
1
Plan
• Définition de l’informatique • Les Expressions
• Définition de l’ordinateur • Les Opérateurs
• Architecture générale d’un • Les Opérateurs arithmétiques
ordinateur • Evaluation expression logique
• Le logiciel • Structures conditionnelles
• Traitement de l’information • Structures itératives
• Notion de programme • Les structures algorithmiques
• Intérêt de l’algorithme élémentaires
• notion de langage de • Chaine de caractères
programmation • Tableaux
• Notion de l’algorithme • Procédures et fonctions
• Les étapes de résolution d’un • Compléments sur les tableaux
problème • La récursivité
• Structure de l’algorithme • Les structures
• Données élémentaires • Les pointeurs
• Structures de base • La gestion dynamique de la
• Exemple d’algorithme mémoire
• Méthodes de représentation des • Les Listes Chainées
algorithmes • Les Fichiers
Définition de l’informatique
L’Académie française en 1967 défini
l’informatique comme : "La science du
traitement rationnel, notamment par machines
automatiques, de l’information considérée
comme le support des connaissances humaines
et des communications dans les domaines
technique, économique et sociale"

3
Définition de l’ordinateur
En partant de la définition de l’informatique comme la
science du traitement rationnel de l’information, on peut dire
qu’un ordinateur est une machine qui traite automatiquement
l’information. L’information est fournie sous forme de
données (est la représentation d’une information sous une
forme conventionnelle (codée) destinée à faciliter son
traitement) traitées par des programmes (exécutés par des
ordinateurs). Un ordinateur est constitué de matériels
(hardware) et de logiciels (software).
4
Composition d’un ordinateur (1/2)
Un ordinateur se compose des éléments suivants :
• L’unité centrale, comportant elle-même :
- Le processeur, dont le rôle consiste à exécuter les

instructions d’un programme, se compose de l’ unité

de commande (prise en compte successive de chaque

instruction ) et de l’unité arithmétique et logique(

exécution de chaque instruction)


- La mémoire centrale qui se compose de la mémoire
vive ou la mémoire RAM (Random Acess Memory) et la
mémoire morte ou la mémoire ROM (Read Only
Memory)
5
Composition d’un ordinateur (2/2)
• Des organes extérieurs, appelés aussi périphériques se
composent :
- Organes de stockage des données et des
programmes non en cours de traitement (exemple :
disque magnétique, disquette, unité de bande
magnétique, CD-ROM …)
- Organes de communication homme machine
(exemple : clavier, écran, imprimante, scanner, souris,
écran tactile…)

6
Le logiciel
Matériel = moyen physique à mettre en œuvre
Logiciel = moyen logique de mise en œuvre
On peut classer les logiciels en trois niveaux :
• Le système d’exploitation (Operating System ou OS en
anglais) a pour rôle de gérer le fonctionnement du matériel,
de manière que ce dernier exécute correctement les
instructions prévues
• Un logiciel outil a pour rôle de formaliser des fonctions
générales sous une forme utilisable par l’homme
• Un logiciel d’application a pour rôle de fournir un
traitement répondant à un besoin spécifique de l’utilisateur.
7
Notion de l’algorithme (1/3)
• Définition : un algorithme est un langage de description des
étapes nécessaires à la résolution d’un problème. Il décrit une
succession d’opérations à exécuter dans un certain ordre et suit
certaines conditions pour passer des données d’entrées
(données de départ ) au résultat. L’algorithme est donc une suite
ordonnée d'Operations permettant d’obtenir un résultat
déterminé.
• Tout algorithme est caractérisé par :
- Un début et une fin : c’est-à-dire contenir un nombre fini
d’opérations.
- L’algorithme doit utiliser des données connues par
l’utilisateur.
- Un ordre d’exécution de ces différentes opérations
déterminé par la logique d’enchaînement et conditionné par
les structures mises en œuvre. 8
Notion de l’algorithme (2/3)
• L’algorithme est le résultat d’une démarche logique de
résolution d’un problème pour la mise en œuvre pratique sur
ordinateur.
• l’Algorithmique est la logique d’écrire des algorithmes. Elle
est une étude comparatives des différentes algorithmes.
C’est-à-dire l’étude et la production de règles et techniques qui
sont impliquées dans la définition et la conception
d’algorithme.
• La suite d’opérations sera composée d’actions élémentaires
appelées instructions.
• Exemple : Ecrire un algorithme permettant de calculer et
d’afficher la surface d’un cercle.

9
Notion de l’algorithme (3/3)
L’algorithme doit respecter les règles suivantes :

• Il est définit sans ambiguïté

• Il se termine après un nombre fini d’opérations

• IL doit être effectif : toutes les opérations doivent pouvoir être


effectuées par un homme utilisant des moyens manuels

• IL manipule des objets qui doivent être définis de manière très


précise.

10
Historique (1/2)
L’algorithmique est un terme d’origine arabe, comme l’algèbre.

Le mot algorithme vient du nom d’un mathématicien persan ( peuple


iranien) Al Khwarizmi ( Abu Djafar Muhammad ibn Musa, dit al-
Kharezmi, ou al-Kwharizmi) né en 783 (783-85). Il est notamment
l’auteur de « l’abrégé du calcul par la restauration et la comparaison »,
à l’origine de l’algèbre.

Le mot algorithme a été forgé au moyen-âge pour désigner les


techniques de calcul écrit liées au système de numération de position,
autrement dit le calcul sur les chiffres, introduit en Europe par les
Arabes.

11
Historique ( 2/2)
Pour Wikipedia : «Le domaine qui étudie les algorithmes est appelé
l'algorithmique. On retrouve aujourd'hui des algorithmes dans de
nombreuses applications telles que le fonctionnement des ordinateurs,
la cryptographie, le routage d'informations, la planification et
l'utilisation optimale des ressources, le traitement d'images, le
traitement de textes, la bio-informatique, etc. »

12
Efficacité d'un algorithme
L'efficacité d'un algorithme est mesurée notamment par :

• sa durée d’exécution : durée de calcul;

• sa consommation de mémoire vive : en partant du principe


que chaque instruction a un temps d'exécution constant ;

• la précision des résultats obtenus;

• sa scalabilité : sa capacité à maintenir ses fonctionnalités et ses


performances en cas de forte demande ou son aptitude à être
efficacement parallélisé.

13
Traitement de l’information
Le traitement de l’information correspond à effectuer l’une ou
l’autre des actions suivantes sur cette information : création,
modification, la saisie, la suppression, la lecture, l’écriture, le tri,
la fusion, le calcul, la comparaison …

Un traitement guide toujours à obtenir un résultat à partir de


données initiales.
Traitement
Données Résultat

Long, larg S=long x larg Surface


14
Intérêt de l’algorithme
• La raison d’être d’un algorithme est d’écrire les étapes de
résolution d’un programme informatique dans un langage
compréhensible par l’homme et exécutable par l’homme.
• Informatiser une application.
• Réaliser par ordinateur, une tâche qui était réalisée par
l’Homme .

15
Notion de programme
• C’est un ensemble d’instructions ( d’ordres ) nécessaires à
l’exécution d’une tâche donnée. Un programme est alors une
suite ordonnée d’instruction.

• Le programme est décrit dans un langage de programmation.

Exemple de langage de programmation : C, C++, Java …

16
La notion de langage de programmation
La machine ne comprend que le langage binaire qui est d’un
maniement très difficile pour l’homme.
Pour passer de l’homme à la machine, c’est-à-dire du
langage naturel au langage binaire il existe une véritable hiérarchie
des langues. Homme

Langage naturel

Langage informatique évolué

traducteur

Langage binaire

Machine

17
Les étapes de résolution d’un problème
1) Comprendre l’énoncé du problème : qu’est ce qu’on me
demande comme résultat à obtenir. (Calculer la surface et
afficher).
2) Les données nécessaires : qu’est ce qu’il me faut avoir
comme information au départ pour pouvoir calculer la
surface du cercle ( il me faut un rayon).
3) Les données résultantes : A partir des informations de
départ comment obtenir le résultat qu’on me demande.
(Par la formule du surface S=∏R2)
4) La démarche à suivre pour arriver au résultat en partant
d’un ensemble de données
5) Elaboration d'un algorithme.
18
Structure de l’algorithme
ALGORITHME nom_algorithme

{*Déclaration de variables ou réserver un emplacement mémoire*}

CONST {*Définition des constantes*}

TYPE {*Définition de types*}

VAR {*Déclaration de variables*}

DEBUT

{*Suite d’instructions*}

FIN
19
Données élémentaires (1/5)
• Tout algorithme utilise des objets ou données élémentaires
comme par exemple des littéraux, des constantes ou des
variables :
– Variable : un objet appelé à subir des transformations au
sein de l’algorithme. C’est une donnée dont la valeur peut
changer au cour de l’exécution du programme qui l’utilise.
La variable porte toujours un nom. Une variable est un
nom donné à une zone mémoire.
– Constante : un objet non modifiable par l’algorithme. C’est
une donnée qui reste fixe pendant tout le déroulement du
programme.
– Littéral : valeur de type numérique ou alphanumérique ,
exemple : 15 ; 40.5 ; ‘Bonjour’.
20
Données élémentaires (2/5)
• Constante et variable se caractérisent par :
– Un identificateur : nom de l’objet ou de la donnée qui ne doit
pas contenir d ‘espace.
– Une valeur : contenu de l’objet.
– Un type : domaine où l’objet puise sa valeur.
• Exemples :
– Const
Pi=3.1416 (Constante du type numérique)
A="Ali" (Constante du type chaine de caractère)
– Var
Diametre, salaire : réel
21
Données élémentaires (3/5)
• Les règles portant sur un identificateur sont entre autres :

– un identificateur est une suite de lettres et de chiffres


contigus(c’est à dire sans espace), dont le premier est une
lettre.

– En toute circonstance une lettre majuscule est tenue pour


différente de la lettre minuscule correspondante

– Exclure la plupart des signes de ponctuation

– Utiliser au maximum trente(30) caractères( dans le langage


de programmation il dépendra du langage utilisé)
22
Données élémentaires (4/5)
Notion d’objet :
• Le traitement d’un objet concerne la valeur de cet objet. Si
cette valeur ne peut pas être modifiée, nous parlons de
constante, sinon nous parlons de variable.
• Un objet est parfaitement défini si nous connaissons ses
trois caractéristiques :
– Son identificateur
– Sa valeur : constante ou variable
– Son type de données

23
Données élémentaires (5/5)
Types d’objets existants :
Types d’objets Exemple de opérations
valeurs possibles
Booleen Vrai, Faux Comparaison(=,<,>,..),NON,ET,OU.
Caractère ''A'' Comparaison, conversion
Entier 45 123 arithmétiques classiques : + (addition), -
(soustraction), * (produit), DIV (division entière)
comparaison classiques : <, >, =, ...
Réel 12,345 arithmétiques classiques : + (addition), -
(soustraction), * (produit), / (division)
comparaison classiques : <, >, =, ...
Chaine ''Bonjour monsieur'' Comparaison, longueur, extraction,
concaténation.
Une variable de type caractère ne peut contenir qu'un seul et unique caractère.
En pseudo-code, une chaîne de caractères est toujours notée entre guillemets

24
Structures de base (1/4 )
• Déclaration des variables : elle consiste avant de pouvoir
utiliser une variable, d’effectuer une réservation de zone
memoire ou cellule mémoire en associant à ce dernier :
– Un nom de la variable
– Un type de données
• Syntaxe de déclaration d’une variable :
<Nom_de_la_Vaiable> <:> <Type_De_Données>
Exemple : salaire : réel
• Les commentaires : un commentaire est un texte ajouté à
l’algorithme(programme) servant à décrire certaines parties
afin de faciliter la compréhension des dites parties par les
humains mais ignoré par la machine pendant l’execution. Les
commentaires servent seulement à documenter l’algoritme.
On les note : " {* ceci est un commentaire *} "
25
Structures de base (1/4 )
• L’affectation : C’est l’attribution d’une valeur à une variable.
Cette valeur est placée dans une zone de la mémoire appelée
ZONE MÉMOIRE ou CELLULE MEMOIRE.
– Le symbole utilisé est : ←
– Exemple : A ← 5 ( affecté la valeur 5 dans la zone
mémoire appelée A)
C ← "BINTOU" ( affecté le mot "BINTOU"
dans la zone mémoire appelée C)
– Une instruction d’affectation ne modifie que ce qui est situé
à gauche de la flèche.
NB : On utilisera le signe "=" pour les tests d’égalité avec les
instuctions logiques

26
Structures de base (2/4 )
• L’initialisation : C’est l’attribution d’une valeur initiale
(valeur de départ) à une variable.
• L’incrémentation : c’est le fait d’ajouter une valeur
constante à l’ancienne valeur d’une variable.
Exemple : I ← I + 1
Nouvelle valeur de I Ancienne valeur de I avant
après l’incrémentation l’incrémentation

• Décrémentation : c’est diminué une valeur fixe de la


valeur d’une variable. Exemple : I ← I -3
Ancienne valeur de I avant
Nouvelle valeur de I
décrémentation
après décrémentation

27
Structures de base (3/4)
• Instruction d’entrée ou Instruction de Lecture (Lire, Entrer) : C’est le
transfert de l’information d’une mémoire secondaire (disque dur, bande
magnétique, disque amovible) ou du clavier vers la mémoire centrale de
l’ordinateur. Instruction d’entrée autorise la saisie de l’information à partir du
clavier.

Lire Nom_variable : Consiste à affecter une valeur saisie à partir du clavier à


une variable.

• Dès que le programme rencontre une instruction Lire, l’exécution s’interrompt,


attendant la frappe d’une valeur au clavier.

• Aussitôt que la touche Entrée (Enter ) a été frappée, l’exécution reprend.

28
Structures de base (4/4)
• Les instructions de sortie (Ecrire, Afficher) : c’est le
transfert de l’information de la mémoire centrale de
l’ordinateur vers une mémoire secondaire , vers l’écran ou
vers l’imprimante. Les instructions de sortie autorisent :
– L’affichage des informations à l’écran.
– L’impression des informations sur papier
• Ecrire Nom_variable : permet d’écrire la valeur d’une
variable sur un support externe.

29
Exemple d’algorithme
ALGORITHME CalculSomme
VAR
A: entier
B , Somme : entier
Début
Somme ←0
Ecrire ('' Taper le premier nombre : '')
Lire A
Ecrire ('' Taper le deuxième nombre : '')
Lire B
Somme ← A+B
Ecrire ('' la somme est de : '', Somme)
Fin

Remarques :
• Les messages à afficher sont définis entre '' ''.
• On peut saisir plusieurs variables en une seule fois, séparées par une virgule.
• A la rencontre d’une instruction lire, le programme est interrompu.
• L’utilisateur doit alors entrer la donnée.
• La saisie est terminée par l’appui sur la touche entrée.
• Le déroulement du programme se poursuit.
• Le corps de l’algorithme qui fournit sa définition est défini entre Début … fin.
30
Notion langage Machine et Langage Evolué
• Si on programmait dans un langage directement
compréhensible par la machine, on devrait désigner nos
données par des adresses mémoires telles que 10011001 et
autres 01001001. De tels langages portent le nom
d’assembleur.
• Les langages informatiques plus évolués se chargent
précisément, d’épargner au programmeur la gestion
fastidieuse des emplacements mémoire et de leurs adresses.

31
Méthodes de représentation des
algorithmes (1/4)
On utilise plusieurs méthodes de représentation des algorithmes :

• Le langage structuré ou pseudo-code : permet d’écrire nos


algorithme dans un langage naturel tel que le français.

• L’organigramme : c’est un graphe orienté permettant de


représenter un algorithme. C’est la représentation graphique à
l’aide de symboles conventionnels des différentes étapes
nécessaires à la résolution d’un problème.

• les tables de décision : est un outil très performant pour


représenter avec beaucoup de clarté des alternatives complexes.

32
Méthodes de représentation des
algorithmes (2/4)
Les principaux symboles utilisés dans les organigrammes

• Le rectangle : représente le contenu de chaque étapes de


traitement. Il définit une opération, un ensemble
d’opérations ou encore une action à réaliser.

• Les lignes et les flèches : servent à indiquer l’ordre


d’exécution des différentes opérations ou actions.

Exemples : Pi 3.14

S R * R * Pi

33
Méthodes de représentation des
algorithmes (3/4)
• Les symboles de début et de fin

DEBUT

FIN

34
Méthodes de représentation des
algorithmes (4/4)
• Les entrées / sorties
Exemples :

LIRE R ECRIRE R

• Le test logique

Vraie Fausse
Conditions

A B

Les actions à exécuter varies selon que la condition est vraie ou


fausse.
35
Les expressions
Une expression est un ensemble de valeurs ou de variables, reliées
par des opérateurs. Dans une expression comme celle de
l’instruction d’affectation, un certain nombre de règles doivent être
respectées :
• à gauche de la flèche, on doit avoir uniquement un nom de
variable. si on met à gauche d’une flèche d’affectation autre chose
qu’un nom de variable, cette instruction déclenchera une erreur.
• à droite de la flèche, ce qu’on appelle une expression.
• l’expression située à droite de la flèche doit être du même type que
la variable située à gauche
36
Les opérateurs
Un opérateur est un signe qui relie deux valeurs, pour produire un
résultat. Les opérateurs possibles dépendent du type de données.
On distingue :
• Les opérateurs arithmétiques : "+", "-", "/", "*"
• Les opérateurs de comparaisons : "<" , ">" , ">=" , "<="
• Opérateurs logiques (ou booléens) : "non ", " et " , " ou , xor (ou
OU exclusif)
Le XOR (ou OU exclusif) fonctionne de la manière suivante.
Pour que "Condition1 XOR Condition2" soit VRAI, il faut que soit
Condition1 soit VRAI, soit que Condition2 soit VRAI. Si toutes les
deux sont fausses, ou que toutes les deux sont VRAI, alors le
résultat global est considéré comme FAUX.
37
Les expressions arithmétiques (1/3)
Dans les expressions arithmétiques , on distingue les fonctions et les
opérateurs arithmétiques.
Les fonctions
• La fonction DIV permet de donner le résultat de la division entière
d’un nombre par un autre. 7 DIV 2 = 3
• La fonction MOD (se lit Modulo), permet de donner le reste de la
division entière d’un entier par un autre. 7 MOD 2 = 1
• La fonction ** ou ^ permet d’élever un nombre à la puissance d’un
autre. 2**3 =8
• La fonction ENT : la partie entière d’un réel. A ←Ent(4,55) A vaut 4
Les opérateurs
38
• Sont le "+", "-", "/", "*" ,"!=" , "<" , ">" , ">=" , "<=" et le "-" unaire.
Les expressions arithmétiques (2/3)
Ordre de priorité

• Les opérateurs suivants sont ordonnés du plus prioritaire au


moins prioritaire dans l'évaluation d'une expression arithmétique.

1- Les parenthèses

2- "- " unaire (unaire : il agit sur un seul argument, binaire…)

3- Les fonctions

4- Les opérateurs de multiplication " * " et de division " / "

5- Les opérateurs d’addition " + " et de soustraction " - "

39
Les expressions arithmétiques (3/3)

• Remarque : Si l’ordre entre les opérateurs dans une


expression est le même, on évalue l’expression de gauche à
droite.

• Exemples
3^2+4 = 9+4=13

• 3^(2+4)=3^6 car les parenthèses sont plus prioritaires

• 17 MOD 10 DIV 3=(17MOD10)DIV3=7DIV3=2

40
Exercice 1
1. Quel résultat produit le programme suivant ?
Debut
Var
a, b : entier
Début
a  461
ba*2
Ecrire a
Ecrire b
Fin

2. Ecrire un programme qui demande un nombre à l’utilisateur,


puis qui calcule et affiche le cube de ce nombre.
3. Ecrire un programme qui lit le prix HT d’un article, le nombre
d’articles et le taux de TVA, et qui fournit le prix total TTC
correspondant. Faire en sorte que des libellés apparaissent
clairement.
41
Exercice 2
4. On veut écrire l’algorithme qui permet de saisir 3 notes d’un étudiant
dans trois matières, étant donnés les coefficients respectifs 2, 3 et 1.
Ecrire un programme correspondant.
5. Evaluez ces expressions arithmétique. Dans le cas ou elles
contiennent des erreurs spécifiez cette erreur et corrigez la :
• 2*2=
• (2 + 3) * (10 - 2) - 12 * (1000 + 15) =
• 2 ++ 3 =
• 3 + 5 * 125 / 7 - 6 + 10=
• 2 + (5 * [4 - 9 * (3 + 6)] + 1) – 2=
• 2 + (5 * [4 - 9 * (3 + 6]) + 1) – 2=
• 2 + (5 * [4 - 9 * (3 + 6)] + 1) – 2)=
• 2 + (5 * [4 – 9 * (3 + 6)
42
Evaluation d'une expression logique
• Une condition est une expression de type logique. Deux valeurs possibles
VRAI et FAUX lui correspondent.
• Les opérateurs logiques sont :
– La négation : « non ». Exemple : NON(A<100) est équivalent à A>=100
– L'intersection : « et »
– L'union : « ou »
• Tableaux d’évaluations ou tables de vérité :
A Non A A B A et B A B A ou B
Vrai Faux Vrai Vrai Vrai Vrai Vrai Vrai
Faux Vrai Vrai Faux Faux Vrai Faux Vrai
Faux Vrai Faux Faux Vrai Vrai
Faux Faux Faux Faux Faux Faux

43
Les chaines de caractères
Fonctions Prédéfinies ou Primitives d’utilisation des chaînes de
caractères :
 LONGUEUR (<chaine>) : donne le nombre de caractères d’une chaîne.
 CONCAT (<chaine1>, <chaine2>) : renvoie la concaténation de deux
chaînes (ou plus).
 SUBSTR (<chaine>, <début>, <nbre_caractères>) : extraction dans
<chaine> à partir de la position <début> de <nbre_caractères>.
 RANG(<chaine1>, <chaine2>, <pos>) : recherche dans la chaine <chaine1>
la sous chaine <chaine2> à partir de la position <pos>. Si <chaine2> est
trouvée, la fonction produit la position du premier caractère de <chaine2>
dans <chaine1>, sinon 0.
 CODE(<caractère>) : renvoie la valeur du code numérique lié au caractère
 CAR(<nombre>) : restitue le caractère correspondant à cette valeur
numérique. CAR est la fonction réciproque de CODE
 CVCHAINE (<nombre>) : transforme <nombre> en type chaine
 CVNOMBRE (<caractères>) : transforme < caractères > en type numérique
44
Les chaines de caractères
EXEMPLE : RÉSULTATS
LONGUEUR ("étudiant") 8
CONCAT ("Bonjour", "à tous") "Bonjour à tous"
SUBSTR("Algorithmique",1,4) "Algo"
RANG("Informatique", "format", 2) 3
RANG("Informatique", "format", 4) 0
CODE("A") 65
CAR(65) "A"
CAR(CODE("A")) "A"
CVCHAINE(8) "8"
CVNOMBRE("8") 8
45
Exercice 6
1. Écrire un algorithme qui détermine si une chaîne est un
palindrome. Exemple : Ressasser

2. Ecrire un algorithme qui compte les occurrences


(nombre de caractères) d’un mot dans un texte.

46
Les structures algorithmiques
élémentaires (1/3)
Tout problème, même très complexe, se décompose en
blocs logiques d’opérations simples. Chacun de ces blocs logiques
correspond à l’une des trois structures algorithmiques de base :
linéaire, répétitive ou alternative.

• Structure linéaire ou séquentielle : les opérations


s’enchaînent les unes aux autres et sont exécutées une seule
fois.

Exemple : Pour calculer la surface d’un rectangle, toutes


les opérations sont exécutées et elles ne le sont qu’une seule fois.
47
Les structures algorithmiques
élémentaires (2/3)
• Structure alternative ou conditionnelle : au cours du
traitement un groupe d’opérations est exclusif d’un autre groupe
d’opération, L’un ou l’autre groupe est exécuté suivant la valeur
d’une condition. La présence d’un choix (lié à une condition) est
la caractéristique de la structure alternative.

Exemple : Pour facturer un client, on libelle la facture en


CFA s’il est burkinabé ; si le client est étranger, la facture est
libellée en dollars.

48
Les structures algorithmiques
élémentaires (3/3)
• Structure répétitive ou itérative ou les boucles : un ensemble
d’opérations est répété un certain nombre de fois avec des
données (généralement) différentes. Nous utilisons une
structure itérative lorsque l’action peut être exécutée 0 à N fois.
Autrement dit, lorsqu’il n’est pas exclu que les évènements
décrits se produisent 0 fois

Exemple : Pour faire le total des ventes du jour un groupe


d‘opérations est répété autant de fois qu’il y a de ventes à
traiter.
49
Structures conditionnelles (1/4)
• L’instruction conditionnelle SI
- Syntaxe
SI (<Condition>) ALORS
<Instructions>
FINSI
<Instructions suivantes ou suite du programme>
Avec Condition une expression à évaluer qui prendra comme valeur VRAI ou
FAUX.
- Format Organigramme
Faux Vrai
Conditions

Instructions

50
Structures conditionnelles (2/4)
L’instruction conditionnelle SI
- Exemple
SI (age>=15) ALORS
Ecrire nom
FINSI
- Format Organigramme

faux vrai
Age>=15

Ecrire nom

51
Structures conditionnelles
Ecrire l’algorithme permettant d’afficher la valeur absolue de la différence entre deux nombres
saisis au clavier. Exemple :
ALGORITHME ValeurAbsolue
VAR
resultat, Nombre1, Nombre2 : réel
DEBUT
{ * Initialisation de resultat *}
resultat  0
{ * Saisie des nombres*}
Ecrire (" Entrez la valeur du premier nombre")
Lire Nombre1
Ecrire (" Entrez la valeur du deuxième nombre")
Lire Nombre2
SI(Nombre1> Nombre2) ALORS
resultat  Nombre1- Nombre2
FINSI
SI(Nombre1<Nombre2) ALORS
resultat  Nombre2- Nombre1
FINSI
Ecrire ( " La valeur absolue de la différence de ", Nombre1, "et", Nombre2, "est", resultat)
FIN

52
Structures conditionnelles (3/4)
• L’instruction alternative SI….ALORS…SINON…FINSI
- Syntaxe
SI (<Condition>) ALORS
<Instructions>
SINON
<Instructions>
FINSI
<Instructions suivantes ou suite du programme>
- Format Organigramme

Vrai Faux
Conditions

Instructions 2 Instructions 1

53
Structures conditionnelles (4/4)
• Imbrication des SI : nous pouvons mélanger les structures
conditionnelles (SI…FINSI) et les structures alternatives
(SI…..SINON……FINSI)
- Syntaxe
SI (<Condition>) ALORS
SI (<Condition>) ALORS
SI (<Condition>) ALORS
<Instructions>
FINSI
FINSI
FINSI
<Instructions suivantes ou suite du programme>

54

Vous aimerez peut-être aussi