Exercice java corrigé produit scalaire avec les tableaux

Les tableaux, ici à une dimension, sont typiquement parcourus au moyen de boucles for. Ces boucles sont utilisées pour remplir les vecteurs (par lecture de doubles) et pour effectuer le calcul du produit scalaire. La principale chose à remarquer ici est qu’avec les moyens à disposition au moment de la série, on ne sait pas réutiliser des portions de code lorsqu’elles sont requises à plusieurs endroits du programme (exemple: la lecture des vecteurs). Ceci implique que le code concerné est tout simplement dupliqué. Nous verrons à partir du cours prochain comment améliorer cet état de choses.

import java.util.Scanner;
class Scalaire {
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        int nMax = 10;
        int n;

        // On exige l'introduction d'un entier entre 0 et 10
        do {
            System.out.print("Quelle taille pour vos vecteurs [entre 1 et  " 
                     + nMax + "] ? ");
            n = scanner.nextInt();
        } while (n < 1 || n > nMax);

        // Déclaration-construction des deux vecteurs
        double [] v1 = new double [n];
        double [] v2 = new double [n];

        System.out.println("Saisie du premier vecteur :");
        for (int i = 0; i < n; i++) {
            System.out.print(" v1[" + i + "] = ");
            v1[i] = scanner.nextDouble();
        }

        System.out.println("Saisie du second vecteur :");
        for (int i = 0; i < n; i++) {
            System.out.print(" v2[" + i + "] = ");
            v2[i] = scanner.nextDouble();
        }

        // Calcul du produit scalaire
        double somme = 0.0;
        for (int i = 0; i < v1.length; i++) {
            somme += v1[i] * v2[i];
        }

        System.out.println("Le produit scalaire de v1 par v2 vaut " 
                   + somme);
    }
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *