Exercice programation Java

Fermé
Dr_Charlatan Messages postés 1 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 20 décembre 2010 - 20 déc. 2010 à 20:09
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 23 déc. 2010 à 00:30
Bonjour, vous pouvez m'aider à résoudre les exercices suivants s'il vous plaît :

Soient p un réel positif et r sa racine carrée. On a r^2 = p, d'où r^2 + r = r + p puis r = (r+p)/(r+1). Une approximation de r est alors obtenue par un calcul itératif : r(i+1) = (r(i)+p)/(r(i) + 1) avec r(0) que l'on choisit ici égal à p/2.

1) Écrire une méthode termeN qui prend en arguments un réel p et un entier n et qui renvoie le terme r(n).

2) Écrire une méthode termeE qui prend en arguments deux réels p et e et qui renvoie le terme r(i) de plus petit indice vérifiant - e < r(i)+1 - r(i) < e.


1)
import fr.deug.script.*;
          public class terme {
               public static int termeN (int p, int n) {
                  double r = p/2;
                   int i = 1;
                   while(i<=n){
                        r = (r+p)/(r+1);
                        i = i + 1;
                       }
                   return r;
                }
             ]
          


2) Pour la 2) je n'ai pas compris, ce que l'exercice veut que je fasse...

Merci.
A voir également:

2 réponses

Dr_Charlatan
22 déc. 2010 à 20:51
Aidez-moi.
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
23 déc. 2010 à 00:30
1) "en arguments un réel p et un entier n" : p ne peut pas être int, car p est réel.

Ensuite, un plus gros détail : tu fais une initialisation de i, puis une condition sur i, et une incrémentation de i... dans une boucle while ! Pourquoi pas une boucle for ?

2) Ce qu'on te demande c'est la valeur r telle que la précision est plus petite qu'un epsilon e (la première puisqu'elle nous suffit)
En gros, si on te demande un calcul avec e=0.01, ça signifie qu'entre r(i) et r(i+1) tu n'as gagné en précision moins de 0.01, dans ce cas on peut considérer que pour l'epsilon donné le résultat r(i+1) est suffisant.
0