二次数记忆测验:洗牌题库与平方数识别

二次数记忆测验:洗牌题库与平方数识别
几何画板及绘图内容加载中,请稍等……
2025-11-26 03:45
该范例展示一个“二次数记忆”互动测验:系统随机给出若干题目,用户判断其是否符合平方数规律,并通过反馈与提示帮助纠错。核心数学概念包括平方数、数列/题目序列生成、以及基于规则的正确性判断;同时以可视化元素(如矩形反馈区域、解答/提示文本)呈现学习过程。作图与构造要点主要来自 GeoGebra 命令与对象:使用“Shuffle”对题库进行洗牌;用“Sequence”与“Join”生成题目/选项集合并组织结构;通过“Text”与多个“Textfield/ txt*”对象显示题干、解答、提示(如 txtSolution、txtHint、txtHintTypical);利用“If”和“Flatten”结合“Sample”从集合中抽取随机题目(randomQuestions、randomQuestion);再用“Element/replaceWithElementToCheck”实现用户输入与目标元素

GeoGebra 命令及参数

  1. Shuffle(1…numberOfQuestions) → randomQuestions, {1}
  2. Textfield(input) → inputBox
  3. Element(randomQuestions, Mod[questionCount - 1, Length[randomQuestions]] + 1) → randomQuestion
  4. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStrecken
  5. Join({Sequence[Text[UnicodeToLetter[65 + k], Midpoint[Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY)), Corner[4] + (RasterPixMat * (((k + 1) * RasterStepXY), RasterMaxY))], false, true, 0, -1], k, 0, RasterMaxX / RasterStepXY - 1], Sequence[Text[("" * k), Midpoint[Corner[4] + (RasterPixMat * (RasterMaxX, ((k - 1) * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], false, true, 1, 0], k, 1, RasterMaxY / RasterStepXY]}) → RasterBeschriftung
  6. Sequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkte
  7. If(mixed, Shuffle[1…numberOfCards], Join[{Shuffle[1…numberOfElements], Shuffle[(numberOfElements + 1)…numberOfCards]}]) → Order
  8. Flatten(Sequence[Sequence[PosStart + (k * ((2 * widthCard) + disX, 0)) + (m * (0, (-2 * heightCard) - disY)), k, 0, numberOfCards / numberOfLines - 1], m, 0, numberOfLines - 1]) → PosList
  9. Sample(Numbers, 12) → SampleNumbers, {3, 6, 1, 7, 11, 8, 2, 4, 9, 12, 10, 5}
  10. Text(AllTxtList(Order(1)), PosList(1) + (0, 0.05), false, true, 0, 0) → txtCard1
  11. Text(AllTxtList(Order(2)), PosList(2) + (0, 0.05), false, true, 0, 0) → txtCard2
  12. Text(AllTxtList(Order(3)), PosList(3) + (0, 0.05), false, true, 0, 0) → txtCard3
  13. Text(AllTxtList(Order(4)), PosList(4) + (0, 0.05), false, true, 0, 0) → txtCard4
  14. Text(AllTxtList(Order(5)), PosList(5) + (0, 0.05), false, true, 0, 0) → txtCard5
  15. Text(AllTxtList(Order(6)), PosList(6) + (0, 0.05), false, true, 0, 0) → txtCard6
  16. Text(AllTxtList(Order(7)), PosList(7) + (0, 0.05), false, true, 0, 0) → txtCard7
  17. Text(AllTxtList(Order(8)), PosList(8) + (0, 0.05), false, true, 0, 0) → txtCard8
  18. Text(AllTxtList(Order(9)), PosList(9) + (0, 0.05), false, true, 0, 0) → txtCard9
  19. Text(AllTxtList(Order(10)), PosList(10) + (0, 0.05), false, true, 0, 0) → txtCard10
  20. Text(AllTxtList(Order(11)), PosList(11) + (0, 0.05), false, true, 0, 0) → txtCard11
  21. Text(AllTxtList(Order(12)), PosList(12) + (0, 0.05), false, true, 0, 0) → txtCard12
  22. Text(AllTxtList(Order(13)), PosList(13) + (0, 0.05), false, true, 0, 0) → txtCard13
  23. Text(AllTxtList(Order(14)), PosList(14) + (0, 0.05), false, true, 0, 0) → txtCard14
  24. Text(AllTxtList(Order(15)), PosList(15) + (0, 0.05), false, true, 0, 0) → txtCard15
  25. Text(AllTxtList(Order(16)), PosList(16) + (0, 0.05), false, true, 0, 0) → txtCard16
  26. Text(AllTxtList(Order(17)), PosList(17) + (0, 0.05), false, true, 0, 0) → txtCard17
  27. Text(AllTxtList(Order(18)), PosList(18) + (0, 0.05), false, true, 0, 0) → txtCard18
  28. Text(AllTxtList(Order(19)), PosList(19) + (0, 0.05), false, true, 0, 0) → txtCard19
  29. Text(AllTxtList(Order(20)), PosList(20) + (0, 0.05), false, true, 0, 0) → txtCard20
  30. Text(AllTxtList(Order(21)), PosList(21) + (0, 0.05), false, true, 0, 0) → txtCard21
  31. Text(AllTxtList(Order(22)), PosList(22) + (0, 0.05), false, true, 0, 0) → txtCard22
  32. Text(AllTxtList(Order(23)), PosList(23) + (0, 0.05), false, true, 0, 0) → txtCard23
  33. Text(AllTxtList(Order(24)), PosList(24) + (0, 0.05), false, true, 0, 0) → txtCard24
  34. If(mixed, color1, orange) → color2