Modul:Benutzer/Neuneinhalbtel/play

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Informationen zu dieser Dokumentation
Modul Benutzer

Modulbeschreibung

Zufallsmathebeispielgenerator für Benutzer:Neuneinhalbtel/ Vorlage:Zufallsmathebeispiele

{{#invoke:Benutzer/Neuneinhalbtel/play|BruchPlusACBCXC|1=988}}

Funktionen

BruchPlusACBCXC

Addition von 3 Brüchen. Nenner haben einen gemeinsamen Faktor (2,3,5 oder 7), mindestens 2 Nenner haben nur den. Alle Nenner sind größer als der gemeinsame Faktor.
w:en:Module:Math mw:Extension:Math w:en:Guide_to_Scribbling mw:Extension:Scribunto/Lua_reference_manual


Information


--- Zufallsmathebeispielgenerator
-- für [[Benutzer:Neuneinhalbtel/ Vorlage:Zufallsmathebeispiele]] 
--  <nowiki>{{#invoke:Benutzer/Neuneinhalbtel/play|BruchPlusACBCXC|1=988}}</nowiki>
--  {{#invoke:Benutzer/Neuneinhalbtel/play|BruchPlusACBCXC|1=988}}

local p = {}

--- Addition von 3 Brüchen. Nenner haben einen gemeinsamen Faktor (2,3,5 oder 7), mindestens 2 Nenner haben nur den. 
-- Alle Nenner sind größer als der gemeinsame Faktor.  <br/>
-- [[w:en:Module:Math]]  [[mw:Extension:Math]] [[w:en:Guide_to_Scribbling]] [[mw:Extension:Scribunto/Lua_reference_manual]]
function p.BruchPlusACBCXC(frame)
	local seed = 0+frame.args[1] or os.time()
	math.randomseed(seed)
	local mathUtils= require("Modul:Benutzer/Neuneinhalbtel/MathUtils")
	local r=""

	--denominators (Nenner):
	local denfacs={}
	local denset = {2,3,5,7}
	local denuniqs = mathUtils.randPicksInSet(denset,2)
	local denrand1, denrand2 = denset[math.random(1,#denset)], denset[math.random(1,#denset)]
	denfacs[1]= {denrand1, denuniqs[1]}
	denfacs[2]= {denrand1, denrand2}
	denfacs[3]= {denrand1, denuniqs[2]}
	--rd=mw.dumpObject(denind) 
	
    --nominators:
    local nom={}
    nom[1]=mathUtils.nextCoprime(math.random(1, 9), denfacs[1])
    nom[2]=mathUtils.nextCoprime(math.random(1, 14), denfacs[2])
    nom[3]=1

	--r= nom[1].."/".. .. "+"..nom[2].."/".. denfacs[2][1]*denfacs[2][2] .. "+"..nom[3].."/".. denfacs[3][1]*denfacs[3][2] .. "= " 
    r= frame:preprocess(
    	"<math>\\frac{"..nom[1].."}{"..denfacs[1][1]*denfacs[1][2].."}"
		..   "+\\frac{"..nom[2].."}{"..denfacs[2][1]*denfacs[2][2].."}"
		..   "+\\frac{"..nom[3].."}{"..denfacs[3][1]*denfacs[3][2].."}=</math>") 
	----how to call Extension:Math with #invoke?  frame:callParserFunction{ name = '<math>??x', args = { '1+1' } }
	return r or "x"
end

return p