Série d'exercices 2 : Complétez le code et analyse
Complétez le code suivant :
public class ExempleExpressions {
public static void main(String[] args) {
int a = 5;
int b = 3;
int result;
// Complétez cette expression en ajoutant l'opérateur adéquat
result = a ____ b;
System.out.println("Le résultat de l'expression est : " + result);
boolean estVrai;
// Complétez l'expression ternaire pour attribuer la valeur vraie ou fausse
estVrai = (a > b) ? true : ____;
System.out.println("Le résultat du test ternaire est : " + estVrai);
}
}
Analyse du code
- Pourquoi, dans une expression telle que
result = a + b * 2;
, la multiplication est-elle effectuée avant l'addition ?
- Dans l'expression ternaire
(a > b) ? true : false;
, que se passe-t-il si a
est égal à b
? Comment l'expression peut-elle être modifiée pour inclure ce cas ?
- Quels sont les opérateurs utilisés dans les expressions que vous avez complétées ? Expliquez leur rôle respectif.
- En quoi l'incrémentation d'une variable peut-elle créer un effet de bord dans le programme ?
- Serait-il possible de réécrire l'expression ternaire dans un format plus simple, tout en obtenant le même résultat ? Si oui, comment ?
Série d'exercices 3 : "Cirque GeniusParade"
Le directeur du Cirque GeniusParade doit attribuer un certain nombre d'artistes à un numéro. Chaque artiste a une capacité maximale de performances par jour et le directeur doit s'assurer que la somme des capacités n'excède pas un certain nombre maximum fixé pour le numéro.
Tâche :
- Déclarez trois variables représentant la capacité de trois artistes, puis calculez le total de leurs capacités à l'aide d'une expression simple.
- Utilisez une expression ternaire pour vérifier si la capacité totale ne dépasse pas une limite fixée (par exemple, 10). Si c'est le cas, affichez "Numéro complet", sinon affichez "Numéro incomplet".
public class Cirque {
public static void main(String[] args) {
// Capacités de chaque artiste
int artiste1 = 3;
int artiste2 = 4;
int artiste3 = 2;
// Calcul de la capacité totale
int capaciteTotale = artiste1 + artiste2 + artiste3;
// Limite maximale de capacité pour un numéro
int limite = 10;
// Utilisation de l'opérateur ternaire pour vérifier si le numéro est complet
String resultat = (capaciteTotale <= limite) ? "Numéro complet" : "Numéro incomplet";
// Afficher le résultat
System.out.println(resultat);
}
}
Analyse du problème
- Quels sont les opérateurs utilisés pour calculer la capacité totale et pour vérifier si la limite est atteinte ?
- Comment l'opérateur ternaire est-il utilisé dans ce programme pour vérifier l'état du numéro ?
- Y a-t-il un effet de bord si on modifie la valeur d'un des artistes après le calcul de la capacité totale ? Si oui, comment le gérer ?
- Que se passe-t-il si la capacité d'un artiste est négative ? Comment modifier le programme pour s'assurer que cela ne se produise pas ?
- Comment pourriez-vous adapter ce programme pour gérer plus d'artistes sans réécrire à chaque fois les expressions de calcul ? Proposez une solution simple.