Adloun

programmation Java (école d'ingénieur) · Chapitre 3 · Exercice de TD

La série harmonique

Instructions de contrôle · niveau 2

Énoncé

Combien faut-il de termes pour que dépasse ? Écrire le programme. Pourquoi la boucle for (int k = 1; k <= 10; k++) s += 1 / k; donne-t-elle ?

Corrigé


public class Harmonique {
    public static void main(String[] args) {
        double somme = 0;
        int n = 0;
        while (somme < 3) {
            n++;
            somme += 1.0 / n;
        }
        System.out.println("Il faut " + n + " termes ; somme = " + somme);
        double s = 0;
        for (int k = 1; k <= 10; k++) {
            s += 1 / k;
        }
        System.out.println("Avec 1 / k : " + s);
    }
}

Il faut 11 termes ; somme = 3.0198773448773446
Avec 1 / k : 1.0

On ne connaît pas le nombre de tours : c'est une boucle while. Dans la seconde boucle, 1 / k est une division entière : elle vaut pour et ensuite. Il faut écrire 1.0 / k.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →