algorithmique ii

25
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale Algorithmique Algorithmique et programmation procédurale et programmation procédurale Chap II : Décisions, Itérations. Chap II : Décisions, Itérations. Lajouad Rachid

Upload: rachid-lajouad

Post on 22-Jul-2015

151 views

Category:

Education


3 download

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.

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

QuestionsQuestions