Section IV Structures conditionnelles - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Section IV Structures conditionnelles

Description:

Section IV Structures conditionnelles Algorithmes et r solution de probl mes 18279 FGE Contenu Introduction Structure SI-ALORS-SINON-FINSI Dans l organigramme Le ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 31
Provided by: MarcoL98
Category:

less

Transcript and Presenter's Notes

Title: Section IV Structures conditionnelles


1
Section IVStructures conditionnelles
  • Algorithmes et résolution de problèmes
  • 18279 FGE

2
Contenu
  • Introduction
  • Structure SI-ALORS-SINON-FINSI
  • Dans lorganigramme
  • Le pseudo-code
  • Variante SI-ALORS-FINSI
  • Conditions complexes
  • Exemples exercice
  • Dont un exercice à remettre à lenseignant
  • Devoir 2

3
Introduction
  • Les algorithmes présentés auparavant sont
    élémentaires
  • Séquence simple dopérations
  • Souvent, les opérations à accomplir peuvent
    varier dans un algorithme
  • Lalgorithme doit décider des opérations à
    accomplir selon les données fournies ou diverses
    situations
  • Lordinateur est apte à appliquer la prise de
    décision

4
Exemple 1
  • Rapport hebdomadaire de ventes (suite)
  • Suite de lexemple vu la semaine dernière
    (Section III)
  • Commission de 6 sur les ventes à prix régulier
  • Commission de 3 sur les ventes à prix réduit
  • Montant de base de 200 garantie
  • On ajoute un bonus à la paie du vendeur
  • Le vendeur reçoit en plus 1 du total de ses
    ventes si les ventes atteignent ou dépassent
    5000
  • Modifier lalgorithme en conséquence

5
Exemple 1 (suite)
  • Il faut ajouter à la solution précédente (sans
    bonus)
  • Une séquence dopérations calculant le bonus
  • Une opération conditionnelle déterminant quand
    ajouter le bonus au total
  • Il faut donc un symbole pour représenter la
    condition dans lorganigramme

6
Structure SI-ALORS-SINON-FINSI
  • Pour représenter une séquence conditionnelle
    dopérations dans lorganigramme
  • On utilise le losange cest lesymbole
    conditionnel
  • Pour représenter la convergence des flux
    dexécution
  • On utilise le cercle cest le symbole de
    convergence

SI
SINON
ALORS
FINSI
7
Structure SI-ALORS-SINON-FINSI
  • Notes sur la structure conditionnelle
  • La condition doit être clairementstipulée dans
    le symboleconditionnel
  • Les flux sortant sontidentifiés selon
    lerésultat de la condition
  • Les deux flux sortantdoivent éventuellementconve
    rger

8
Exemple 1 (suite)
  • Pour ajouter le bonus conditionnel de 1 à
    lalgorithme, nous définissons deux nouvelles
    variables intermédiaires
  • TotVentes Total des ventes
  • Bonus
  • Bonus de 1 si les ventes
  • atteignent ou excèdent 5000

9
Exemple 1 (suite)
  • Algorithme révisé
  • Insérer le calcul conditionnel du bonus
  • (TotVentes et Bonus)
  • Réviser le calcul de la commission totale
  • (TotalComm)

10
Pseudo-code
  • Lorganigramme représente graphiquement
    lalgorithme
  • Cest visuel (un dessin vaut mille mots!), mais
    ça exige plus de travail de mise en page et plus
    despace sur papier
  • Le pseudo-code représente textuellement
    lalgorithme
  • Moins visuel, mais plus facile à mettre sur
    papier et requiert moins despace

11
Pseudo-code (suite)
  • Lalgorithme est décrit sous forme de mots et
    phrases
  • Semblable aux langages de programmation (Visual
    Basic, Pascal, C, )
  • Cependant, on utilise une syntaxe moins rigide
  • Le pseudo-code est généralement préféré à
    lorganigramme
  • Plus rapide à écrire et plus facile à traduire en
    un langage de programmation

12
Exemple 1 (suite)
  • Pseudo-code de lalgorithme
  • Les mots-clés opérationnels sont écris en
    majuscules
  • LIRE, ÉCRIRE,SI, ALORS, SINON, FINSI
  • Lindentation dans la structureSI rehausse la
    lisibilité

LIRE VentesReg, VentesSpec RegComm VentesReg
0.06 SpecComm VentesSpec 0.03 TotVentes
VentesReg VentesSpec SI TotVentes ? 5000 ALORS
Bonus TotVentes 0.01 SINON Bonus
0 FINSI TotalComm RegComm SpecComm Bonus
200 ÉCRIRE TotalComm
13
Exemple 1 (suite)
  • La structure conditionnelle a une forme
    standardisée
  • SI condition ALORS
  • séquence dopérations
  • SINON
  • séquence dopérations
  • FINSI
  • Par souci de lisibilité,cette forme doit
    toujours être respectée

LIRE VentesReg, VentesSpec RegComm VentesReg
0.06 SpecComm VentesSpec 0.03 TotVentes
VentesReg VentesSpec SI TotVentes ? 5000 ALORS
Bonus TotVentes 0.01 SINON Bonus
0 FINSI TotalComm RegComm SpecComm Bonus
200 ÉCRIRE TotalComm
14
Structure SI-ALORS-FINSI
  • Une variante de la structure conditionnelle est
    employée lorsquil ny a aucune séquence
    dopérations à exécuter si la condition est
    fausse
  • SI condition ALORS
  • séquence dopérations
  • FINSI

15
Exemple 2
  • Rapport de temps supplémentaire
  • Le superviseur doit produire un rapport listant
    tous les employés ayant travaillé en temps
    supplémentaire durant la semaine
  • Pour chaque employé ayant travaillé plus de 40
    heures, le rapport doit afficher son nom, son
    numéro demployé et le nombre dheures
    excédentaires
  • Si lemployé na pas excédé 40 heures de travail,
    le rapport ne doit pas contenir son nom

