[Javascript] demande d'aide pour exercices

Résolu
Bonjour,

Je cherche de l'aide pour comprendre exactement ce que font ces fonctions :
<HTML>
<HEAD>
<TITLE> exemple <TITLE>
<SCRIPT LANGUAGE="Javascript">
function est_pair(n){
// retourne true si n est pair, false sinon

temp = n % 2; // modulo, qui est le résultat de
// la division entière de n par 2
// si n est pair, n%2 vaut zéro, sinon n%2 vaut 1
If (temp==0) return true;
Else return false ;

}
function f (x){
if((x<=0)){
resultat = 0;
}
else {
if ( est_pair(x) ){
resultat= x + f (x-2);
}
else {
resultat = f (x-1);
}
}
Return resultat;
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
document.write("<BR>f de ",7," vaut ", f (7)) ;
</SCRIPT>
</BODY>
</HTML>

Pouvez vous m'aider à comprendre surtout ce que fait la fonction f(x) comment cela fonctionne, quel résultat on obtient en traçant la fonction f(x) pour x=7, comment on trace une fonction récursive, et de manière générale que calcule cette fonction?

Merci d'avance
Configuration: Windows XP
Firefox 1.5.0.11

6 réponses

  1. je cherches quelques exemples corrigés en javascript à propos des differentes fonctions.
    1. Prenons les choses par le début, notons 2n un nombre pair et 2n+1 un impair.

      on a "else {
      resultat = f (x-1);
      .." donc f(2n+1)=f(2n)

      Ensuite on a

      f(2n)=2n+f(2n-2) [soit f(2n)=2n+f(2x(n-1))]

      et si n<0 f(n)=0

      Donc f(2n)=2+4+....+2n

      soit f(2n)=2x(1+2+3+...+n)

      une petite formule mathématique donne

      f(2n)=2x(Nx(N+1))/2=Nx(N+1)

      donc f(N)=Nx(N+1) si N est pair, Nx(N-1) si N est impair

      f(7) doit valoir 7*6=42 si tout marche bien

      Irem
      1. merci pour ton aide à moi de méditer la dessus maintenant .

        A bientôt
        Salut.
      2. @aurore973A bientot et bonne méditation, met le sujet comme résolu stp

        Irem
    2. Bonjour, j'ai besoin de vos aides j'ai un exercice et j'ai pas pu le repondre est ce que vous pouvez nous aider l'ec=xercice est le suivant :

      JS ne fournit que la fonction Math.random () qui donne un nombre au hasard dans l'intervalle [0, 1 [. D'autre part les fonctions Math.floor(x) et Math.round(x) fournissent respectivement la partie entière de x c'est-à-dire l'entier immédiatement inférieur à x, et l'arrondi à l'entier le plus proche.

      Utiliser ces 3 fonctions) pour construire la fonction pile-face () qui simule un lancer d'une pièce au hasard et donne 0 ou 1 respectivement pour pile ou face

      je t'attend tes reponses aurevoir merci
      1. Bonjour j'ai un problème qui me tracasse depuis un moment pouvez vous m'aider svp
        je veux insérer une question, dès que la personne trouve la bonne réponse ça le rédige sur une autre page, quelqu'un pourrait me compléter le script ?
        merci d'avance.

        VOICI LE SCRIPT :

        <SCRIPT LANGUAGE="JavaScript">
        function verif()
        {
        var reponse ='deux ';

        if(document.question.reponse.value == reponse)
        {
        document.question.resultat.value = 'Vrai';
        }
        if(document.question.reponse.value != reponse)
        {
        document.question.reponse.value = '';
        document.question.resultat.value = 'Faux';
        }
        }
        </script>
        <form name="question">
        un + un = ? <br>
        <input type="text" name="reponse" size="20"><br>
        <input type="button" value="Valider" name="valid" onclick="verif()">
        <br>
        Résultat de votre réponse :<br>
        <input type="text" name="resultat" size="20">
        </form>