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
oui
condition !=0
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 « pas de solutions dans », D=0).
Lycée Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procédurale
En langage C if (condition) { instructions; } [else { instructions; }]
LycĂŠe Technique Ibn Sina
Lajouad Rachid : Algorithmique et programmation procĂŠdurale
TP • Valeur absolue. • Ajouter une minute. • 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 instruction1
non valeur == CONSTANTE_2
break oui instruction2
non 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 ; break ; } 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éni 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
oui condition != 0 non
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
oui condition != 0
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