分数比较评估
几何画板及绘图内容加载中,请稍等……
这个范例演示了如何通过随机生成的分数进行比较,涉及的核心数学概念是分数和算术。通过使用Numerator, Denominator, If, RandomElement等GeoGebra命令,用户可以动态地改变分数的分子和分母,观察分数的大小关系。适合小学高年级和初中学生进行分数比较的学习和练习。
GeoGebra 命令及参数
Numerator(first) → num1Denominator(first) → den1If(den1 ≟ 1, RandomElement[{1, Random[1, 12 / den1]}], Random[2, 12 / den1]) → EQmultRandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {num1, den1}]) → changenumtopRandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {den1, num1}]) → changedenbottomFractionText(num1 / den1) → FirstTextFractionText(den1 / num1) → reciprocalRandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {num1}]) → randtopRandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {den1}]) → ranbottomIf(first ≟ 1, RandomElement[{"changeden", "changenum", "equiv", "rand"}], If[den1 ≟ 1, RandomElement[{"changeden", "reciprocal", "equiv", "rand"}], RandomElement[{"changeden", "changenum", "equiv", "rand", "reciprocal"}]]) → changetypeIf(changetype ≟ "rand", rand, If[changetype ≟ "changeden", changeden, If[changetype ≟ "changenum", changenum, If[changetype ≟ "reciprocal", reciprocal, If[changetype ≟ "equiv", equiv, rand]]]]) → SecondTextRandomElement({FirstText, SecondText}) → LeftIf(Left ≟ FirstText, SecondText, FirstText) → RightIf(changetype ≟ "rand", randtop / ranbottom, If[changetype ≟ "changeden", num1 / changedenbottom, If[changetype ≟ "changenum", changenumtop / den1, If[changetype ≟ "reciprocal", den1 / num1, If[changetype ≟ "equiv", first, rand]]]]) → secondIf(FirstText ≟ Left, first, second) → leftvalueIf(FirstText ≟ Left, second, first) → rightvalueTableText({{"Type of Change", "Different Numerator", "Different Denominator", "Reciprocal", "Equivalent", "Random", "Total"}, {"Number Correct", CNR, CDR, RR, ER, randR, totalR}, {"Number Incorrect", CNW, CDW, RW, EW, randW, totalW}, {"Percent Correct", (CNR / (CNR + CNW) * 100) + "%", (CDR / (CDR + CDW) * 100) + "%", (RR / (RW + RR) * 100) + "%", (ER / (ER + EW) * 100) + "%", (randR / (randR + randW) * 100) + "%", (totalR / total * 100) + "%"}}, "|11000011_11011ch") → text4Element({5, 10, 20, 30, 45, Infinity}, questions) → numberofquestionsElement({1 / 3, 1 / 6, 1 / 12, 1 / 18, 1 / 24, 1 / 30}, time) → slidersettingElement({"30 seconds", "1 minute", "2 minutes", "3 minutes", "4 minutes", "5 minutes"}, time) → timetextIf(a, timer ≟ 100, total ≥ numberofquestions) → DONEAppend("Fraction A", Take[leftlist, 1, If[total ≥ 15, 15, total]]) → left1Append("Fraction A", Take[leftlist, 16, If[total ≥ 30, 30, total]]) → left2Append("Fraction A", Take[leftlist, 31, total]) → left3Append("Fraction A", Take[rightlist, 1, If[total ≥ 15, 15, total]]) → right1Append("Fraction A", Take[rightlist, 16, If[total ≥ 30, 30, total]]) → right2Append("Fraction A", Take[rightlist, 31, total]) → right3Append("Correct Answer", Take[trueanswerlist, 1, If[total ≥ 15, 15, total]]) → true1Append("Correct Answer", Take[trueanswerlist, 16, If[total ≥ 30, 30, total]]) → true2Append("Correct Answer", Take[trueanswerlist, 31, total]) → true3Append("Your Answer", Take[inputlist, 1, If[total ≥ 15, 15, total]]) → input1Append("Your Answer", Take[inputlist, 16, If[total ≥ 30, 30, total]]) → input2Append("Your Answer", Take[inputlist, 31, total]) → input3TableText({left1, right1, input1, true1}, "c_|||v") → table1TableText({left2, right2, input2, true2}, "c_||v") → table2TableText({left3, right3, input3, true3}, "c_|||v") → table3TableText({{Left, " ", Right}, "c"}) → text2TableText({Append["Fraction A", leftlist], Append["Fraction B", rightlist], Append["Your answer", inputlist], Append["Correct answer", trueanswerlist]}, "c_|||v") → text1