Vous êtes sur la page 1sur 5

Besoin a des concepts de

ruptures de séquence
Algorithmique Algorithme
 Rare les algorithme qui peuvent se
Calcul_Aire décrire uniquement par un
Constantes enchaînement séquentiel d’opération
élémentaire
Pi = 3,14159
Variables
 On a besoin a des concept de rupture de
Rayon, Surface : réels
Chapitre 2 - Les structures
séquence comme les test et les boucles
Début Ex :
Conditionnelles écrire (" donner rayon")
lire (Rayon)
 un algorithme qui affiche un nombre s’il
est positif ou négatif
 un algorithme qui résout une équation
Surface  Pi * (Rayon)^2
de deuxième degré
écrire (Surface)
Fin

39 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 40

Tests: instructions conditionnelles (1) Tests: instructions conditionnelles (2)


 Les instructions conditionnelles servent à n'exécuter une instruction
ou une séquence d'instructions que si une condition est vérifiée
Si
 On utilisera la forme suivante: Si condition alors
instruction ou suite d'instructions1
vrai faux
Sinon Condition?
instruction ou suite d'instructions2
Séquence Séquence
Finsi d’instructions 1 d’instructions 2
• la condition ne peut être que vraie ou fausse
• si la condition est vraie, se sont les instructions1 qui seront exécutées
Suite de l’algorithme
• 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 Schéma d’exécution d’une instruction conditionnelle alternative

2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 41 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 42
Tests: instructions conditionnelles (3) Tests: instructions conditionnelles (4)
 La partie Sinon n'est pas obligatoire, quand elle n'existe pas et que
la condition est fausse, aucun traitement n'est réalisé Si

• On utilisera dans ce cas la forme simplifiée suivante:


vrai faux
Si condition alors Condition?
instruction ou suite d'instructions1
Séquence
Finsi d’instructions 1

Suite de l’algorithme

Schéma d’exécution d’une instruction conditionnelle simple

2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 43 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 44

Exemple (Si…Alors…Sinon) Exercice (tests)


