Rappel : Les Structures Conditionnelles La structure conditionnelle simple réduite Au niveau de l’analyse [Init] Si Condition Alors Instruction1 Instruction2 … InstructionN Au niveau de l’algorithme ……… ……… {Init} ……… Si Condition Alors Instruction1 Instruction2 … InstructionN FinSi FinSi Au niveau du turbo pascal ……… ; ……… ;{Init} ……… ; If Condition Then Begin Instruction1 ; Instruction2 ; … InstructionN ; End ; La structure conditionnelle alternative ou complète Au niveau de l’analyse [Init] Si Condition Alors Instruc1 de TR1 Instruc2 de TR1 … InstrucN de TR1 Sinon Instruc1 de TR2 Instruc2 de TR2 … InstrucN de TR2 FinSi Au niveau de l’algorithme ……… ……… {Init} ……… Si Condition Alors Instruc1 de TR1 Instruc2 de TR1 … InstrucN de TR1 Sinon Instruc1 de TR2 Instruc2 de TR2 … InstrucN deTR2 FinSi Au niveau du turbo pascal ……… ; ……… ;{Init} If Condition Then Begin Instruction1_TR1 ; Instruction2 _TR1; … InstructionN_TR1 ; End Else Begin Instruc1_TR2 ; Instruc2 _TR2; …. InstructionN_TR2 ; End ; Remarques : La structure à choix : Le sélecteur doit nécessairement être de type scalaire discret (jamais de type réel). La structure de choix évite l’utilisation d’une trop longue structure conditionnelle généralisée ce qui permet une meilleure lisibilité de la solution. La partie SINON est facultative. Plusieurs valeurs peuvent entraîner un même traitement. On peut alors énumérer ces valeurs en les séparant par des virgules, On peut utiliser aussi les intervalles pour le type entier et caractère ou de type scalaire. La structure conditionnelle généralisée Au niveau de l’analyse [Init] Si condition1 Alors TR1 Sinon Si Condition2 Alors TR2 Sinon Si Condition3 Alors TR3 … . Sinon Si conditionN-1 Alors TRN-1 Sinon TRN FinSi Au niveau de l’algorithme ……. {Init} Si condition1 Alors TR1 Sinon Si condition2 Alors TR2 Sinon Si Condition3 Alors TR3 … Sinon Si ConditionN-1 Alors TRN-1 Sinon TRN FinSi Au niveau du turbo pascal ….. ; {Init} If condition1 Then TR1 Else If Condition2 Then TR2 Else If Condition3 Then TR3 … Else If ConditionN-1 Then TRN-1 Else TRN ; La structure conditionnelle à choix La structure de choix permet de faire un choix parmi plusieurs possibilités. Le choix du traitement à effectuer se fait selon la valeur du sélecteur. Le sélecteur est une variable de type scalaire discret. Cette variable est comparée à une série de valeurs ou à un ou plusieurs intervalles. En cas d’égalité (d’appartenance à un intervalle) l’instruction qui lui est associée est exécutée. Les autres ne seront pas exécutées. Au niveau de l’analyse [Init] Selon sélecteur Faire Valeur1 : Action1 Valeur2 : Action2-1 Action2-2 … Action2-N Valeur3 : Action3 Valeur4, Valeur6 : Action4 Valeur5, Valeur7 : Action5 . Valeur10..Valeur20 : Action6 . ValeurN : ActionN Sinon ActionR FinSelon Au niveau de l’algorithme …… {Init} Selon sélecteur Faire Valeur1 : Action1 Valeur2 : Action2-1 Action2-2 … Action2-N Valeur3 : Action3 Valeur4, Valeur6 : Action4 Val5, Val7 : Action5 Val10..Val20 : Action6 … ValeurN : ActionN Sinon ActionR FinSelon Au niveau du Turbo Pascal … ; {init} Case sélecteur Of Valeur1 : Action1 ; Valeur2 : Begin Action2-1 ; Action2-2 ; … Action2-N ; End ; Valeur3 : Action3 ; Val4, Val6 : Action4 ; Val5, Val7 : Action5 ; . Val10..Val20 : Action6 ; ... ValeurN : ActionN else ActionR ; End ;