16
Exemple 2 (suite)
  • Nous devons écrire lalgorithme produisant une
    ligne du rapport (i.e. pour un employé)
  • Données à lire
  • Nom de lemployé, son numéro et le nombre
    dheures travaillées
  • Résultats à produire
  • Si lemployé a travailler plus de 40 heures,
    afficher son nom, son numéro demployé et les
    heures supplémentaires travaillées

17
Exemple 2 (suite)
  • Définition des variables
  • Nom nom de lemployé
  • Numero numéro de lemployé
  • TotHeures nombre total dheures
    travaillées durant la semaine
  • Variables intermédiaires
  • HeuresSup Nombre dheures supplémentaires
    travaillées

18
Exemple 2 (suite)
  • Pseudo-code et organigramme

LIRE Nom, Numero, TotHeures SI TotHeures gt 40
ALORS HeuresSup TotHeures - 40 ÉCRIRE
Nom, Numero, HeuresSup FINSI
19
Avantage du pseudo-code
  • Le pseudo-code est facilement traduisible en un
    langage de programmation

Pseudo-code
Pascal
LIRE Nom, Numero, TotHeures SI TotHeures gt 40
ALORS HeuresSup TotHeures - 40 ÉCRIRE
Nom, Numero, HeuresSup FINSI
PROGRAM Exemple VAR Nom STRING Numero,
TotHeures INTEGER BEGIN READLN(Nom, Numero,
TotHeures) IF TotHeures gt 40 THEN BEGIN
HeuresSup TotHeures 40
WRITELN(Nom, Numero, HeuresSup) END END.
20
Exemple 3
  • Rapport de paie demployé
  • Données à lire sur lemployé
  • Son nom, numéro demployé, nombre dheures
    travaillées et son taux horaire
  • Résultat à afficher
  • Le nom de lemployé, son numéro et le total de sa
    paie. Cette dernière est calculée en fonction du
    taux horaire pour les premières 40 heures
    travaillées, et à une fois et demi son taux
    horaire pour les heures supplémentaires

21
Exemple 3 (suite)
  • Étapes de développement de lalgorithme
  • Assurez-vous de bien comprendre le problème à
    résoudre (posez des questions)
  • Définissez les variables dentrées et les
    variables de sorties
  • Faites les calculs sur papier pour un exemple de
    données vous saisirez mieux le processus de
    solution
  • Commencez à produire le pseudo-code ou
    lorganigramme, à partir du début
  • En cours de développement, définissez les
    variables intermédiaires au besoin
  • Finalement validez lalgorithme, et corrigez-le
    au besoin

22
Exemple 3 (suite)
  • Variables
  • Nom nom de lemployé
  • Numero numéro demployé
  • Heures heures totales travaillées
  • Taux taux horaire
  • Variables intermédiaires
  • PaieReg paie au taux régulier
  • PaieSup paie au taux bonifié
  • PaieTot paie totale

23
Exemple 3 (suite)
  • Pseudo-code

LIRE Nom, Numero, Heures, Taux SI Heures gt 40
ALORS PaieReg 40 Taux PaieSup
(Heures 40) (Taux 1.5) PaieTot
PaieReg PaieSup SINON PaieTot Heures
Taux FINSI ÉCRIRE Nom, Numero, PaieTot
24
Exemple 3 (suite)
  • Organigramme

25
Validation
  • Pour valider un algorithme (à laide des
    diagramme de variables), il faut numéroter les
    opérations du pseudo-code et/ou de lorganigramme
  • Pseudo-codenuméroté

1. LIRE Nom, Numero, Heures, Taux 2. SI Heures gt
40 ALORS 3. PaieReg 40 Taux 4.
PaieSup (Heures 40) (Taux 1.5) 5.
PaieTot PaieReg PaieSup 6. SINON 7.
PaieTot Heures Taux 8. FINSI 9. ÉCRIRE Nom,
Numero, PaieTot
26
Validation (suite)
  • Organigrammenuméroté
  • Les numéros sont utilisés pour identifier les
    opérations dans les diagrammes de variables

1.
Variable Valeur Variable Valeur
Nom PaieReg
Numero PaieSup
Heures PaieTot
Taux
27
Conditions complexes
  • Conditions simples
  • a lt b, a ? b, a gt b, a ? b, a b, a ? b
  • Conditions complexes
  • On peut combiner des conditions simples avec et
    et ou
  • (a ? 5) et (a ? 100)
  • (a 10) ou (a gt 20)
  • La négation (non) peut inverser une condition
  • non((a ? 5) et (a ? 100))

28
Conditions complexes (suite)
  • Exemple afficher le mot  ALARME si la
    température quitte la zone de confort

LIRE Temperature SI (Temperature lt 18) ou
(Temperature gt 24) ALORS ÉCRIRE "ALARME" FINSI
29
Exercice 1
  • À remettre à lenseignant avant la fin du cours
  • Faire le travail à la main, sur papier
  • Trouver le plus petit nombre
  • Afficher le plus petit nombre parmi trois nombres
    fournis en entrée
  • Vous devez remettre à lenseignant
  • Le pseudo-code ou lorganigramme de votre
    algorithme
  • La description des variables

30
Devoir 2
  • Énoncé distribué sur le site Web
  • Algorithme calculant la note finale dun(e)
    étudiant(e) à partir de trois notes dexamen
  • Vous devez fournir le pseudo-code (fichier Word)
    et lorganigramme (fichier Visio) de votre
    algorithme
Write a Comment
User Comments (0)
About PowerShow.com