calcul surface

206wrc3

Expert
Bonjour à tous les forumeurs :merci:
Voila j'ai un problème de programmation javascript. je suis pas fort dutout en javascript et je dois faire une page html pour mon boulot qui doit contenir du javascript pour calculer la surface de la peau en fonction du poids et de la taille. Dans le head il faut mettre la fonction F_sc qui aura pour argument poids p et taille t et qui calculera la surface de peau d'un adulte.
La formule de calcul est la suivante: S(indice c)=T (exposant 0.725)*P (exposant 0.425)*(71.84/10000)
avec T en cm et P en kg.
ensuite, dans le body il faudrai avoir un prompt pour le poids en Kg et un autre pour la taille en m avec 2 décimales, ces prompts appelleront la fonction qui renverra une valeur en m² affiché par un alert et un document.write.

Est-ce que quelqu'un saurai m'aidé afin de trouver où je dois mettre quoi pour que cette fonction fonctionne?

Je vous remerci d'avance et à bientôt :hello:
 

206wrc3

Expert
Le problème, c'est ce que je dois mettre dans le head, je n'arrive pas à avoir une formule qui fonctionne
 

206wrc3

Expert
et bien dans head j'ai ceci:

Code:
<head>
<TITLE>calcul surface peau</TITLE>

<script language="javascript">
var t= prompt("Entrer votre taille en m avec 2 décimales");
var p= prompt("Entrer votre poid en Kg");
var s= Math.pow(0.725,t)*Math.pow(0.425,p)*0.007184;
fonction F_sc ();
</script>

</head>

je sais qu'il me manque un parseFloat et return et puis je ne sais pas très bien comment on inclu la fonction F_sc. Je suis vraiment débutant en javascript :(

ensuite dans le body j'ai ceci:

Code:
<script language="javascript">
document.write("poids =" +p);
document.write("taille =" +t);
document.write("Vous avez" +s "m² de peau");
alert("Surface cutanée:" +s "m² de peau");

</script>

et cela ne fonctionne pas. :( je ne comprend vraiment pas grand chose à tout ça.
 

boub popsyteam

Grand Maître
Bon alors dans ton head mets:

Code:
<script src="chemin/fonctions.js" type="text/javascript"></script>
(ou chemin est le chemin relatif ou l'url de ton fichier)

Et dans un fichier (fonctions.js) tu mets:
Code:
function F_sc(t,p) {
return Math.pow(0.725,t)*Math.pow(0.425,p)*0.007184;
}

+ il va falloir l'appeler au bon endroit avec les bons paramètres

A moins de s'en servir pour remplir dynamiquement une case d'un form à 3 cases ou les 2 autres sont les variables justement je pense que le js n'est pas adapté ...

(mes connaissances en js etant assez limitées, je te laisses faire des recherches de ce côté là ;))

edit: Bon comme j'aime bien savoir faire moi aussi:

Code:
<html>
<head>
<title>Test</title>
<script language="Javascript">
<!--
function F_sc(t,p) {
return Math.pow(0.725,t)*Math.pow(0.425,p)*0.007184;
}

function test (form) {
    var t = form.Taille.value;
	var p = form.Poids.value;
	form.Surface.value =F_sc(t,p); 
}
// -->
</script>
</head>
<body>
<form name="myform" action="" METHOD="GET">
Poids: <input type="text" name="Poids" value=""><br />
Taille: <input type="text" name="Taille" value=""><br />
Surface: <input type="text" name="Surface" value=""><br />
<input type="button" name="button" value="Cliquez" onClick="test(this.form)">
</form>
</body>
</html>
 

206wrc3

Expert
Je te remerci "boubpopsyteam" :merci:
Mais je ne voudrai pas de cadres a remplir sur la feuille, mais une fenêtre prompt pour demander la taille à 2 décimales (d'ou le parseFloat) et un autre prompt pour entrer la taille. En ce qui concerne l'affichage et bien je voudrai que cela s'affiche sur la page (pas dans un cadre, mais dans une phrase type: "vous avez ... m2 de peau"), que le poids s'affiche sur la page et également la taille. Et aussi une fenêtre alert pour donner la surface de peau.

J'ai eu ces directives à respecter :(
 

206wrc3

Expert
bon je me suis basé sur ce que m'a donné "boubpopsyteam" pour le faire selon les directives et j'obtiens ça:

Code:
<html>

<head>

<script language="Javascript">
<!--
function F_sc(t,p) {
var s = Math.pow(0.725,t)*Math.pow(0.425,p)*0.007184;
return s;
}

</script>

</head>
<body>
<script language="Javascript">


var t = prompt("Entrer votre taille en m avec 2 décimales");
var p = parseFloat(prompt("Entrer votre poid en Kg"));
s = F_sc(t,p);

document.write("Poids = "+p+" kg <br>");
document.write("Taille = "+t+" m² <br>");
document.write("Vous avez "+s+" m² de peau <br>");
alert("Surface cutanée: "+s+" m² de peau");

</script>
</body>
</html>

Bon cela fonctionne maintenant à par que le résultat est en exposant négafit :pt1cable: je ne vois pas comment on pourrait avoir une surface de peau négative.
Je pense que j'approche du but, mais ce n'est pas encore ça.
 

boub popsyteam

Grand Maître


Y'en a y font faire n'importe quoi ... C'est tout laid les prompt :(



Un exposant negatif ne rends pas la valeur négative ...

10^-1 c'est 0.1 ... Révises tes exposants vu que c'est completement normal vu ta formule ... AMHA regardes plutot de ce côté là ;)

 

206wrc3

Expert
Je pense avoir compris pourquoi le calcul ne fonctionne pas, dans les Math.pow, l'exposant etait placé en premier et puis le nombre à élever, j'ai donc inverser les 2 et maintenant j'ai une valeur positive sauf que j'ai fait le calcul avec un exemple que j'ai reçu avec la page html et j'ai fait le même calcul avec une calculatrice et je trouve la même réponse qui est de l'ordre de 0.02...... mais l'exemple que j'ai reçu est de l'ordre de 2,..... Alors soit l'exemple que j'ai reçu n'est pas correcte ou alors la formule n'est pas corecte. JE vais regarder tout ça.
En tout cas, je vous remerci de votre aide :merci:
Je préfère également le tableau a la place des prompts mais ce sont les directives :sarcastic:
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 717 996
Membres
1 586 386
Dernier membre
aviateurdesairs
Partager cette page
Haut