Telechargé par ABDELWAHAD MAAROUF

algorithmiqueii-141111160501-conversion-gate02

publicité
Algorithmique
et programmation procédurale
Chap II : Décisions, Itérations.
Lajouad Rachid
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Les conditionnelles
Si l'on veuille conditionner l'exécution d'un
algorithme, par exemple la résolution d'une
équation du second degré est conditionnée
par le signe de ∆
•Si .. Alors .. Sinon .. Finsi
•Cas ou … FinCas
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Si .. Alors .. Sinon .. Finsi
Mode de fonctionnement
de la structure si…sinon…
Début
condition !=0
oui
instruction1
non
instruction2
Fin
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Si .. Alors .. Sinon .. Finsi
• Sa syntaxe est :
Si ExpressionBooléenne alors
suite d'instructions executees si
l'expression est vrai
[Sinon
suite d'instructions executees si
l'expression est fausse]
FinSi
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Exercice
• Valeur absolue.
• Mention (Faible, Passable, Assez Bien,
Bien, Excellent).
• Equation de 2nd degré :
(cas a=0, cas b=0, D>0, D=0, D<0 « pas de
solutions dans ℜ »).
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
En langage C
if (condition) {
instructions;
}// ou instruction;
[else {
instructions;
} // ou instruction;
]
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
TP
• Valeur absolue.
• Ajouter une seconde.
• Mention (Faible, Passable, Assez Bien,
Bien, Excellent).
• Equation de 2nd degré
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Cas ou … FinCas
Début
valeur ==
CONSTANTE_1
Mode de fonctionnement de
la structure switch…case…
oui
non
valeur ==
CONSTANTE_2
non
instruction1
break
oui
instruction2
instruction3
Fin
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Cas ou … FinCas
Lorsque l'on doit comparer une même variable avec
plusieurs valeurs, on peut remplacer cette suite de si par
l'instruction cas, Sa syntaxe est :
CasOu v vaut
v1
: action1
[v21,v22,. . . ,v2m
: action2
v31 . . . v32 : action3
. . .
vn
: actionn
[autre
: action]]
FinCas
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Exercices
• Mois de 30 jours.
• La saison à partir du numéro de mois.
• Le nom du jour à partir de son numéro.
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
En langage C
switch (expression) {
case val1:
instruction 1;
break ;
case val2:
instruction 2;
break ;
...
case valN:
instruction N;
break ;
default:
instruction D ;
}
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
TP
• Mois de 30 jours.
• La saison à partir du numéro de mois.
• Le nom du jour à partir de son numéro.
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Les itérations
Pourquoi une itération ?
Exécuter plusieurs fois (de manière bornée ou
non) une suite d'instructions
Pourquoi une itération ?
Il existe deux grandes categories d'itérations :
•Les itérations déterministes : le nombre de boucle est
défini a l'entrée de la boucle
•les itérations indéterministes : l'exécution de la
prochaine boucle est conditionnée par une expression
booléenne
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Itérations déterministes
• Sa syntaxe est :
Pour id ← valdébut a valfin Faire
instructions a exécuter a
chaque
boucle
FinPour
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Mode de fonctionnement
de la structure pour
Début
initialisation
condition != 0
non
oui
instruction
modification
Fin
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Exercices
• Calcul de la somme des n premiers
entiers
• Calcul du factoriel.
• Développement limité de ex
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
En langage C
for (expre(s)1; expre(s)2; expre(s)3)
{
instruction(s);
instruction(s);
instruction(s);
}
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Exercices
• Calcul de la somme des n premiers
entiers
• Calcul du factoriel d’un entier.
• Développement limité de ex
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Itérations non déterministes
L'instruction tant que :
TantQue ExpressionBooléenne faire
instructions
FinTantQue
Ou
L'instruction répéter jusqu'a ce que :
Répéter
instructions
JusquACeQue ExpressionBooléenne
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Itérations non déterministes
Mode de fonctionnement
de la structure tant que
Début
condition != 0
oui
instruction
non
Fin
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Exercices
• donnez l’algorithme pour afficher les
dizaines entre 0 et 100. Le résultat affiché
sera : 10 20 30 40 50 60 70 80 90 100
• écrivez un programme qui affiche le
triangle de pascal pour un nombre de
lignes entré au clavier.
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
En langage C
while (condition)
instruction
/* ou */
while (condition) {
/* bloc d‟instructions */
}
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
En langage C
do
{
instruction(s);
…
} while (condition)
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
TP
• donnez le programme pour afficher les
dizaines entre 0 et N (saisie au clavier). Le
résultat affiché sera : 10 20 30 40 50 60
70 80 90 100
• écrivez un programme qui affiche le
triangle de pascal pour un nombre de
lignes entré au clavier.
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Questions
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
Téléchargement