« Introduction au Lua/Fonctions Math » : différence entre les versions
Contenu supprimé Contenu ajouté
m Correcting label on atan2 |
|||
Ligne 1 :
{{:{{BASEPAGENAME}}/Sidebar}}
{{nobots}}
Un module Lua-Scribunto pour Mediawiki, est une page de l'espace de nom "Module" qui utilise une table comme variable locale pour stocker ses fonctions et variables mais aussi pour renvoyer la réponse à la fin du processus.<ref>http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/fr</ref>
Le chapitre bibliothèques Lua, étudie les fonctions intégrées au language et communément regroupées en librairies ou bibliothèques.
Cette leçon vous apprendra comment utiliser les [[mw:Extension:Scribunto/Lua_reference_manual/fr#Math_library|fonctions mathématiques]] Lua, dans vos scipts.
__TOC__
== Prérequis ==
Cette leçon suppose que vous ayez assimilé la leçon [[../Objet Frame | Objet Frame]].
== Créer un script Lua avec... ==
# Accéder au [[Module:Sandbox]].
# Supprimer le code existant.
# Ajouter le code suivant et enregistrer la page:
<source lang="lua">
local p = {}
Ligne 74 :
local x = frame.args[1]
local y = frame.args[2]
return ';fmod\n:math.fmod(' .. x .. ', ' .. y .. ') is ' .. math.
end
Ligne 86 :
end
function p.
local m = frame.args[1]
local e = frame.args[2]
return ';ldexp\n:math.
end
Ligne 144 :
local n = frame.args[2]
math.randomseed(os.time())
return ';randomseed(os.time())\n:math.random(' .. m .. ', ' .. n .. ') is ' .. math.random(m, n) .. '\n'
end
Ligne 173 :
return p
</source>
==
# Rendez-vous sur "votre page de test".
# Ajouter le code suivant et enregistrer la page:
<blockquote><pre>
{{#invoke:Sandbox|abs|-1}}
Ligne 194 ⟶ 193 :
{{#invoke:Sandbox|frexp|1}}
{{#invoke:Sandbox|huge}}
{{#invoke:Sandbox|
{{#invoke:Sandbox|log| 2.718281828459}}
{{#invoke:Sandbox|log10|100}}
Ligne 212 ⟶ 211 :
</pre></blockquote>
=== Le résultat doit correspondre à ceci: ===
<blockquote>
;abs
Ligne 222 ⟶ 221 :
;atan
:math.atan(1) is 0.78539816339745
;acos
:math.atan2(1, 1) is 0.78539816339745
;ceil
Ligne 276 ⟶ 275 :
</blockquote>
==
# <code>math.abs(x)</code> retourne la valeur absolue de <code>x</code>.
# <code>math.acos(x)</code> retourne l'arc cosinus selon <code>x</code> (donné en radians).
# <code>math.asin(x)</code> retourne l'arc sinus selon <code>x</code> (donné en radians).
# <code>math.atan(x)</code> retourne l'arc tangente selon <code>x</code> (donné en radians).
# <code>math.atan2(y, x)</code> retourne l'arc tangente selon <code>y/x</code> (donné en radians), using the signs of both parameters to find the quadrant of the result...
# <code>math.ceil(x)</code> retourne le plus petit nombre entier qui soit supérieur ou égal à <code>x</code>.
# <code>math.cos(x)</code> retourne le cosinus de <code>x</code> (donné en radians).
# <code>math.cosh(x)</code> retourne le cosinus hyperbolique de <code>x</code>.
# <code>math.deg(x)</code> retourne la valeur en degrés de l'angle <code>x</code> (donné en radians).
# <code>math.exp(x)</code> retourne la valeur e (la base des logarithmes normaux) augmenté à une puissance donnée <code>e^x</code>.
# <code>math.floor(x)</code> retourne le plus grand nombre entier qui soit inférieur ou égal à o <code>x</code>.
# <code>math.fmod(x, y)</code> retourne le reste de la division de <code>x</code> par <code>y</code> ...that rounds the quotient towards zero...
# <code>math.frexp(x)</code> retourne deux valeurs m et e tel que <code>x</code> = m times 2^e, e est un entier, et la valeur absolue de m est entre [0.5, 1)... (La fonction est employée pour couper la valeur de nombre en fraction normale et exposant. Deux valeurs sont retournées : le premier est une valeur toujours dans la gamme 1/2 (incluse) à 1 (exclusivité) et la seconde est un exposant.)
# <code>math.huge</code> retourne la valeur représentant l'infini positif ; supérieur ou égal à toute valeur numérique.
# <code>math.ldexp(m, e)</code> retourne <code>m</code> times <code>2^e</code> (<code>e</code> devrait être un entier)...(La fonction prend un nombre normalisé et renvoie la représentation de virgule flottante. C'est la valeur multipliée par 2 à la puissance de l'exposant.)
# <code>math.log(x)</code> retourne le logarithme naturel de <code>x</code>.
# <code>math.log10(x)</code> retourne le logarithme décimal (base 10) de <code>x</code>.
# <code>math.max(x, y)</code> retourne la valeur maximum parmi ces arguments.
# <code>math.min(x, y)</code> retourne la valeur minimum parmi ces arguments.
# <code>math.modf(x)</code> retourne deux valeurs, la partie entière de <code>x</code> et la partie décimale (the fractional part) de <code>x</code>.
# <code>math.pi</code> retourne la valeur de pi.
# <code>math.pow(x, y)</code> retourne x exposant y équivaut à l’opérateur binaire <code>x^y</code>.
# <code>math.rad(x)</code> retourne la valeur en radians de l'angle <code>x</code> (donné en degrés).
# <code>math.random(m, n)</code> retourne un nombre entier pseudo-aléatoire compris entre <code>[m,n]</code>.
#:Note that unless randomseed is called first, the random number sequence will be the same every time, meaning not random...
# <code>math.randomseed(os.time())</code> seeds the random number generator with the current server operating system elapsed time in seconds... La fonction utilise une base pour le générateur pseudo-aléatoire, on utilise communément <code>os.time()</code> pour générer une base aléatoire.
# <code>math.sin(x)</code> retourne le sinus de <code>x</code> (donné en radians).
# <code>math.sinh(x)</code> retourne le sinus hyperbolique de <code>x</code>.
# <code>math.sqrt(x)</code> retourne la racine carrée de <code>x</code>.
# <code>math.tan(x)</code> retourne la tangente de <code>x</code> (donné en radians).
# <code>math.tanh(x)</code> retourne la tangente hyperbolique de <code>x</code>.
==
Félicitation! Vous êtes capable de créer, tester et comprendre un script Lua qui utilise la librairie de fonctions mathématiques. Retournez à la page principale de la leçon [[Informatique/Programmation/Lua|Lua]], pour étudier une autre bibliothèque de fonctions.
==
* [[../Objet Frame | Objet Frame]]
== Références ==
[[v:en:Lua| Lua for Wikiversity (en)]]
[[Catégorie : Informatique | Programmation | Lua]]
|