algorithmique ii
TRANSCRIPT
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
Algorithmique Algorithmique et programmation procéduraleet programmation procéduraleChap II : Décisions, Itérations.Chap II : Décisions, Itérations.
Lajouad Rachid
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
Les conditionnellesLes 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 .. FinsiSi .. Alors .. Sinon .. Finsi
Fin
instruction1
Début
condition !=0
instruction2
oui
non
Mode de fonctionnement de la structure si…sinon…
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
Si .. Alors .. Sinon .. FinsiSi .. 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
ExerciceExercice
• 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 CEn langage C
if (condition) {
instructions;
}// ou instruction;
[else {
instructions;
} // ou instruction;
]
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
TPTP
• 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 … FinCasCas ou … FinCas
Fin
instruction1
Mode de fonctionnement de la structure switch…case…
Début
valeur ==CONSTANTE_1
valeur ==CONSTANTE_2
break
instruction2
instruction3
oui
oui
non
non
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
Cas ou … FinCasCas 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 : action2v31 . . . v32 : action3. . .vn : actionn[autre : action]]
FinCas
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
ExercicesExercices
• 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 CEn 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
TPTP
• 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érationsLes 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éterministesIté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
Fin
initialisation
Mode de fonctionnement de la structure pourDébut
condition != 0oui
instruction
non modification
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
ExercicesExercices
• 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 CEn 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
ExercicesExercices
• 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éterministesIté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éterministesItérations non déterministes
Fin
instruction
Mode de fonctionnement de la structure tant queDébut
condition != 0oui
non
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
ExercicesExercices
• 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 CEn 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 CEn langage C
do
{
instruction(s);
…
} while (condition)
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale
TPTP
• 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.