29/05/2012
Algorithmique SMP-SMC S2 2011-2012 1
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 11
En fonction d’une condition on agit En fonction d’une condition on agit
différemment différemment
Il y a 2 formes possibles pour un testIl y a 2 formes possibles pour un test::
Tests / branchements conditionnelsTests / branchements conditionnels
SiSi booléen booléen
AlorsAlors
InstructionsInstructions
FinsiFinsi
SiSi booléen booléen AlorsAlors
Instructions 1Instructions 1
SinonSinon
Instructions 2Instructions 2
FinsiFinsi
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 22
Booléen est une Booléen est une expressionexpression dont la valeur dont la valeur
est:est:VRAI ou FAUX.VRAI ou FAUX.
Cela peut être:Cela peut être:
une variable de type booléen une variable de type booléen
une conditionune condition
Tests / branchements conditionnelsTests / branchements conditionnels
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 33
Une condition est une expressionUne condition est une expression
composée de trois éléments:composée de trois éléments:
une valeur une valeur
un opérateur de comparaison un opérateur de comparaison
une autre valeurune autre valeur
TestsTests
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 44
Tests imbriquésTests imbriqués
SiSi booléen1 booléen1 AlorsAlors
instructionsinstructions
SiSi booléen2booléen2
AlorsAlorsinstructionsinstructions
SinonSinon
instructionsinstructions
FinsiFinsi
FinsiFinsi
TestsTests
Les tests Les tests
imbriqués sont imbriqués sont
des outils de des outils de
simplification et simplification et
d'optimisation d'optimisation
des algorithmesdes algorithmes
29/05/2012
Algorithmique SMP-SMC S2 2011-2012 2
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 55
TestsTests
Sinon et Si Sinon et Si
peuvent être peuvent être
fusionnés en fusionnés en
un un SinonSiSinonSi..
C'est un seul C'est un seul
bloc de test, bloc de test,
terminé par terminé par
un seul FinSiun seul FinSi
SinonSiSinonSi
SiSi booléen1 booléen1 AlorsAlors
instructionsinstructions
SinonSiSinonSi booléen2 booléen2 alorsalors
instructionsinstructions
sinonsinon
instructionsinstructions
FinsiFinsi
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 66
Exercice 15Exercice 15
Ecrire un algorithme qui demande
deux nombres à l’utilisateur et
l’informe ensuite si le produit est
négatif, positif ou nul. On ne doit pas
calculer le produit !
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 77
Exercice 16Exercice 16
Ecrire un algorithme qui demande
l’âge d’un enfant à l’utilisateur.
Ensuite, il l’informe de sa catégorie:
"Poussin" de 6 à 7 ans
"Pupille" de 8 à 9 ans
"Minime" de 10 à 11 ans
"Cadet" après 12 ans
Peut-on concevoir plusieurs algorithmes
équivalents menant à ce résultat ? FSR FSR -- M. HIMMI 2012M. HIMMI 2012 88
Exercice 17Exercice 17
Ecrire un algorithme qui lira au clavier
l’heure et les minutes, et affichera l’heure
qu’il sera une minute plus tard.
Si l'utilisateur tape 21 puis 32, l'algorithme
doit répondre :
"Dans une minute, il sera 21 heure(s) 33".
On suppose que l'utilisateur entre une heure
valide.
29/05/2012
Algorithmique SMP-SMC S2 2011-2012 3
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 99
Exercice 18Exercice 18
Un magasin de photocopie facture
0,50Dh les dix premières pages,
0,40Dh les vingt suivantes et 0,20Dh
au-delà.
Ecrivez un algorithme qui demande à
l’utilisateur le nombre de photocopies
effectuées et qui affiche le montant à
payer.
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1010
Répéter des instructions tant qu’une Répéter des instructions tant qu’une
condition est vérifiéecondition est vérifiée
une structure de boucle se présente ainsi:une structure de boucle se présente ainsi:
TantQue booléen
Instructions
FinTantQue
Etapes:
1.1. Si Si booléenbooléen est VRAI, on exécute les instructions est VRAI, on exécute les instructions
jusqu'à jusqu'à FinTantQueFinTantQue..
2.2. On retourne ensuite sur la ligne On retourne ensuite sur la ligne TantQueTantQue, on évalue , on évalue
booléenbooléen, et ainsi de suite., et ainsi de suite.
3.3. Si Si booléenbooléen est est FAUXFAUX on passe directement à la ligne on passe directement à la ligne
après après FinTantQueFinTantQue
Boucles / structures itérativesBoucles / structures itératives
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1111
Erreur classique:Erreur classique:
booléenbooléen n'est jamais n'est jamais VRAIVRAI. Le . Le
programme ne rentre alors jamais dans programme ne rentre alors jamais dans
la boucle…la boucle…
booléenbooléen ne devient jamais ne devient jamais FAUXFAUX. .
L'ordinateur tourne alors dans la L'ordinateur tourne alors dans la
boucle et n'en sort plus, C'est la boucle et n'en sort plus, C'est la
"boucle infinie""boucle infinie"
Boucles / structures itérativesBoucles / structures itératives
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1212
Répéter des instructions un nombre de fois…Répéter des instructions un nombre de fois…
une autre structure de boucle:une autre structure de boucle:
Pour Compteur Compteur Initial à à FinalFinal Pas Pas ValeurDuPasValeurDuPas
InstructionsInstructions
Compteur Compteur suivantsuivant
TantQue : on ne connaît pas d'avance le nombre TantQue : on ne connaît pas d'avance le nombre
de foisde fois
Pour : le programmeur connaît d'avance le nombre Pour : le programmeur connaît d'avance le nombre
de foisde fois
Boucles / structures itérativesBoucles / structures itératives
29/05/2012
Algorithmique SMP-SMC S2 2011-2012 4
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1313
Boucles imbriquées mais Boucles imbriquées mais pas croiséespas croisées
Variables Truc, Trac en EntierVariables Truc, Trac en Entier
DébutDébut
Pour Truc 1 à 15Pour Truc 1 à 15
Ecrire "Il est passé par ici"Ecrire "Il est passé par ici"
Pour Trac 1 à 6Pour Trac 1 à 6
Ecrire "Il repassera par là"Ecrire "Il repassera par là"
Trac SuivantTrac Suivant
Truc SuivantTruc Suivant
FinFin
Boucles / structures itérativesBoucles / structures itératives
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1414
à éviter !à éviter !
Examinons l'algorithme suivant :Examinons l'algorithme suivant :
Variable T en EntierVariable T en Entier
Début Début
Pour T 1 à 15Pour T 1 à 15
T T * 2T T * 2
Ecrire "Passage numéro : ", TEcrire "Passage numéro : ", T
T SuivantT Suivant
FinFin
BouclesBoucles
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1515
Exercice 19Exercice 19
Ecrire un algorithme qui demande un
nombre compris entre 10 et 20,
jusqu’à ce que la réponse convienne.
En cas de réponse supérieure à 20,
on fera apparaître un message :
«Plus petit !», et inversement, «Plus
grand !» si le nombre est inférieur à
10.
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1616
Exercice 20Exercice 20
Ecrire un algorithme qui demande un
nombre de départ, et qui ensuite
affiche les dix nombres suivants. Par
exemple, si l'utilisateur entre le
nombre 17, le programme affichera
les nombres de 18 à 27.
29/05/2012
Algorithmique SMP-SMC S2 2011-2012 5
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1717
Exercice 21Exercice 21
Ecrire un algorithme qui demande un
nombre de départ, et qui ensuite écrit
la table de multiplication de ce
nombre, présentée comme suit
(l'utilisateur entre le nombre 7):
Table de 7 :
7 x 1 = 7
7 x 2 = 14
7 x 10 = 70
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1818
Exercice 22Exercice 22
Ecrire un algorithme qui demande un
nombre de départ, et qui calcule sa
factorielle.
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 1919
Exercice 23Exercice 23
Ecrire un algorithme qui demande
successivement 20 nombres à
l’utilisateur, et qui lui dise ensuite quel
était le plus grand parmi ces 20
nombres et sa position
FSR FSR -- M. HIMMI 2012M. HIMMI 2012 2020
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !