utf-8''Structures+De+Controle

8
Chapitre N°2 : Structures de contrôle & Structures itératives Lycée Secondaire Errafèha Mnihla Prof : Mahmoud Ezzeddine 1 Les structures algorithmiques de contrôle A. Les structures de contrôle conditionnelles I. La structure conditionnelle simple réduite 1. Définition Une structure de contrôle conditionnelle a une forme simple réduite si on se restreint (on se limite) à l’exécution d’un traitement quand une condition est vraie. Elle a la forme générale suivante : Si condition Alors Traitement Exemples : Si x mod 11 = 0 Alors Ecrire (x, " est divisible par 11") 2. Condition booléenne ? Une condition booléenne est une proposition logique, c'est-à-dire une proposition dont on peut dire si elle est vraie ou fausse. Elle peut être simple ou composée. Une condition booléenne simple est de la forme : Expression arithmétique opérateur de comparaison Expression arithmétique Remarques : (1) Une expression arithmétique est une combinaison de constantes, de variables et des fonctions à l’aide d’opérateurs correspondant au type de données concernées. (2) Les opérateurs de comparaison sont : <, , >, , =, Exemples : soient x et y deux variables de type réel : X = 3 ; x <=0 ; x <> 1 ; 2*x < y/2 ; x >= 2*y sont des conditions booléennes simples. Attention ! Il ne faut pas confondre x :=3 et x =3 X = 3 est une condition, elle correspond à la question « x est –il égal à 3 ? » X :=3 est une affectation, elle correspond à l’instruction « donner à x la valeur 3 » Une condition booléenne composée est une conjonction de conditions booléenne simples via les connecteurs logiques NON, ET, OU. Exemples : (1) La condition booléenne (x >0) ET (X <= 1) signifie 0 < x 1 (2) La condition x ]- , 0[U] 0, + [s’écrit : (x < 0) OU (x > 0), ou plus simplement x 0 (3) Enfin, pour traduire ] [ [ [ 2 , 1 0 , x [on écrit : (x < 0) OU ((x >= 1) ET (x < 2))

description

WWTYRIK

Transcript of utf-8''Structures+De+Controle

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    1

    Les structures algorithmiques de contrle

    A. Les structures de contrle conditionnelles I. La structure conditionnelle simple rduite 1. Dfinition Une structure de contrle conditionnelle a une forme simple rduite si on se restreint (on se

    limite) lexcution dun traitement quand une condition est vraie.

    Elle a la forme gnrale suivante : Si condition Alors Traitement

    Exemples : Si x mod 11 = 0 Alors Ecrire (x, " est divisible par 11")

    2. Condition boolenne ? Une condition boolenne est une proposition logique, c'est--dire une proposition dont on

    peut dire si elle est vraie ou fausse. Elle peut tre simple ou compose.

    Une condition boolenne simple est de la forme :

    Expression arithmtique oprateur de comparaison Expression arithmtique

    Remarques : (1) Une expression arithmtique est une combinaison de constantes, de variables et des

    fonctions laide doprateurs correspondant au type de donnes concernes.

    (2) Les oprateurs de comparaison sont : , , =,

    Exemples : soient x et y deux variables de type rel :

    X = 3 ; x = 2*y sont des conditions boolennes simples.

    \ Attention ! Il ne faut pas confondre x :=3 et x =3

    X = 3 est une condition, elle correspond la question x est il gal 3 ?

    X :=3 est une affectation, elle correspond linstruction donner x la valeur 3

    Une condition boolenne compose est une conjonction de conditions boolenne simples

    via les connecteurs logiques NON, ET, OU.

    Exemples :

    (1) La condition boolenne (x >0) ET (X 0), ou plus simplement x 0

    (3) Enfin, pour traduire ] [ [ [2,10, x [on crit : (x < 0) OU ((x >= 1) ET (x < 2))

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    2

    3. Syntaxe en algorithme et en pascal :

    Syntaxe en algorithme Syntaxe en pascal

    Si Condition Alors Traitement Fin Si

    If Condition Then Traitement ;

    Remarques : (1) Condition est une condition boolenne.

    (2) Traitement : peut tre une ou plusieurs instructions. (simples, composes, conditionnelles,

    rptitives).

    (3) Si lune des instructions du traitement est une structure conditionnelle alors on parle

    dinstructions conditionnelles imbriques.

    (4) Pour excuter ces instructions, le compilateur teste la condition boolenne. Si celle-ci est

    vraie alors le traitement est excut sinon il ne se passe rien.

    Exemple:

    Program exemple : Uses wincrt ; Var x: integer; Begin Writeln (entrer un entire:); Readl (x) ; If x mod 11 then Writeln (x, est un divisible par 11); End. II. La structure conditionnelle simple complte (alternative) 1. Dfinition Une structure de contrle conditionnelle a une forme simple complte si selon la valeur

    dune condition, on excute soit un traitement 1 ou un traitement 2.

    Exemple : Si n mod 2 = 0 Alors Ecrire ("Nombre pair") Sinon Ecrire ("Nombre impair") Fin Si

    2. Syntaxe en algorithme et en pascal :

    Syntaxe en algorithme Syntaxe en pascal

    Si Condition Alors Traitement 1 Sinon Traitement 2 Fin Si

    If Condition Then Traitement 1 Else Traitement 2 ;

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    3

    Remarques : (1) Si Traitement 1 ou traitement 2 est constitu de plusieurs instructions, on doit les mettre

    entre begin et end.

    (2) Il ny a jamais de point virgule la fin de linstruction qui prcde Else.

    Application :

    On dsire crire un programme qui permet de transformer un caractre alphabtique en

    majuscule sans utiliser la fonction majus.

    Questions :

    1) Analyser le problme.

    2) Donner un algorithme ce problme.

    III. La structure conditionnelle gnralise 1. prsentation Cette structure est utilise lorsquon a plus quune condition. Sa syntaxe est :

    Syntaxe en algorithme Syntaxe en pascal

    Si Condition 1 Alors Traitement 1 Sinon Si Condition 2 Alors Traitement 2 Sinon Si Condition 3 Alors Traitement3 Sinon Si Condition N Alors Traitement N Sinon Traitement N+1 Fin Si

    If Condition 1 Then Traitement 1 Else if Condition 2 Then Traitement 2 Else if Condition 3 Then Traitement 3 Else if Condition N Then Traitement N Else Traitement N+1;

    Exemple: Chercher la valeur absolue dun entier X

    Si X

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    4

    IV. La structure conditionnelle choix 1. Prsentation Cette structure conditionnelle est appele aussi structure slective ou choix multiples. Car

    elle slectionne entre plusieurs choix la fois, et non entre deux choix alternatifs (le cas de la

    structure SI).

    2. Syntaxe en algorithme et en pascal

    Syntaxe en algorithme Syntaxe en pascal

    Selon Slecteur Faire Valeur 1 : Traitement 1 Valeur 2 : Traitement 2 Valeur N : Traitement N Sinon Traitement M Fin Selon

    Case Slecteur Of Valeur 1 : Traitement 1 ; Valeur 2 : Traitement 2 ; Valeur N : Traitement N Else Traitement M ; End ;

    Remarques :

    (1) Le slecteur est une variable de type scalaire (entier, caractre, boolen). (2) La structure SELON value le "slecteur", passe comparer celui ci respectivement avec les

    valeurs dans la liste. En cas d'galit avec une valeur, les actions correspondantes, qui sont

    devant cette valeur seront excutes.

    (3) Valeur i (1 i N) peut tre form dune seule valeur, dune liste de valeurs spares

    par des virgules et/ou des intervalles de valeurs.

    Application 1 : Ecrire un programme qui permet de saisir lextension dun fichier sous forme de chane de

    caractres puis dafficher, en fonction de cette extension (.pas, .c, .html, .doc, .xls), le type du

    fichier.

    Questions :

    1) Analyser le problme 2) Ecrire lalgorithme et le programme pascal correspondants

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    5

    B. Les structures de contrle itratives

    I. La structure itrative complte 1. Prsentation Cette structure exprime la rptition d'un traitement un nombre fini de fois connu lavance.

    2. Syntaxe en algorithme et en pascal

    Syntaxe en algorithme Syntaxe en pascal

    Pour Compteur de Vi Vf Faire Instruction 1 Instruction 2 Traitement Instruction n Fin Pour

    For Compteur := Vi to Vf do Begin Instruction 1; Instruction 2; Traitement Instruction n; End;

    Remarques : (1) Compteur est une variable du type scalaire, qui compte le nombre de rptition du

    traitement.

    (2) Vi : La valeur initiale du compteur

    (3) Vf : La valeur finale du compteur

    (4) La valeur du pas (lavancement du compteur) est gale 1 par dfaut.

    (5) En pascal, si Vi Vf, do devient downto

    (6) Comment a marche ?

    (a) Au dbut de la boucle on affecte la variable Compteur la valeur de Vi

    (b) Si Compteur Vf alors

    i. Excution des instructions

    ii. Incrmentation du compteur

    iii. Retour ltape (b)

    Sinon la boucle sarte et lexcution se poursuit aprs Fin Pour

    Application :

    Ecrire un programme permettant de tester si un entier est premier ou non.

    Questions :

    1) Analyser le problme 2) Ecrire lalgorithme et le programme pascal correspondants.

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    6 II. Les structures itratives conditions darrt 1. La structure RpterJusqu a) Prsentation : Cette structure permet de rpter un traitement une ou plusieurs fois et de s'arrter sur une

    condition. En effet, lorsque la condition est vrifie, la boucle s'arrte, si non elle r excute

    le traitement.

    b) Syntaxe en algorithme et en pascal

    Syntaxe en algorithme Syntaxe en pascal

    {initialisations} Rpter Instruction 1 Instruction 2 Traitement Instruction n Jusqu (condition darrt)

    {initialisations} Repeat Instruction 1; Instruction 2; Traitement Instruction n; Until (condition darrt);

    Remarques : (1) Cette structure est utilise lorsque le nombre de rptitions effectuer nest pas connu

    lavance.

    (2) Dans cette boucle, le traitement (instruction1, instruction 2, , instruction n) est excut

    au moins une fois avant l'valuation de la condition d'arrt.

    (3) Il doit y avoir une action dans le traitement qui modifie la valeur de la condition darrt.

    (4) Comment a marche ?

    (a) Excution du traitement (instruction 1, instruction 2, , instruction n)

    (b) Test de la valeur de la condition darrt :

    i. Si elle est vraie alors la boucle sarrte et lexcution se poursuit aprs la boucle

    ii. Sinon retour ltape (a)

    Exemple : Lecture dun entier n > 0

    Rpter Ecrire ("entrer un entier : ") Lire (n)

    Jusqu n > 0

    Application: Soit la suite dfinie par son premier terme , et pour tout n, par la

    relation : NnnU )(

    *0 += RaU

    1)( 21 +=+ nnn UUUEcrire un programme intitul vitesse_de_convergence qui permet de saisir un rel a]0,1[et dafficher la premire valeur de n pour laquelle 1nU 10-6

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    7

    Questions :

    1) Analyser le problme

    2) Ecrire lalgorithme et le programme pascal correspondants

    2. La structure Tant QueFaire a) Prsentation Cette structure permet de rpter le traitement zro ou plusieurs fois et de s'arrter lorsque la

    condition d'excution n'est plus vrifie. En effet, lorsque la condition d'excution est

    vrifie, le traitement est excut, si non elle s'arrte.

    b) Syntaxe en algorithme et en pascal

    Syntaxe en algorithme Syntaxe en pascal

    {initialisations} Tant Que (condition dexcution) Faire Instruction 1 Instruction 2 Traitement Instruction n Fin Tant Que

    {initialisations} While (condition dexcution) Do Begin Instruction 1; Instruction 2; Traitement Instruction n; End;

    Remarques : (1) Cette structure est utilise lorsque le nombre de rptitions effectuer nest pas connu

    lavance.

    (2) Dans cette boucle, le traitement peut ne pas tre excut aucune fois, c'est lorsque la

    condition d'excution est faux ds le dpart.

    (3) Les paramtres de la condition dexcution doivent tre initialiss par lecture ou par

    affectation avant la boucle.

    (4) Il doit y avoir une action dans le traitement qui modifie la valeur de la condition

    dexcution.

    (5) Comment a marche ?

    (a) Tester la valeur de la condition dexcution

    (b) Si elle est vraie alors :

    i. Excution du traitement

    ii. Retour ltape (a)

    Sinon la boucle sarrte et lexcution se poursuit aprs Fin Tant Que

    (6) La condition darrt et linverse de la condition dexcution.

  • Chapitre N2 : Structures de contrle & Structures itratives

    Lyce Secondaire Errafha Mnihla Prof : Mahmoud Ezzeddine

    8

    Exemple : Lecture dun entier n > 0

    Ecrire ("entrer un entier : ") Lire (n) Tant Que n