[PDF] Structures conditionnelles [if] Support de Cours





Previous PDF Next PDF



Les opérateurs en Java

Exemple. Le + est d'arité 2 il est binaire. ? est d'arité 1 (unaire) ou 2. En java



Java 1.

Les opérateur arithmétiques. L'opéprateur %. ? S'utilise avec des entiers ou des flottants : ? Il fournit le reste de la division entière de son.



Structures conditionnelles [if] Support de Cours

Ils peuvent être encha?nés. Opérateurs logiques. Opérateur. Équivalent. Mathématique Signification. Algorithmique. Java. ¬ négation (unaire).



Les traitements conditionnels en Java

Les priorités. Les traitements conditionnels en Java Opérateur ternaire. 3 Switch ... En java un traitement conditionnel se formule de la sorte :.



Initiation à la programmation orientée-objet avec le langage Java

Une liste des opérateurs disponibles en Java est présentée par ordre de priorité décroissante dans le tableau . . 2.3 Structures de contrôle. Les structures 



INF 321 : mémento de la syntaxe de Java

il faut utiliser la fonction pow(xy) de la classe java.lang.Math pour calculer xy. 4.3 Les opérateurs relationnels. > strictement supérieur.



Les tests et les conditions en Java

R En Java l'instruction permettant de faire un test est le if. R Un test d'égalité est fait par l'opérateur == (deux signes « égale » à la suite).



INF 321 : mémento de la syntaxe de Java

il faut utiliser la fonction pow(xy) de la classe java.lang.Math pour calculer xy. 4.3 Les opérateurs relationnels. > strictement supérieur.



Introduction à la Programmation 1 Java

Dans le programme Java précédent classifiez les parties du code source L'opérateur % désigne le modulo : “a % b” est le reste dans la division entière ...



´Eléments de base en Java

on peut comparer des valeurs de type char avec les opérateurs usuels de comparaison ;. – le type char Java correspond `a des caract`eres codés en Unicode 



[PDF] Les opérateurs en Java - Enseignement

Une opération est l'application d'un opérateur à des opérandes Exemple En java les opérateurs sont unaires binaires et un seul est ternaire



[PDF] Initiation à la programmation orientée-objet avec le langage Java

2 2 Opérateurs Une liste des opérateurs disponibles en Java est présentée par ordre de priorité décroissante dans le tableau



[PDF] Programmation oriontée objet en JAVA

•Langage Java I –Identificateurs et littéraux –Types primitifs de java en détails –Variable (déclaration et affectation) –Opérateurs en détails



Synthèse sur les opérateurs Java - KooRfr

Nous allons tout au long de ce chapitre présenter l'utilisation des principaux opérateurs de langage à grand renfort d'exemples de code Java Les opérateurs de 



[PDF] ´Eléments de base en Java

Opérateurs de comparaison Opérateurs classiques : = ==!= Attention : – l'opérateur == se manipule différemment selon qu'on compare deux variables 



[PDF] Résumé du cours de Programmation Java - CNRS

Le principe d'un programme est de modifier le contenu des variables à l'aide des instructions élémentaires que nous venons de voir (affectation et opérateurs)



[PDF] JAVA : Syntaxe de base - IUT de Bayonne

concaténation : on peut utiliser l'opérateur + ou la méthode String concat(String) Pour les chaînes variables on a de plus les méthodes append et insert



[PDF] Chapitre II Les bases du langage Java - FR

Les instructions Java se terminent par un ; Un objet est créé par l'opérateur new qui appelle Les opérateurs dans Java sont regroupés par :



[PDF] Les bases de la programmation orientée objet avec Java - IGM

est interprété ? Le bytecode est interpété par une machine virtuelle Java Les variables les opérateurs les expressions instructions



[PDF] Chapitre 5 Opérateurs expressions et conversions

Une expression est la composition d'opérateurs de variables de constantes Le langage C++ est riche en opérateurs En Java elle peut être utilisée

:

Structures conditionnelles [if]

