分数比较评估

分数比较评估
几何画板及绘图内容加载中,请稍等……
2015-12-16 03:04
这个范例演示了如何通过随机生成的分数进行比较,涉及的核心数学概念是分数和算术。通过使用Numerator, Denominator, If, RandomElement等GeoGebra命令,用户可以动态地改变分数的分子和分母,观察分数的大小关系。适合小学高年级和初中学生进行分数比较的学习和练习。

GeoGebra 命令及参数

  1. Numerator(first) → num1
  2. Denominator(first) → den1
  3. If(den1 ≟ 1, RandomElement[{1, Random[1, 12 / den1]}], Random[2, 12 / den1]) → EQmult
  4. RandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {num1, den1}]) → changenumtop
  5. RandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {den1, num1}]) → changedenbottom
  6. FractionText(num1 / den1) → FirstText
  7. FractionText(den1 / num1) → reciprocal
  8. RandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {num1}]) → randtop
  9. RandomElement(Remove[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, {den1}]) → ranbottom
  10. If(first ≟ 1, RandomElement[{"changeden", "changenum", "equiv", "rand"}], If[den1 ≟ 1, RandomElement[{"changeden", "reciprocal", "equiv", "rand"}], RandomElement[{"changeden", "changenum", "equiv", "rand", "reciprocal"}]]) → changetype
  11. If(changetype ≟ "rand", rand, If[changetype ≟ "changeden", changeden, If[changetype ≟ "changenum", changenum, If[changetype ≟ "reciprocal", reciprocal, If[changetype ≟ "equiv", equiv, rand]]]]) → SecondText
  12. RandomElement({FirstText, SecondText}) → Left
  13. If(Left ≟ FirstText, SecondText, FirstText) → Right
  14. If(changetype ≟ "rand", randtop / ranbottom, If[changetype ≟ "changeden", num1 / changedenbottom, If[changetype ≟ "changenum", changenumtop / den1, If[changetype ≟ "reciprocal", den1 / num1, If[changetype ≟ "equiv", first, rand]]]]) → second
  15. If(FirstText ≟ Left, first, second) → leftvalue
  16. If(FirstText ≟ Left, second, first) → rightvalue
  17. TableText({{"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") → text4
  18. Element({5, 10, 20, 30, 45, Infinity}, questions) → numberofquestions
  19. Element({1 / 3, 1 / 6, 1 / 12, 1 / 18, 1 / 24, 1 / 30}, time) → slidersetting
  20. Element({"30 seconds", "1 minute", "2 minutes", "3 minutes", "4 minutes", "5 minutes"}, time) → timetext
  21. If(a, timer ≟ 100, total ≥ numberofquestions) → DONE
  22. Append("Fraction A", Take[leftlist, 1, If[total ≥ 15, 15, total]]) → left1
  23. Append("Fraction A", Take[leftlist, 16, If[total ≥ 30, 30, total]]) → left2
  24. Append("Fraction A", Take[leftlist, 31, total]) → left3
  25. Append("Fraction A", Take[rightlist, 1, If[total ≥ 15, 15, total]]) → right1
  26. Append("Fraction A", Take[rightlist, 16, If[total ≥ 30, 30, total]]) → right2
  27. Append("Fraction A", Take[rightlist, 31, total]) → right3
  28. Append("Correct Answer", Take[trueanswerlist, 1, If[total ≥ 15, 15, total]]) → true1
  29. Append("Correct Answer", Take[trueanswerlist, 16, If[total ≥ 30, 30, total]]) → true2
  30. Append("Correct Answer", Take[trueanswerlist, 31, total]) → true3
  31. Append("Your Answer", Take[inputlist, 1, If[total ≥ 15, 15, total]]) → input1
  32. Append("Your Answer", Take[inputlist, 16, If[total ≥ 30, 30, total]]) → input2
  33. Append("Your Answer", Take[inputlist, 31, total]) → input3
  34. TableText({left1, right1, input1, true1}, "c_|||v") → table1
  35. TableText({left2, right2, input2, true2}, "c_||v") → table2
  36. TableText({left3, right3, input3, true3}, "c_|||v") → table3
  37. TableText({{Left, " ", Right}, "c"}) → text2
  38. TableText({Append["Fraction A", leftlist], Append["Fraction B", rightlist], Append["Your answer", inputlist], Append["Correct answer", trueanswerlist]}, "c_|||v") → text1