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
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
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.