Support de Cours

Karine Zampieri, Stephane Riviere

UniscielalgoprogVersion 14 mai 2018

Table des matieres

1 Conditions

3

1.1 Operateurs de comparaison

3

1.2 Condition simple

4

1.3 Operateurs logiques

5

1.4 Proprietes des operateurs logiques

6

1.5 Condition composee

7

1.6 Priorite des operateurs

8

1.7Evaluation paresseuse des operateurs Et et Ou. . . . . . . . . . . . . . . 9

1.8 Exemples : Priorite et evaluation

10

2 Selectives Si, Si-Alors et Si-Sinon-Si

1 1

2.1 Selective Si

1 1

2.2 Selective Si-Alors

1 2

2.3 Remarques

1 3

2.4 Exemple : Selectives Si et Si-Alors

14

2.5 Selective Si-Sinon-Si

1 6

3 Arbre de choix

17

4 Complements

19

4.1 Selective Selon

19

4.2 Selective Selon (listes de valeurs)

20

4.3 Exemple : Jour de la semaine en clair

22

4.4 Operateur Si-expression

2 3

5 References generales

2 4

Java - Structures conditionnelles (Cours)1

Unisciel algoprog { if00cours-texte [if], May 14, 20182 Mots-ClesConditions, Selective Si, Selective Si-Sinon-Si, Selective Selon RequisQu'est-ce qu'un algorithme, Structures de base

Diculte• ◦ ◦(3 h)Introduction

Ce module traite des notions deconditions(simples, booleens, conditions composees) puis introduit lesstructures conditionnelles(Si,Si-AlorsetSi-Sinon-Si) et denit l'arbre de choix . LeComplementsdecrit la selectiveSelonainsi que l'operateurSi- expression. Unisciel algoprog { if00cours-texte [if], May 14, 20183

1 Conditions

1.1 Operateurs de comparaisonOperateurs de comparaison

Dits aussioperateurs relationnelsoucomparateurs, ils agissent generalement sur des variables numeriques ou des cha^nes et donnent un resultat booleen. Pour les caracteres et cha^nes, c'est l'ordre alphabetique qui determine le resultat.Operateurs de comparaison

Operateur

<(strictement) inferieura< b a< b >(strictement) superieura> b |a> b ≥superieur ou egala>= b a>= b =egalitea= b a== b ?=dierent de (ou inegalite)a<> b a!= b

Distinguer == et =

x == yx = y

?Test d'egalite?AectationA gaucheCompare la valeur de x a celle de y et rend true si elles sont egales, false

sinon (et doncne modie pasla valeur de x) A droiteAecte a la variable x la valeur de y (et doncmodiela valeur de x) Unisciel algoprog { if00cours-texte [if], May 14, 20184

1.2 Condition simpleCondition simple

Noteev1Φv2, elle associe unoperateur de comparaisonΦet deux valeursv1etv2de m^eme nature (m^eme type ou types comparables) et delivre un resultat booleen : •Vrai: on dit que la condition est veriee. •Faux: cas de condition non veriee.Exemples •eval(2<3)estVrai. •eval(6*3=13)estFaux. •eval("A"<"E")estVraicar l'ordre alphabetique est respecte dans les codes ASCII attribues aux lettres. •eval("milou"<"tintin")estVraide m^eme queeval("assembleur"<="java"). •eval("a"<"A")estFauxcar les majuscules sont avant les minuscules. •eval("Bonjour">"Bonjour ")estFauxcar l'espace est avant les lettres. •Sin1etn2sont deux variables de type entier contenant les valeurs 7 et 5,eval(2*n1>n2+3) esteval(2*7>5+3)c.-a-d.eval(14>8)doncVrai.Tester x dans (a..b) Contrairement aux mathematiques, les operateurs de comparaisonne peuvent pas^etre encha^nes. Ainsi, pour verier si un nombrex?[a..b], il faut ecrire : (a <=xEtx <=b)

En eet :

(a <=x <=b) ≡((a <=x)<=b) ≡({Faux Ou Vrai}<=b) On compare donc un booleen a un entier avec l'operateur inferieur (<) : erreur, les types sont dierents. Dans tous les cas, il faudra exploiter les operateurs logiques pour exprimer de telles conditions. Unisciel algoprog { if00cours-texte [if], May 14, 20185

1.3 Operateurs logiquesOperateurs logiques

Dits aussiconnecteurs logiquesouoperateurs booleens, ils agissent sur des expres- sions booleennes (variables ou expressions a valeurs booleennes) pour donner un resultat du m^eme type. Ils peuvent ^etre encha^nes.Operateurs logiques

Operateur

¬negation (unaire)Nona !a

?conjonction logiqueaEt b a&& b ?disjonction logique (ou inclusif)aOu b a|| b

Operateur Ou-exclusif

Il n'y a pas d'operateur OU-exclusif (xor) logique. Unisciel algoprog { if00cours-texte [if], May 14, 20186

1.4 Proprietes des operateurs logiquesProprietes des operateurs logiques

Elles sont denies sous forme de tableaux communement appelestables de verite. Ces tableaux se lisent ligne par ligne.•c1Et c2 est vrai ssi les deux conditions sont vraies. •c1Ou c2 est faux ssi les deux conditions sont fausses.Variable booleenne

Pour un booleenb:

•b= Faux est equivalent aNonb •b= Vrai est equivalent ab •NonNon b est equivalent ab Dans les trois cas, nous preconiserons la seconde ecriture. Unisciel algoprog { if00cours-texte [if], May 14, 20187

1.5 Condition composeeCondition composee

(Plus simplementconditionouexpression logique) Noteeb1Ψ1b2Ψ2..., elle associe desoperateurs logiquesΨiet des valeurs booleennesbjet delivre un resultat booleen (Vrai ouFaux). Elle permet de relier des conditions simples en une seule.Exemples

•L'entieradoit ^etre strictement superieur a zero et strictement inferieur a 100 :a> 0 && a < 100

•La couleurcdoit ^etreRouge,Verteouest inferieure a 40km/h. Dans les autres cas, je passe.>arret= ( feu== rouge ) || (feu== orange && vitesse < 40)

passe arret

Theoremes de De Morgan

Ils enoncent :

Non(a Et b)?Non a Ou Non b

Non(a Ou b)?Non a Et Non bUtilite

Formules par le mathematicien britannique,Augustus De Morgan, les theoremes enoncent des equivalences entre des expressions booleennes faisant intervenir des nega- tions et permettent de les simplier.Resume des proprietes

Les operateurs verient les proprietes suivantes :

¬¬a=a

¬(a?b) =¬a? ¬b

¬(a?b) =¬a? ¬b

a?(b?c) = (a?b)?(a?c) a?(b?c) = (a?b)?(a?c) Unisciel algoprog { if00cours-texte [if], May 14, 20188

1.6 Priorite des operateursJava : Priorite des operateurs

Les operateurs de m^eme priorite sont regroupes sur une m^eme ligne.Operateur

PrioriteAlgorithmiqueJavaSignication

La plus elevee-(unaire)-(unaire)Negation algebrique ^(aucun)Puissance div mod * / / %Multiplication, division, div. entiere, modulo + -+ -Addition et soustraction < <= > >=< <= > >=Operateurs de comparaison = <>== !=Operateurs d'egalite

Non!Negation logique

Et&&Et logique

La plus basseOu||Ou logique

Cas de combinaisons de Et et de Ou

Mettez des parentheses :

cond1 Et cond2 Ou cond3 est dierent de cond1 Et cond2 Ou cond3 En l'absence de parentheses, leEtest prioritaire sur leOu. Unisciel algoprog { if00cours-texte [if], May 14, 20189 1.7 Evaluation paresseuse des operateurs Et et OuPrincipe de l'evaluation paresseuse () Dite aussievaluation court-circuitee(), elle s'ef- fectue de lagauche vers la droiteet ne sont evalues que les conditionsstrictement

necessairesa la determination de la valeur logique de l'expression.Utilite de l'evaluation paresseuse

Elle permet de gagner du temps mais surtout elle evite des erreurs d'execution.Exemple considerons l'expression :n<> 0 Etm/n> 10 Sinest nul, l'evaluation paresseuse donne le resultatFauximmediatement apres test de la premiere condition sans evaluer la seconde, tandis qu'une evaluation complete entrainerait un arr^et de l'algorithme pour cause de division par 0.Non-commutativite du Et et du Ou

L'evaluation paresseuse a pour consequence :

c1 Et c2 n'est pas equivalent a c2 Et c1 Unisciel algoprog { if00cours-texte [if], May 14, 201810

1.8 Exemples : Priorite et evaluationExemple : Priorite des operateurs

Considerons l'expression logique :nona+2<30ou(b-c/2=28etc^11>2000*c+1) Elle est equivalente a :(non((a+2)<30))ou(((b-(c/2))=28)et((c^11)>((2000*c)+1)))

La formule avec sous-accolades est :

(non((a+ 2)???? <30) ou(((b-(c/2)???? = 28) et((c11)???? >((2000?c)???? +1)

Exemple :

Evaluation paresseuse

Le tableau ci-dessous rassemble les evaluations de l'expression booleenne :expr<-- ( A> 10 etA<= 12) ou(non(B> 10))

Par exemple, la deuxieme colonne du tableau montre que siAcontient 0 etBcontient -3, alors l'evaluation booleenne deexprdonneVrai. De plus, si la case est vide, ceci signie que la condition n'est pas evaluee en raison de l'evaluation paresseuse.A01113

B-31616

A>10FauxVraiVrai

A<= 12VraiFaux

A>10 et A<= 12FauxVraiFaux

B>10FauxVrai

non (B>10)VraiFaux expr<- (A>10 et A<= 12) ou (non (B>10))VraiVraiFaux Unisciel algoprog { if00cours-texte [if], May 14, 201811

2 Selectives Si, Si-Alors et Si-Sinon-Si

2.1 Selective SiSelective Si

Elle traduit :Silaconditionest vraie, executer lesinstructionsAlors,Sinonexecuter les instructionsSinon. Il s'agit d'un choix binaire :une et une seuledes deux sequences est executee.Laconditionpeut ^etre simple ou complexe (avec des parentheses et/ou des operateurs logiquesEt,Ou,Non).Selective Si if(condition){ instructionsAlors else instructionsSinon Java Notez l'absence du mot-cleAlorsd'ou l'obligation des parentheses autour de la condition. Unisciel algoprog { if00cours-texte [if], May 14, 201812

2.2 Selective Si-AlorsSelective Si-Alors

Forme restreinte de la structureSi(sans clauseSinon).Selective Si-Alors if(condition){ instructionsAlors Unisciel algoprog { if00cours-texte [if], May 14, 201813

2.3 RemarquesSyntaxes Selection binaire et blocs

Utilisez la syntaxe avec des blocs (m^eme s'il n'y a qu'une seule instruction) : •Ceci evite de retenir deux syntaxes dierentes. •En cas d'ajout d'instructions, le bloc est deja present.A propos des tests numeriques

Puisque2 + 3 = 5, on a?⎷2

2+?⎷3

2=?⎷5

2. Mais que se passe-t-il si on utilise un tel calcul dans un test? Le calcul est considere comme faux car les reels-machine sont des valeurs approchees. Il convient donc d'^etre tres prudent quand on utilise des egalites numeriques (sur les reels) dans les tests. Unisciel algoprog { if00cours-texte [if], May 14, 201814

2.4 Exemple : Selectives Si et Si-Alors

Cet exemple saisit la moyenne annuelle d'un etudiant dans un entiermoypuis ache l'un des deux messages suivants :Vousne passez pas dans l "annéesup érieure Bravo vous passez dans l ann e sup rieure Le premier est ache simoy< 10 , sinon c'est le deuxieme. Et dans le cas ou16 <=moy <=

20, il ache egalement :Avecles f élicitationsdu jury

Programme@[pgpassage1.java]importjava.util.Scanner;classPGPassage1{ publicstatic void main(String[]args ){

Scanner

input = newScanner(System.in);doublemoy;System.out.print("Moyenne?" ); moy input nextDouble if(moy< 10.0) {

System

out println Vous ne passez pas dans l annee superieure else

System

out println Vous passez dans l annee superieure if(16.0 <=moy && moy <= 20.0) {

System

out println Avec les felicitations du jury

Explication

La premiere condition est une condition simple :moy< 10 , et la deuxieme condition une condition composee :16 <=moy Et moy <= 20 .Trace d'execution La presence d'une selectiveSine change pas le principe de la trace d'execution qui est de suivre pas a pas le contenu des variables. Pour l'exemple, on a :13 ==> "Vouspassez dans l "annéesup érieure". En eet, apres l'exe- cution de l'instruction de saisiesaisir(moy), la variablemoycontient la valeur13et l'exe- cution commence a traiter la deuxieme instruction. Cette deuxieme instruction est une Unisciel algoprog { if00cours-texte [if], May 14, 201815 instructionSimais comme sa conditionmoy< 10 est fausse, le bloc d'instructions execute est celui de la clauseSinon... Unisciel algoprog { if00cours-texte [if], May 14, 201816

2.5 Selective Si-Sinon-SiSelective Si-Sinon-Si

Elle evalue successivement laconditionIet execute lesinstructionsIsi elle est veriee. En cas d'echec desnconditions, execute lesinstructionsSinon.Selective Si-Sinon-Si if(condition1){ instructionsA1 else if (condition2){ instructionsA2 else if ...... else if (conditionN){ instructionsAn else instructionsSinon Unisciel algoprog { if00cours-texte [if], May 14, 201817

3 Arbre de choixSi imbriquees et Si en cascade

Dans le cas de choix arborescents { un choix etant fait, d'autres choix sont a faire, et ainsi de suite {, il est possible de placer des structuresSide deux facons : •Si imbriquees: A l'interieur de chacune des clausesAlorsetSinon. •Si en cascade: Uniquement dans la clauseSinon, d'ou l'emploi duSi-Sinon-Si. Il n'y a pas de limitation dans la profondeur des imbrications et/ou cascade sauf par rapport a la lisibilite de l'algorithme. L'unique regle a respecter est qu'a chaqueSidoit correspondre au m^eme niveau unFinSiet reciproquement. L'indentation est un moyen d'eviter ce type d'erreur.Arbre de choix Dit aussiarbre de decision, il permet de visualiser graphiquement les structuresSi. La forme de l'arbre decrit immediatement s'il s'agit de structuresSiimbriquees et/ou en cascade.Structures Si et son arbre de choix

Indentation

Dans l'ecriture de tout programme, on veillera aindentercorrectement les lignes de codes an de faciliter sa lecture. Cela veut dire : 1. L esbalisesencadrant toute structure de contr^ole devront ^etre parfaitement a la verticale l'une de l'autre :DébutavecFin;Si[,Sinon] avecFinsi; (c'est vrai aussi pour celles que nous allons voir plus tard :Selon;TantQue;RépéteravecJusquà;Pour avecFinPour. Unisciel algoprog { if00cours-texte [if], May 14, 201818 2. L esl ignessi tueesen tret outep aired eb alisesd evront^ etred ecaleesd 'unet abulation vers la droite. 3. S urp apier,o nt racerau neligne verticaleentre le debut et la n d'une structure de contr^ole an de mieux la delimiter. Unisciel algoprog { if00cours-texte [if], May 14, 201819

4 Complements

4.1 Selective Selon

La structureSelonest une simplication d'ecriture de plusieurs alternatives imbriquees.

Deux formes existent :

•SelectiveSelon(listes de valeurs) •SelectiveSelon(conditions) La forme acceptee par la plupart des langages de programmation est celle avec listes de valeurs.Selective Selon (listes de valeurs) Siexpr= une des valeurs de la liste1 Alors#instructions lorsque la valeur est dans liste1 Sinon Si expr= une des valeurs de la liste2 Alors#instructions lorsque la valeur est dans liste2 Sinon

Si ...SinonSi expr= une des valeurs de la listeN Alors#instructions lorsque la valeur est dans listeN

Sinon instructions lorsque la valeur de la variable ne se trouve dans aucune des listes pr c dentes FinSi

Selective Selon (conditions)

Sicondition1Alors#instructions lorsque la condition1 est vraie Sinon Si condition2Alors#instructions lorsque la condition2 est vraie Sinon Si ...SinonSi conditionNAlors#instructions lorsque la conditionN est vraie Sinon instructions ex cuter quand aucune des conditions pr c dentes n est v rifi e FinSi Unisciel algoprog { if00cours-texte [if], May 14, 201820

4.2 Selective Selon (listes de valeurs)Selective Selon (listes de valeurs)

Elle evalue l'expressionet n'execute que lesinstructionsIqui correspondent a la valeur ordinaleCi(c.-a-d. de type entier ou caractere). La clauseCasAutre est facultative et permet de traiter tous les cas non traites precedemment. Il s'agit de l'instruction multi- conditionnelle classique des langages.Selective Selon (listes de valeurs) switch(expression){ caseC1:instructions1; break;... caseCn:instructionsN; break;default:instructionsD

Remarque

Veillez a ne pas faire apparaitre une m^eme valeur dans plusieurs listes.Java : Rupture L'achevement d'un enonce n'est pas automatique : il faut l'expliciter a l'aide de l'ins- tructionbreak. Unisciel algoprog { if00cours-texte [if], May 14, 201821Selon v.s. Si

LeSelonest moins general que leSi:

•L'expression doit ^etre une valeur discrete (EntierouCaractère). •Les cas doivent ^etre desconstantes(pas de variables). Si ces regles sont veriees, leSelonest plus ecace qu'une serie deSien cascade (car l'expression duSelonn'est evaluee qu'une seule fois et non en chacun desSi). Unisciel algoprog { if00cours-texte [if], May 14, 201822

4.3 Exemple : Jour de la semaine en clair

L'algorithme saisit un jour de la semaine sous forme d'un nombre entier (0 pour di- manche, 1 pour lundi...) et ache en clair le jour de la semaine pour un jour travaille et pour le samedi ou le dimanche. Dans tous les autres cas, il achede jour non valide>.Programme@[pgjsem1.java]importjava.util.Scanner;classPGJsem1{ publicstatic void main(String[]args ){

Scanner

input = newScanner(System.in);intjr;System.out.print("Numerodu jour ?" ); jr input nextInt switch(jr){ case1:System.out.println("lundi"); break;case2:System.out.println("mardi"); break;case4:System.out.println("jeudi"); break;default:System.out.println("Numerode jour non valide "); Unisciel algoprog { if00cours-texte [if], May 14, 201823

4.4 Operateur Si-expressionOperateur Si-expression

exprBool exprAlors exprSinon

Explication

Evalue l'expression logiqueexprBoolet si elle est veriee, eectue l'expressionexprAlors,quotesdbs_dbs45.pdfusesText_45
[PDF] java & operator

[PDF] javascool boucle for

[PDF] exemple situation probleme

[PDF] javascool string

[PDF] tableau javascool

[PDF] fonction javascool

[PDF] javascool random

[PDF] situation problème dans l'enseignement

[PDF] situation problème didactique

[PDF] caractéristiques démographique définition

[PDF] exercices de démographie

[PDF] démographie définition pdf

[PDF] démographie française

[PDF] exercice javascript formulaire corrigé

[PDF] cours demographie