[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]

2.11
  Expression polynômiale - Corrigé
Niveau 1
 
 
Fichiers:
  Degre3.java    

Le but est d'écrire un petit programme permettant d'évaluer un polynôme du 3ème degré de la forme:

((a+b)/2)x
3 + (a+b)2x2 + a + b + c

On commence par lire les coefficients du polynôme:

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:

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
21
22
23
24
25
26
import java.util.Scanner;

class Degre3 {

    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        
        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();

        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);

        scanner.close();
    }
}

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.

 


[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]