"Datatype for the Boolean values true and false. It is common to use boolean values with control statements to determine the flow of a program. The first time a variable is written, it must be declared with a statement expressing its datatype. "(Reference)
Que ce soit pour les tests ou les conditions d'arrêt du while on utilise entre parenthèses une expression du type booléen
Il existe des opérations pour les booléens comme il existe des opérations bien connues pour les nombres. Pour les booléens ce sont le ET, symbolisé par &&, puis le OU symbolisé par ||
Ces opérations nous permettra d'écrire des tests plus complexes
Par exemple reprenons le jeu du Chevalier de Méré
On lance 4 dés : On gagne si on a au moins un six autrement dit on perd si aucun des dés n'affiche six
void setup(){
int de1,de2,de3,de4;
de1 = int(random(6)+ 1;
de2 = int(random(6)+ 1;
de3 = int(random(6)+ 1;
de4 = int(random(6)+ 1;
if((de1 != 6) && (de2 != 6) && (de3 != 6) && (de4 != 6)){
println("dé 1 vaut "+de1);
println("dé 2 vaut "+de2);
println("dé 3 vaut "+de3);
println("dé 4 vaut "+de4);
println("*************");
println("Perdu");
else{
println("dé 1 vaut "+de1);
println("dé 2 vaut "+de2);
println("dé 3 vaut "+de3);
println("dé 4 vaut "+de4);
println("*************");
println("Gagné");
}
}
(de1 != 6) && (de2 != 6) && (de3 != 6) && (de4 != 6) est une expression composée de 4 booléens connectés avec &&. Chaque booléen est soit vrai ou faux. a && b est vrai uniquement lorsque à la fois a et b sont vrais
Problème: Un chemin de fer sur une portion rectiligne où il y a un tunnel est modélisé par une demi-droite muni d'un repère. La fin de la portion a pour abscisse 1000. Le début du tunnel a pour abscisse 400 et la fin 600.
Un train est repéré par une abscisse variable f = la fin du train et une variable l = la longueur du train. Le train se déplace de la gauche vers la droite.
Faire un programme qui prend en entrées deux entiers générés aléatoirement:
et qui affiche à l'écran les messages suivant, selon la position du train sur la voie :
"Pas entré", "Entre ", "A l'intérieur","Sort","Est sorti"
Exemples :
Le jeu du Crap
On lance deux dés et on considère la somme S des nombres sortis. Si S = 7 ou 11 on a gagné si S = 2 ou 3 ou 12 on a perdu. Pour tout autre résultat P on rejoue autant de fois qu'il est nécessaire jusqu'à ce que S = 7 ou S = P
Faire un programme qui réalise 1000 parties et qui calcule la fréquence de gain ainsi que le nombre moyen de lancers nécessaire pour gagner une partieSuperposition d'images (/5 points)
Une fenêtre graphique est repérée par deux axes rectangulaires Ox et Oy (voir dessin ci-dessous). Les dimensions de la fenêtre en pixels sont largeur = 800 et hauteur = 600. Autrement dit l'axe Ox vaut 800 pixels Une image dans cette fenêtre est repérée par les coordonnées du coin supérieur gauche et celles du coin inférieur droit. Sur le dessin l'image 1 est repérée donc par (x1,y1,x2,y2)
Faire un programme qui affiche à l'écran si deux images se superposent ou pas
Exemples :
Une fenêtre graphique 400 x 400 est découpée en petits carrés de 50 x 50. Un unique bateau est placé aléatoirement sur la grille
Le joueur clique sur la grille dans une case. Si c'est la case où se trouve le bateau on affiche le message "Coulé", si la case est dans la même ligne ou la même colonne on affiche "En vue", sinon on affiche "Perdu"
Aide : Chaque case est repérée par son coin supérieur gauche, autrement dit chaque case est repérée par (x,y) avec x et y entiers entre 0 et 7 inclus. Lorsque l'utilisateur clique dans une case, mouseX et mouseY valent un certain nombre de fois 50. Pour trouver les coordonnées (x,y) du coin supérieur gauche de la case où on a cliqué il suffit de faire :
x = mouseX/50;
y = mouseY/50;