Nous allons maintenant étudier une structure fondamentale en programmation le « si …... alors.......sinon........».

L'idée de base est la suivante :


si (condition) {
 suite_instruction1
}
sinon {
 suite_instruction2
}
			

Comment cela fonctionne-t-il ?

Si « condition » est true alors « suite_instruction1 » est exécuté et « suite_instruction2 » est ignoré sinon (sous-entendu que « condition » est false) « suite_instruction2 » est exécuté et « suite_instruction1 » est ignoré

Notez l'utilisation de 2 éléments nouveaux :

À faire vous-même 6.1

Soit le programme suivant :


int a;
int b;
a=4;
b=7;
if (a<b){
 println("Je suis toto.");
 println( "Je n'aime pas titi.");
}
else {
 println( "Je suis titi.");
 println( "Je n'aime pas toto.");
}
println( "En revanche, j'aime Processing.");
			

Quel est le résultat attendu après l’exécution de ce programme ? Vérifiez votre réponse à l'aide de Processing.


Processing permet de générer des nombres aléatoires grâce à la fonction random (nous verrons la notion de fonction un peu plus loin).

À faire vous-même 6.2

Saisissez, analysez et testez le programme suivant :


float a;
a=random(10);
println(a);
			

Comme vous pourrez le constater en exécutant plusieurs fois le programme du "À faire vous-même 6.2", le nombre décimal contenu dans la variable a change à chaque exécution du programme. En revanche, il est toujours compris entre 0 et 10 (10 exclu).

Le nombre généré par la fonction random est toujours de type float (pensez à faire une conversion si vous voulez obtenir un entier).

Le nombre généré se trouve entre 0 et la valeur indiquée dans la parenthèse de la fonction random.

À faire vous-même 6.3

Créez un programme qui permettra de tirer au sort un nombre entier compris entre 0 et 100. Si ce nombre est inférieur ou égal à 50, le programme devra afficher dans la console de Processing (à l'aide d'un println) "C'est perdu", si le nombre est supérieur à 50, "C'est gagné" sera affiché dans la console Processing.


Un if peut contenir plusieurs conditions, nous aurons alors une structure de la forme :


si (condition1 op_logique condition2 ) {
 suite_instruction1
}
sinon {
 suite_instruction2
}
			

« op_logique » étant un opérateur logique.

Nous allons étudier 2 opérateurs logiques : le «ou» (noté en JavaScript ||) et le «et» (noté en JavaScript &&)

Par exemple (condition1 || condition2) est vrai si condition1 est vrai ou condition2 est vrai

Autre exemple (condition1 && condition2) est faux si condition1 est vrai et condition2 est faux

Les résultats peuvent être regroupés dans ce que l'on appelle une table de vérité :

table de vérité pour le ou
condition1 condition2 condition1 || condition2
vrai vrai vrai
vrai faux vrai
faux vrai vrai
faux faux faux
table de vérité pour le et
condition1 condition2 condition1 && condition2
vrai vrai vrai
vrai faux faux
faux vrai faux
faux faux faux

Nous aurons l'occasion d'utiliser ces opérateurs logiques dans la prochaine activité.