Vous êtes sur la page 1sur 5

29/05/2012

Tests / branchements conditionnels Tests / branchements conditionnels


En fonction dune condition on agit
diffremment Boolen est une expression dont la valeur
est:
Il y a 2 formes possibles pour un test:
test:
VRAI ou FAUX.
Si boolen Si boolen Alors
Alors Instructions 1
Instructions Cela peut tre:
Sinon
Finsi une variable de type boolen
Instructions 2
une condition
Finsi
FSR - M. HIMMI 2012 1 FSR - M. HIMMI 2012 2

Tests Tests
Tests imbriqus
Une condition est une expression Si boolen1 Alors  Les tests
compose de trois lments: instructions imbriqus sont
Si boolen2 des outils de
simplification et
Alors d'optimisation
une valeur instructions des algorithmes
un oprateur de comparaison Sinon
une autre valeur instructions
Finsi
Finsi
FSR - M. HIMMI 2012 3 FSR - M. HIMMI 2012 4

Algorithmique SMP-SMC S2 2011-2012 1


29/05/2012

Tests Exercice 15
SinonSi Sinon et Si
Si boolen1 Alors peuvent tre
instructions fusionns en Ecrire un algorithme qui demande
un SinonSi.
SinonSi.
SinonSi boolen2 alors deux nombres lutilisateur et
instructions
 C'est un seul
linforme ensuite si le produit est
sinon bloc de test, ngatif, positif ou nul. On ne doit pas
instructions termin par calculer le produit !
Finsi un seul FinSi

FSR - M. HIMMI 2012 5 FSR - M. HIMMI 2012 6

Exercice 16 Exercice 17
Ecrire un algorithme qui demande
lge dun enfant lutilisateur. Ecrire un algorithme qui lira au clavier
Ensuite, il linforme de sa catgorie: lheure et les minutes, et affichera lheure
quil sera une minute plus tard.
"Poussin" de 6 7 ans
"Pupille" de 8 9 ans Si l'utilisateur tape 21 puis 32, l'algorithme
doit rpondre :
"Minime" de 10 11 ans
"Dans une minute, il sera 21 heure(s) 33".
"Cadet" aprs 12 ans
On suppose que l'utilisateur entre une heure
Peut-on concevoir plusieurs algorithmes valide.
quivalents menant ce rsultat ?
FSR - M. HIMMI 2012 7 FSR - M. HIMMI 2012 8

Algorithmique SMP-SMC S2 2011-2012 2


29/05/2012

Exercice 18 Boucles / structures itratives


Un magasin de photocopie facture Rpter des instructions tant quune
condition est vrifie
0,50Dh les dix premires pages,
une structure de boucle se prsente ainsi:
0,40Dh les vingt suivantes et 0,20Dh
TantQue boolen
au-del.
Instructions

Ecrivez un algorithme qui demande FinTantQue
lutilisateur le nombre de photocopies Etapes:
1. Si boolen est VRAI, on excute les instructions
effectues et qui affiche le montant jusqu' FinTantQue.
FinTantQue.
2. On retourne ensuite sur la ligne TantQue
TantQue,, on value
payer. boolen,, et ainsi de suite.
boolen
3. Si boolen est FAUX on passe directement la ligne
FSR - M. HIMMI 2012 9 aprs FinTantQueFSR - M. HIMMI 2012 10

Boucles / structures itratives Boucles / structures itratives


Rpter des instructions un nombre de fois
Erreur classique:
une autre structure de boucle:
boolen n'est jamais VRAI.
VRAI. Le Pour Compteur Initial Final Pas ValeurDuPas
programme ne rentre alors jamais dans
la boucle Instructions

Compteur suivant
boolen ne devient jamais FAUX.
FAUX.
L'ordinateur tourne alors dans la
boucle et n'en sort plus, C'est la TantQue : on ne connat pas d'avance le nombre
de fois
"boucle infinie"
Pour : le programmeur connat d'avance le nombre
de fois
FSR - M. HIMMI 2012 11 FSR - M. HIMMI 2012 12

Algorithmique SMP-SMC S2 2011-2012 3


29/05/2012

Boucles / structures itratives Boucles


Boucles imbriques mais pas croises viter !
Variables Truc, Trac en Entier Examinons l'algorithme suivant :
Dbut
Pour Truc 1 15 Variable T en Entier
Ecrire "Il est pass par ici" Dbut
Pour Trac 1 6 Pour T 1 15
Ecrire "Il repassera par l" TT*2
Trac Suivant Ecrire "Passage numro : ", T
Truc Suivant T Suivant
Fin Fin
FSR - M. HIMMI 2012 13 FSR - M. HIMMI 2012 14

Exercice 19 Exercice 20
Ecrire un algorithme qui demande un
nombre compris entre 10 et 20, Ecrire un algorithme qui demande un
jusqu ce que la rponse convienne. nombre de dpart, et qui ensuite
En cas de rponse suprieure 20, affiche les dix nombres suivants. Par
on fera apparatre un message : exemple, si l'utilisateur entre le
Plus petit !, et inversement, Plus nombre 17, le programme affichera
grand ! si le nombre est infrieur les nombres de 18 27.
10.

FSR - M. HIMMI 2012 15 FSR - M. HIMMI 2012 16

Algorithmique SMP-SMC S2 2011-2012 4


29/05/2012

Exercice 21 Exercice 22
Ecrire un algorithme qui demande un
nombre de dpart, et qui ensuite crit
la table de multiplication de ce Ecrire un algorithme qui demande un
nombre, prsente comme suit nombre de dpart, et qui calcule sa
(l'utilisateur entre le nombre 7): factorielle.

Table de 7 :
7x1=7
7 x 2 = 14

7 x 10 = 70
FSR - M. HIMMI 2012 17 FSR - M. HIMMI 2012 18

Exercice 23
Ecrire un algorithme qui demande
successivement 20 nombres
lutilisateur, et qui lui dise ensuite quel
tait le plus grand parmi ces 20
nombres et sa position

FSR - M. HIMMI 2012 19 FSR - M. HIMMI 2012 20

Algorithmique SMP-SMC S2 2011-2012 5