Premiers pas en JavaScript
34.2 objets mathematiques
méthodes
cuy copyleft
  See You Why?  

 


objet Math et propriétés (34.1) | | exercices relatifs à l'objet Math (34.8)

Contenu

 

 

I. Les objets mathématiques et propriétés (constantes)

voir < < < Section précédente

 

II. Les méthodes de l'objet Math

Les méthodes applicables à l'objet Math sont nombreuses : certaines à orientation trigonométrique, d'autres plutôt statistiques ; certaines sans arguments (ou paramètres) d'autres à un ou plusieurs arguments. N'oublions pas que l'objet Math doit figurer devant le nom de la méthode et séparé par un point.
Nous pensons que le lecteur fera lui-même le tri et donnons ici la liste des méthodes par ordre alphabétique :

méthode
Math. suivi de :
description exemple
abs(x) pour obtenir la valeur absolue de x Math.abs(-1357)
retourne 1357
acos(x) pour obtenir l'arc qui a comme cosinus x, compris entre -1 et 1 (réponse exprimée en radians) Math.acos(-0.1357)
retourne
asin(x) pour obtenir l'arc qui a comme sinus x, compris entre -1 et 1 (réponse exprimée en radians) Math.asin(-0.1357)
retourne
atan(x) pour obtenir l'arc qui a comme tangente x (réponse exprimée en radians) Math.atan(-1.357)
retourne
atan2(y, x)
pour obtenir l'angle (en radians) de l'axe des X à un point (x,y). la valeur en radians (comprise entre 0 et 2pi) representant l'angle dont la tangente est : x/y.
Sens anti-horloger.
Math.atan2(-1.357)
retourne
ceil(x) pour obtenir le plus petit entier supérieur ou égal à x (arrondi supérieur) Math.ceil(1.357)
retourne 2
cos(x) pour obtenir le cosinus de x, exprimé en radians (réponse entre -1 et 1) Math.cos(-1.357)
retourne
exp(x)
pour obtenir l'exponentielle de x, soit ex Math.exp(2)
retourne
floor(x) pour obtenir le plus grand entier inférieur ou égal à x (arrondi inférieur) Math.floor(13.57)
retourne 13
log(x)
pour obtenir le logarithme népérien de x, soit ln x, et pas le logarithme décimal de x (attention danger écriture) Math.log(10)
retourne
et pas 1
max(a, b[,...]) pour obtenir la plus grande valeur des arguments passés Math.max(-13,57,12,33)
retourne 57
min(a, b[,...]) pour obtenir la plus petite valeur des arguments passés Math.min(-13,57,12,33)
retourne -13
pow(x, y) pour obtenir x à la puissance y, soit xy Math.pow(2,7)
retourne 128
random() pour obtenir un nombre aléatoire entre 0 et 1 Math.random()
retourne par exemple 0.461357
round(x) pour obtenir l'entier le plus proche, .5 à .999... sont arrondis à l'unité supérieure (arrondi) Math.round(-13.57)
retourne -14
sin(x)
pour obtenir le sinus de x, exprimé en radians (réponse entre -1 et 1) Math.sin(-1.357)
retourne
sqrt(x)
pour obtenir la racine carrée de x Math.sqrt(13.57)
retourne
tan(x)
pour obtenir la tangente de x, exprimé en radians (réponse entre -∞ et +∞) Math.tan(-1357)
retourne
  pour obtenir Math.abs(-1357)
retourne 1357
  pour obtenir Math.abs(-1357)
retourne 1357
 

Les tutoriels rencontrés précisent que la fonction random() génère des valeurs réelles aléatoires comprises entre 0 et 1... cependant, je n'en ai rencontré aucun qui prouve que les limites 0 et 1 puissent être égalées.
Pas très important, me direz-vous. On n'utilise que des entiers, donc on arrondira.

Et c'est là que le bât blesse. Imaginez-vous générer un jeu de 52 cartes... facile, prétenderez-vous. Il suffit de multiplier le nombre réel aléatoire par 52 et on aura une valeur aléatoire réelle comprise entre 0 et 52... sauf que ce sont toujours des réels aléatoires. [Pour les moins initiés, réel veut dire nombre décimal non périodique, en clair, des valeurs telles que 0.4326498754... ou 0.19283746162738...]

Il suffit d'arrondir à l'unité inférieure et on aura une valeur aléatoire entière comprise entre 0 et 52... sauf que 52 n'a aucune chance d'apparaitre si 1 ne fait pas partie du lot de réels susceptibles d'être tirés au hasard. Et, de plus, 52 n'a quasi aucune chance d'apparaitre si 1 fait partie du lot de réels susceptibles d'être tirés au hasard. Il serait donc plus sage d'imaginer que la formule imaginée soit un tirage aléatoire de 0 à 51... ce qui fait 52 valeurs différentes.

Ceci explique la multitude de formules basées sur la fonction ou méthode random() que l'on trouve sur le net pour générer un nombre au hasard compris entre deux valeurs. Nous développerons dans la séquence suivante, comme annoncé lors de la séquence 16.5 où nous avons traité d'une fonction non portable qui générait un nombre entier aléatoire entre 50 et 1000 une fonction plus portable qui acceptera les valeurs minimales et maximales à choisir, en paramètres.

Un exemple d'utilisation des méthodes applicables à l'objet Math ? Voyez ci-après.

 

Exemple

