Aller au contenu

Module:Maths

Une page de Wikiversité, la communauté pédagogique libre.

Ce module sert d'exemple dans la leçon Initiation au Lua avec Scribunto. son utilisation est décrite en détail dans celle-ci et, par conséquent, ce module ne doit pas être modifié sans tenir compte de la leçon.


local p = {}

function p.separation(frame)
	local a,b = math.modf(frame.args[1])
	return "La partie entière est "..a.." et la partie fractionnaire est "..b
end

function p.diverse(frame)
	local x = tonumber(frame.args[1])
	local reponse = " "
	reponse = reponse.."<br />La valeur absolu est "..math.abs(x)
	reponse = reponse.."<br />L'exponentielle est "..math.exp(x)
	reponse = reponse.."<br />Le cosinus est "..math.cos(x)
	reponse = reponse.."<br />Le sinus est "..math.sin(x)
	reponse = reponse.."<br />Le cosinus hyperbolique est "..math.cosh(x)
	reponse = reponse.."<br />Le sinus hyperbolique est "..math.sinh(x)
	reponse = reponse.."<br />La tangente hyperbolique est "..math.tanh(x)
	reponse = reponse.."<br />L'arc tangente est "..math.atan(x)
	reponse = reponse.."<br />La conversion en degrés est "..math.deg(x)
	reponse = reponse.."<br />La conversion en radian est "..math.rad(x)
	reponse = reponse.."<br />L'entier immédiatement supérieur est "..math.ceil(x)
	reponse = reponse.."<br />L'entier immédiatement inférieur est "..math.floor(x)
	return reponse
end

function p.diverse2(frame)
	local x = tonumber(frame.args[1])
	local reponse = " "
	reponse = reponse.."<br />Le logarithme népérien est "..math.log(x)
	reponse = reponse.."<br />Le logarithme décimal est "..math.log10(x)
	reponse = reponse.."<br />La tangente est "..math.tan(x)
	reponse = reponse.."<br />L'arc cosinus est "..math.acos(x)
	reponse = reponse.."<br />L'arc sinus est "..math.asin(x)
	reponse = reponse.."<br />La racine carré est "..math.sqrt(x)
	return reponse
end

function p.tanpi()
	return math.tan(math.pi/2)
end

function p.alea(frame)
	math.randomseed(frame.args[1])
	local m,n = frame.args[2],frame.args[3]
	local reponse = ""
	for x = 1, 20 do
		if m ~= nil and n ~= nil then
			reponse = reponse..math.random(m,n).." "
		elseif m ~= nil then
			reponse = reponse..math.random(m).." "
		else
			reponse = reponse..math.random().." "
		end
	end
		return reponse
end

function p.choisit(frame)
	local repere, temps
	temps = os.clock()
	repere = (math.sqrt(7) - 2)^3
	temps = os.clock() - temps
	temps = temps*100000000
	math.randomseed(temps)
	repere = math.random(10)
	if repere == 1 then return "[[Fichier:(Rakhi flower) Passiflora 'Soi Fah' at VUDA park in Visakhapatnam.jpg|400px]]"
	elseif repere == 2 then return "[[Fichier:0 Grille du Théatre royal de Mons.JPG|400px]]"
	elseif repere == 3 then return "[[Fichier:11-07-31-helsinki-by-RalfR-082.jpg|400px]]"
	elseif repere == 4 then return "[[Fichier:12-09-11-moorbad-freienwalde-51.jpg|400px]]"
	elseif repere == 5 then return "[[Fichier:12-11-01-anif-by-RalfR-27.jpg|400px]]"
	elseif repere == 6 then return "[[Fichier:13-03-30 Paaspop Liptease 06.jpg|400px]]"
	elseif repere == 7 then return "[[Fichier:131221 Sandanbeki Shirahama Wakayama pref Japan01bs5.jpg|400px]]"
	elseif repere == 8 then return "[[Fichier:14-45-34-f-bois-d-oye.jpg|400px]]"
	elseif repere == 9 then return "[[Fichier:15-31-55-lestes.jpg|400px]]"
	elseif repere == 10 then return "[[Fichier:20070430-Garten-hornisse2.jpg|400px]]"
	end
end

return p