Exercice JAVA sur les opérateurs - expression polynômiale
Rédigé par Salim KHALIL, Publié le 17 Août 2010, Mise à jour le Dimanche, 30 Août 2020 23:10
But:
|
On s'exerce un peu avec les opérateurs et les expressions arithmétiques de Java | |||
Thème:
|
Opérateurs et expressions | |||
Fichiers:
|
- |
Écrivez un petit programme Java, Degre3.java, vous permettant d'évaluer un polynôme du 3ème degré de la forme:
((a+b)/2)x3 + (a+b)2x2 + a + b + c
Exemple d'exécution:
Entrez a (int) : 1 Entrez b (int) : 2 Entrez c (int) : 3 Entrez x (double) : 3.5 La valeur du polynôme est : 180.5625
Notez qu'il n'y a pas d'opérateur simple pour la puissance 3 en Java. Il faut utiliser des multiplications. Vous introduirez également au besoin des variables auxiliaires pour rendre le calcul plus efficace. N'oubliez pas de faire en sorte que le nom de la classe soit identique au nom du fichier.
Fichiers:
|
Le but est d'écrire un petit programme permettant d'évaluer un polynôme du 3ème degré de la forme:
((a+b)/2)x3 + (a+b)2x2 + a + b + c
On commence par lire les coefficients du polynôme:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import java.util.Scanner; class Degre3 { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.print("Entrez le coefficient a (int): "); int a = scanner.nextInt(); System.out.print("Entrez le coefficient b (int) "); int b = scanner.nextInt(); System.out.print("Entrez le coefficient c (int) "); int c = scanner.nextInt(); } } |
on fait pareil pour la variable, mais cette fois c'est un double:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.util.Scanner; class Degre3 { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.print("Entrez le coefficient a (int): "); int a = scanner.nextInt(); System.out.print("Entrez le coefficient b (int) "); int b = scanner.nextInt(); System.out.print("Entrez le coefficient c (int) "); int c = scanner.nextInt(); System.out.print("Entrez la valeur de la variable x (double) "); double x = scanner.nextDouble(); } } |
Ensuite il faut coder la formule. On peut remarquer alors que a+b et x*x interviennent plusieurs fois dans le calcul. Pour éviter d'avoir à les recalculer deux fois, on peut les stocker dans des variables intermédiaires. On fait ensuite le calcul et on affiche le résultat:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import java.util.Scanner; class Degre3 { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.print("Entrez le coefficient a (int) : "); int a = scanner.nextInt(); System.out.print("Entrez le coefficient b (int) : "); int b = scanner.nextInt(); System.out.print("Entrez le coefficient c (int) : "); double c = scanner.nextInt(); System.out.print("Entrez la valeur de la variable x (double) : "); double x = scanner.nextDouble(); double xx = x * x; double aux = a + b; double valeur = aux/2 * x * xx + aux * aux * xx + aux +c; System.out.println("La valeur de l'expression est: " + valeur); } } |
Attention! Pour que le calcul de (a+b)/2 se fasse correctement (sans troncature due à la division entière), il est indispensable que la variable intermédiaire aux soit déclarée comme double.