<html>
<head><title>objet math et methodes</title></head>
<body>
<script type="text/javascript">

   var chaine1 = "198.578";
   var entier1 = parseInt(chaine1);
   var reel1 = parseFloat(chaine1);

   document.write("La chaine de d&eacute;part est : "+chaine1+"<br>");
   document.write("transformée en entier est devenue : "+entier1+"<br>");
   document.write("et en réel devient : "+reel1+"<br>");
   document.write("dont la partie entiere du réel est : "+ Math.floor(reel1)+"<br>");
   document.write("et dont la racine carrée du réel arrondi est : "+ Math.sqrt(Math.floor(reel1))+"<br>");
   document.write("La valeur booléenne de \"<i>l'entier converti est NaN</i>\" est : <b>"+ isNaN(entier1)+"</b>.<br><br>");

   chaine2 = "f978d15";
   entier2 = parseInt(chaine2);

   document.write("La chaine de d&eacute;part est : "+chaine2+"<br>");
   document.write("La valeur booléenne de \"<i>l'entier converti est NaN</i>\" est : <b>"+ isNaN(entier2)+"</b>.");
</script>
</body>
</html>


Nous invitons ici le lecteur à (re)prendre connaissance de fonctions ou méthodes déjà recontrées et qui transforme ou extrait une valeur numérique d'une chaine de caractères... en voilà quelques exemples :

 

chaine   parseFloat(chaine);     parseInt(chaine);     eval(chaine);     1.0*chaine;  
"135.68" 135.68 135 135.68 135.68
"135,68" 135 135 68 NaN
"12.3E-6" 0.0000123 12 0.0000123 0.0000123
"SeeYouWhy" NaN NaN NaN
"24.568SeeYouWhy38" 24.568 24 NaN
"SeeYouWhy38.24" NaN NaN NaN
"AF8BEF" NaN NaN NaN
"0284" 284 284 284 284
"0xAB882F" 0 11241519 11241519 11241519
"12.1*6" 12.1 12 72.6 NaN
"cos(3.1)" NaN NaN NaN
"Math.cos(3.1-2)" NaN NaN 0.4535961214255773 NaN
"2.1^3" 2.1 2 1 NaN

 

 

 

VIII. Exercices relatifs à l'objet Math

voir suite >>>

 

 

IX. Test relatif à l'objet Math

voir suite >>>

 


objet Math et propriétés (34.1) | | exercices relatifs à l'objet Math (34.8)

 

 

Merci de votre visite à partir de :

Vous êtes sur :
https://cuy.be/cours/jvs/jvs_342_objet_math_methodes.html

partager sur FaceBook...           consulter sur FaceBook...

 

copyleft
Des liens ne fonctionnent plus ?
Avez-vous des suggestions ?
des commentaires, des corrections, un encouragement... ?
Pour info : Non, il n'y a pas de version papier ou DOC, PDF, etc. de ces notes.


Envoyez-moi un E-Mail (cuy(point)w(at)skynet(point)be)

Attention (at) signifie @ et (point) signifie .

Accueil CUY = See you why?

Compteur gratuitEasyCounter     BelStat Monitored by BelStat - Your Site Counts
La 1 000 000e page a été visitée le 21 mai 2010.
La 2 000 000e page a été visitée ce 18 mars 2012, vers midi.
La 3 000 000e page a été visitée ce 7 janvier 2014 entre 18 h et 18 h 45,
La 4 000 000e page a été visitée ce 5 juin 2015 entre 15 h 49 et 15 h 52,
La 5 000 000e page a été visitée ce 29 aout 2017 après 23 h 30,
Et la 6 000 000e page visitée, trop tôt pour y penser ?
 
et, d'après BelStat, CUY est visité surtout en semaine, peu le weekend...
moins et irrégulièrement pendant les vacances :

visites sur 3 mois, de la mi octobre 2013 à la mi janvier 2014.
 
La 3 333 333e page visitée a eu lieu ce mardi 10 juin 2014, en début d'après midi...
La 3 666 666e page visitée a eu lieu ce dimanche 28 decembre 2014, vers 16 h...
Un tiers de million de pages visitées en 154 jours cela fait une moyenne de 2165 pages visitées par jour...
Deux tiers de million de pages visitées en 355 jours soit une moyenne de 1878 pages visitées par jour...
et seulement 1195 pages visitées quotidiennement pendant les vacances estivales
de la mi juin à la mi septembre 2014

Vous voulez lire quelques messages reçus ?
quelques encouragements ?
Cliquez ici


Fin septembre 2009, installation de ce compteur
qui ne compte chaque nouvel ordinateur visiteur qu'une seule fois
free counter
 
m-à-j du 22/11/2021 :

Depuis cette fin septembre 2009, parmi les 210 pays (sur 274 drapeaux connus) qui nous ont visité,
voici les 100 pays qui nous visitent le plus, 
Nos petits visiteurs, classés par date de visite, où un seul ordi nous a visité, sont :
199. Turkmenistan (TM May 10, 2017) ; 200. Lesotho (LS March 1, 2017) ;
201. Turks and Caicos Island (TC January 18, 2016
202. Cook Islands (CK September 19, 2015)  203. Faroe Islands (FO January 27, 2015
204. Virgin Islands American (VI November 12, 2014) ;
205. Belize (BZ September 29, 2014) ;206. Eswatini - Swaziland (SZ July 21, 2014) ;
207. Grenada (GD April 3, 2014) ; 208. Timor-Leste (TI March 29, 2014) ;
209. American Samoa (AS December 26, 2012) ; 210. Guyana (GY November 5, 2010).