1 / 16

GEF 243B Programmation informatique appliquée

GEF 243B Programmation informatique appliquée. Flot de contrôle et énoncés de sélection §5.2 - 5.3. Revue. Quelles sont les trois opérateurs logiques en C? Quelle est la précédence entre eux? Comment applique-t-on la règle de DeMorgan aux expressions logiques. Synopsis. Contrôle du flot

corine
Download Presentation

GEF 243B Programmation informatique appliquée

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GEF 243BProgrammation informatique appliquée Flot de contrôle et énoncés de sélection §5.2 - 5.3

  2. Revue • Quelles sont les trois opérateurs logiques en C? • Quelle est la précédence entre eux? • Comment applique-t-on la règle de DeMorgan aux expressions logiques JGA Beaulieu

  3. Synopsis • Contrôle du flot • if-else • else-if • Expressions conditionnelles • Switch JGA Beaulieu

  4. Structures du langage et contrôle du flot • Les première abstractions que les scientifiques en informatique ont devisé ont été les structures de langage. • Au lieu d’avoir continuellement à réécrire le même code pour contrôler le flot d’un programme en langage symboliques (assembleur), les langages de haut niveau nous fournissent des structures ‘réutilisables’ • Dans les années 1960, Edsger Dijkstra a noté que nous avons seulement besoin de trois structures: La séquence, le if-else et la boucle while JGA Beaulieu

  5. Énoncé if-else • Différent de MATLAB!! if (expression logique) Statement else Statement JGA Beaulieu

  6. Énoncé if-else • Exemple (avec un énoncé composé) if (taxable == TRUE) { itemTaxable++; prix *= tauxTaxe; //tauxTaxe 1.15 } else itemNonTaxable++; JGA Beaulieu

  7. Énoncé else-if • C n’a pas de structure pour un énoncé else-if, mais vous pouvez obtenir le même résultat avec le style if (note>=90) grade = ‘A’; else if (note >= 80) grade = ‘B’; else if (note >= 70) grade = ‘C’; else if (note >= 60) grade = ‘D’; else grade = ‘F’; JGA Beaulieu

  8. Énoncé else-if • Utilisez un énoncé else-if seulement si vous voulez faire des comparaisons sur une seule variable qui a une possibilité de plusieurs valeurs avec des plages pour les catégories (pas des valeurs intégrales) • Ne l’utilisez pas si vous avez des conditions multiples (i.e. évaluation de plusieurs variables). • Ce que vous faites dans ce cas est simplement d’imbriquer vos énoncés if-else. JGA Beaulieu

  9. Expression conditionnelle • C nous offre une alternative commode à l’énoncé if-else traditionnel pour les sélection à deux choix l’expression conditionnelle: expression1 ? expression2 : expression3 • Si expression1 est vrai, expression2 est la valeur de l’expression conditionnelle, sinon, la valeur est l’expression3 JGA Beaulieu

  10. Expression conditionnelle • Ex.: a = 1, b = 2, c = 5 a == b ? c-- : c++; //ici c = 6 a != b ? c-- : c++; //ici c = 4 a >= b ? c+=b : c-=b ; //qu’est c? JGA Beaulieu

  11. Énoncé switch • Mais que faisons nous si nous avons quelque chose comme cela: if (flag == 0) {faitChose0} else if (flag == 1) {faitChose1} else if (flag == 2) {faitChose2} else if (flag == 3) {faitChose3} else if (flag == 4) {faitChose4} else {faitAutreChose} • Utilisez un énoncé switch JGA Beaulieu

  12. Énoncé switch • Switch est une généralisation de l’énoncé if-else. Encore comme Java: switch (expression logique) { case constante1: énoncé1; //notez les énoncés énoncé2; //multiples break; case constante2: énoncé3; break; //sort après ce cas default: énoncé4; } //switch JGA Beaulieu

  13. Quiz Time • Quelles sont les trois concepts que les humains utilisent pour faire face à la complexité dans la résolution des problèmes? • Quel genre de décomposition utilise-t-on dans les langages structurels comme C? JGA Beaulieu

  14. Problèmes de révision 1 • Assumez que gazRestant est une variable réel qui estime le montant de gaz dans votre réservoir • Donnez un énoncé qui va allumer l’indicateur presqueVide (bool) si il reste moins de 2 litres de gaz JGA Beaulieu

  15. Problèmes de révision 2 • Testez la phase theta et vérifiez si c’est zéro double theta • Utilisez un structure if else pour vous assurez que: –PI <= theta <= PI JGA Beaulieu

  16. Problèmes de révision 3 • Il y a des étudiants en GE, GI, et SI dans GEF243 • Définissez une constante pour chaque groupe d’étudiant en utilisant un #define • Déclarez une variable pour compter le nombre d’étudiants dans chaque groupe et initialisez la à zéro • Utilisez un énoncé switch pour incrémenter le compteur pour le bon groupe • Si un groupe inconnu est entré, incrémentez le compte des erreurs #define GE 0 //un exemple int groupeEtudiants = 0; //la variable à tester JGA Beaulieu

More Related