ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges
 

JavaScript : constantes, relations & fonctions mathématiques    
 
Chaînes, tableaux, listes

L'objet du petit programme ci-dessous est de montrer l'usage et la syntaxe d'une fonction mathématique. Une telle fonction apparaît comme une méthode de l'objet Math.

Les fonctions usuelles :

De nombreuses fonctions mathématiques sont présentes comme :

 Toutes ces fonctions doivent être précédées du préfixe Math.

        On peut s'affranchir de cette contrainte en plaçant la partie de programme utilisant des fonctions mathématiques dans un bloc

with (Math)
{
...                           
des exemples...
}

Relations usuelles et fonctions logiques :

Certaines constantes usuelles sont implantées (prédéfinies) dans le code de JavaScript , comme :

JavaScript distingue minuscules et majuscules : écrire pi = 3.14 n'écrasera pas la variable prédéfinie

PI = 3.14159265358979324

 Des exemples simples valent mieux qu'un long discours. Étudier le listing ci-dessous et lancer le programme :
 



<SCRIPT LANGUAGE=JavaScript>
var pi=3.14;
function calcule()
{
with(Math)
{
wdow=open("","calculs","height=200,width=400")   

// on ouvre une fenêtre de calculs
wdow.document.write("constante Pi = "+PI+"<BR>")
wdow.document.write("Mon pi à moi : pi = "+pi+"<BR>")
wdow.document.write("constante E = "+E+"<BR>")
wdow.document.write("ln(2)="+log(2)+"<BR>")
wdow.document.write("sin(PI/6)="+sin(PI/6)+"<BR>")
x=1/7; xf=floor(x*1e4)/1e4;  // on calcule à 10-4 près
xr=round(x*1e4)/1e4;
wdow.document.write("1/7="+x+"<BR>")
wdow.document.write("1/7 floor="+xf+"<BR>")
wdow.document.write("1/7 round="+xr+"<BR>")
wdow.document.write("Fermez maintenant la fenêtre !")

}
}
</SCRIPT>

Remarques :   

Vous constatez que sin(PI/6) n'est pas égal à 1/2 : en effet l'ordinateur ne calcule pas sin (π/6) puisqu'il utilise une valeur approchée de π. C'est ainsi que dans un programme JavaScript faisant usage de la  trigonométrie, un test sur la valeur d'un sinus du type

if (sin(u)==0.5) {...}

peut conduire à des conclusions erronées !

On doit toujours prendre garde aux erreurs d'approximation et d'arrondi. JavaScript calcule avec 16 décimales; le test ci-dessus pourra s'écrire :

if (abs(sin(u) - 0.5)< 1e-15) {...}      (1e-15 signifiant 10-15)

Si, dans ce programme on avait écrit seulement document.write(...) au lieu de wdow.document.write(...), alors la page courante aurait été "écrasée" (se serait effacée) et les calculs seraient apparus à sa place, d'où la nécessité d'ouvrir une fenêtre avec case de fermeture (par défaut).

On peut aussi éviter la répétition du mot-clé document en utilisant en début de procédure l'instruction with (document) {...}


© Serge Mehl - www.chronomath.com