Ecrire un algorithme qui demande un nombre entier à l'utilisateur,
Algorithme AffichagePositif_Negatif
puis qui teste et affiche s'il est divisible par 3
Variable x : réel
Algorithme Divsible_par3
Début
Ecrire (" Entrez un réel : “) Variable n : entier
Lire (x) Début
Ecrire (" Entrez un entier : “)
Si x < 0 alors
Ecrire ("la valeur est négative") Lire (n)
Sinon Si (n mod 3=0) alors
Ecrire ("la valeur est positive") Ecrire (n," est divisible par 3")
Finsi Sinon
Fin Ecrire (n," n'est pas divisible par 3")
Finsi
Fin
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 45 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 46
Conditions composées Tables de vérité
 Une condition composée est une condition formée de plusieurs C1 C2 C1 ET C2 C1 C2 C1 OU C2
conditions simples reliées par des opérateurs logiques:
VRAI VRAI VRAI VRAI VRAI VRAI
ET, OU, OU exclusif (XOR) et NON
VRAI FAUX FAUX VRAI FAUX VRAI
 Exemples : FAUX VRAI FAUX FAUX VRAI VRAI
• x compris entre 2 et 6 : (x > 2) ET (x < 6) FAUX FAUX FAUX FAUX FAUX FAUX

• n divisible par 3 ou par 2 : (n mod 3=0) OU (n mod 2=0)


C1 C2 C1 XOR C2 C1 NON C1
• deux valeurs et deux seulement sont identiques parmi a, b et c :
VRAI VRAI FAUX VRAI FAUX
(a=b) XOR (a=c) XOR (b=c)
VRAI FAUX VRAI FAUX VRAI
FAUX VRAI VRAI
 L'évaluation d'une condition composée se fait selon des règles
présentées généralement dans ce qu'on appelle tables de vérité FAUX FAUX FAUX

2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 47 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 48

Tests imbriqués:
Tests imbriqués exemple Nombre nul, Négatif ou Positif (version 1)
 Les tests peuvent avoir un degré quelconque d'imbrications Variable n : entier
Si condition1 alors Début
Ecrire ("entrez un nombre : ")
Si condition2 alors
Lire (n)
instructionsA Si n < 0 alors
Sinon Ecrire ("Ce nombre est négatif")
instructionsB Sinon
Finsi Si n = 0 alors
Sinon Ecrire ("Ce nombre est nul")
Si condition3 alors Sinon
instructionsC Ecrire ("Ce nombre est positif")
Finsi Finsi
Finsi
Finsi
Fin
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 49 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 50
Tests imbriqués:
exemple Nombre nul, Négatif ou Positif (version 2) Tests imbriqués: exercice
Variable n : entier
Début Le prix de photocopies dans une reprographie varie selon le
Ecrire ("entrez un nombre : ") nombre demandé: 50 mm la copie pour un nombre de copies
Lire (n) inférieur à 10, 40 mm pour un nombre compris entre 10 et 20 et
Si n < 0 alors Ecrire ("Ce nombre est négatif") 30 mm au-delà.
Finsi
Si n = 0 alors Ecrire ("Ce nombre est nul") Ecrivez un algorithme qui demande à l’utilisateur le nombre de
Finsi photocopies effectuées, qui calcule et affiche le prix à payer
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é)

2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 51 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 52

Tests imbriqués: corrigé de l'exercice Tests imbriqués: Exercice 2


Variables copies : entier
prix : réel
Début Écrire l’algorithme du traitement qui calcule le discriminant
Ecrire ("Nombre de photocopies : ") DELTA du second degré AX2 + BX + C et qui, en fonction de
Lire (copies) son signe, calcule et affiche la ou les racines réelles s’ils
Si copies < 10 Alors existent.
prix ← copies*50
Sinon Si copies < 20 Les trois coefficients A, B et C seront saisis au clavier avant
prix ← copies*40 traitement.
Sinon
prix ← copies*30
Finsi
Finsi
Ecrire (“Le prix à payer est : ”, prix)
Fin

2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 53 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 54
Tests imbriqués: corrigé de l'exercice 2 Tests: structure de sélection multiple (1)
Algorithme Equation_second_degre
Variables A, B, C, Delta, X1, X2 : réels  Syntaxe générale
Début
Ecrire ("donner les trois coeficients A, B, C")
Lire (A, B, C) Selon <sélecteur> Faire
Delta ← B^2 – 4*A*C Liste de valeurs 1: <séquence d’instructions 1>
Si (Delta < 0) Alors
Liste de valeurs 2: <séquence d’instructions 2>
Ecrire ("pas de racine réelle") ……
Sinon Liste de valeurs n: <séquence d’instructions n>
Si (Delta > 0) Alors
X1 ← (-B + (delta)^(1/2)) / (2*A) Sinon
X2 ← (-B - (delta)^(1/2)) / (2*A) <Autre séquence d’instructions n>
Ecrire (" les deux racines réelles : ", X1, X2)
Sinon finSelon
X1 ← (-B ) / (2*A)
Ecrire (" une racine réelle : ", X1)  Le sélecteur est une variable ou une expression de type scalaire (le résultat
Finsi
Finsi est un entier ou un caractère).
 La séquence d’instructions numéro i sera exécutée si la valeur du sélecteur
Fin appartient à la ième liste de valeurs

2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 55 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 56

Exercice: structure de sélection multiple Exercices


Exercice 1
Ecrire un algorithme qui calcule la somme de quatre nombres du type entier entrés
Écrire un algorithme qui permet de lire un numéro compris au clavier,
entre 1 et 12 et d’afficher le nom du mois correspondant. Si le - En se servant de 5 variables (mémorisation des valeurs entrées)
numéro est en dehors de cet intervalle, un message d’erreur - En se servant de 2 variables (perte des valeurs entrées)
Exercice 2
doit être affiché.
Ecrire un algorithme qui permet d’ajouter une seconde à une heure donnée, l’heure
se composera de trois variables : H pour les heures, M pour les minutes et S pour
les secondes.
Exercice 3
Ecrire un algorithme qui permet de calculer et afficher la valeur d’une expression
formée de deux entiers séparés par un opérateur élémentaire (+, −, *, / ou %) lus a
partir du clavier dans cet ordre (entier 1 puis opérateur puis entier 2).

2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 57 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 58

Vous aimerez peut-être aussi