分数减法的条形模型练习

分数减法的条形模型练习
几何画板及绘图内容加载中,请稍等……
2019-11-22 23:37
本范例通过虚拟条形模型演示分数减法,帮助学生理解减法过程。涉及的核心数学概念包括分数和减法。使用了Polygon、Textfield、Segment、Sequence、FractionText等GeoGebra命令。适合小学高年级或初中学生进行减法练习。

GeoGebra 命令及参数

  1. If(prob ≟ 1, ckStep3CkModelA, If[prob ≟ 2, ckStep3CkModelB, If[prob ≟ 3, ckStep3CkModelC, ckStep3CkModelD]]) → ckStep3CkModelMaster
  2. If(prob ≟ 1, ckStep1a, If[prob ≟ 2, ckStep1b, If[prob ≟ 3, ckStep1c, ckStep1d]]) → ckStep1Master
  3. If(prob ≟ 1, ckStep3a, If[prob ≟ 2, ckStep3b, If[prob ≟ 3, ckStep3c, ckStep3d]]) → ckStep3Master
  4. If(prob ≟ 1, step3num2A, If[prob ≟ 2, step3num2B, If[prob ≟ 3, step3num2C, step3num2D]]) → step3num2Master
  5. If(prob ≟ 1, step1numLa, If[prob ≟ 2, step1numLb, If[prob ≟ 3, step1numLc, step1numLd]]) → step1numLMaster
  6. If(prob ≟ 1, step1pieceLa, If[prob ≟ 2, step1pieceLb, If[prob ≟ 3, step1pieceLc, step1pieceLd]]) → step1pieceLMasterSelect
  7. If(step1pieceLMasterSelect ≟ 1, 0, If[step1pieceLMasterSelect ≟ 2, 2, If[step1pieceLMasterSelect ≟ 3, 3, If[step1pieceLMasterSelect ≟ 4, 4, If[step1pieceLMasterSelect ≟ 5, 5, If[step1pieceLMasterSelect ≟ 6, 6, If[step1pieceLMasterSelect ≟ 7, 8, If[step1pieceLMasterSelect ≟ 8, 10, If[step1pieceLMasterSelect ≟ 9, 12]]]]]]]]) → step1pieceLMaster
  8. If(prob ≟ 1, step1numRa, If[prob ≟ 2, step1numRb, If[prob ≟ 3, step1numRc, step1numRd]]) → step1numRMaster
  9. If(prob ≟ 1, step1pieceRa, If[prob ≟ 2, step1pieceRb, If[prob ≟ 3, step1pieceRc, step1pieceRd]]) → step1pieceRMasterSelect
  10. If(step1pieceRMasterSelect ≟ 1, 0, If[step1pieceRMasterSelect ≟ 2, 2, If[step1pieceRMasterSelect ≟ 3, 3, If[step1pieceRMasterSelect ≟ 4, 4, If[step1pieceRMasterSelect ≟ 5, 5, If[step1pieceRMasterSelect ≟ 6, 6, If[step1pieceRMasterSelect ≟ 7, 8, If[step1pieceRMasterSelect ≟ 8, 10, If[step1pieceRMasterSelect ≟ 9, 12]]]]]]]]) → step1pieceRMaster
  11. If(prob ≟ 1, step3pieceA, If[prob ≟ 2, step3pieceB, If[prob ≟ 3, step3pieceC, step3pieceD]]) → step3pieceMasterSelect
  12. If(step3pieceMasterSelect ≟ 1, 0, If[step3pieceMasterSelect ≟ 2, 2, If[step3pieceMasterSelect ≟ 3, 3, If[step3pieceMasterSelect ≟ 4, 4, If[step3pieceMasterSelect ≟ 5, 5, If[step3pieceMasterSelect ≟ 6, 6, If[step3pieceMasterSelect ≟ 7, 8, If[step3pieceMasterSelect ≟ 8, 10, If[step3pieceMasterSelect ≟ 9, 12]]]]]]]]) → step3pieceMaster
  13. If(prob ≟ 1, step3num1A, If[prob ≟ 2, step3num1B, If[prob ≟ 3, step3num1C, step3num1D]]) → step3num1Master
  14. If(step1ProbDif ≟ step3dif, true, false) → step3Check
  15. If(pieces, Frame3PtMove, If[ckStep1Master ∧ step1Check ∧ ckStep3CkModelMaster ∧ step3Check, (0.6, 1.1), (0, 1.1)]) → Frame3Pt
  16. If(pieces, Frame2PtMove, (1.2, 3)) → Frame2Pt
  17. If(pieces, Frame1PtMove, (0, 3)) → Frame1Pt
  18. Polygon(Frame2Pt, Frame2Pt + (1, 0), Frame2Pt + (1, 1), Frame2Pt + (0, 1)) → frame2, frame2Bottom, frame2R, frame2Top, frame2L
  19. Polygon(Frame1Pt, Frame1Pt + (1, 0), Frame1Pt + (1, 1), Frame1Pt + (0, 1)) → frame1, frame1Bottom, frame1R, frame1Top, frame1L
  20. Polygon(Frame3Pt, Frame3Pt + (1, 0), Frame3Pt + (1, 1), Frame3Pt + (0, 1)) → frame5, frame5Bottom, frame5R, frame5Top, frame5L
  21. If(prob ≟ 1, ckStep3AlignA, If[prob ≟ 2, ckStep3AlignB, If[prob ≟ 3, ckStep3AlignC, ckStep3AlignD]]) → ckStep3AlignMaster
  22. If(prob ≟ 1, ckStep4a, If[prob ≟ 2, ckStep4b, If[prob ≟ 3, ckStep4c, ckStep4d]]) → ckStep4Master
  23. If(prob ≟ 1, step4numA, If[prob ≟ 2, step4numB, If[prob ≟ 3, step4numC, step4numD]]) → step4numMaster
  24. If(prob ≟ 1, step4denomA, If[prob ≟ 2, step4denomB, If[prob ≟ 3, step4denomC, step4denomD]]) → step4denomMaster
  25. If(prob ≟ 1, ckStep4CheckFracA, If[prob ≟ 2, ckStep4CheckFracB, If[prob ≟ 3, ckStep4CheckFracC, ckStep4CheckFracD]]) → ckStep4CheckFracMaster
  26. If(prob ≟ 1, ckStep4HintA, If[prob ≟ 2, ckStep4HintB, If[prob ≟ 3, ckStep4HintC, ckStep4HintD]]) → ckStep4HintMaster
  27. Polygon(Step4StarPt + (-0.062, 0.352), Step4StarPt + (0, 1.25), Step4StarPt + (-0.12, 0), Step4StarPt + (-0.245, 0.5), Step4StarPt + (0.047, 0.313), Step4StarPt + (0.19, 0.02), Step4StarPt + (0.06, -0.25), Step4StarPt + (0.115, -0.75), Step4StarPt + (0, -0.5), Step4StarPt + (-0.084, -1.076), Step4StarPt + (-0.084, -0.333), Step4StarPt + (-0.205, -0.5)) → step4Starburst, Astar6, Astar3, Astar4, Astar5, Astar7, Astar8, Astar9, Astar10, Astar11, Astar12, Astar1, Astar2
  28. If(ckStep1Master ≟ false, 0) → step1reset
  29. Textfield(step4numA) → numAInput
  30. Textfield(step4denomA) → denomAInput
  31. Segment((1.02, -1.4), (1.22, -1.4)) → step4fracBar
  32. If(Defined[step4numMaster] ≟ false ∨ Defined[step4denomMaster] ≟ false ∨ Defined[step4numMaster] ∧ round(step4numMaster) ≟ step4numMaster ∧ round(step4denomMaster) ≟ step4denomMaster, true, false) → step4numVerifyWhole
  33. Textfield(step4denomB) → denomBInput
  34. Textfield(step4numB) → numBInput
  35. Textfield(step4numC) → numCInput
  36. Textfield(step4denomC) → denomCInput
  37. Textfield(step4numD) → numDInput
  38. Textfield(step4denomD) → denomDInput
  39. Polygon(Frame1Pt, Frame1Pt + (step1ValL, 0), Frame1Pt + (step1ValL, 1), Frame1Pt + (0, 1)) → step1barL, step1barLBottom, step1barLR, step1barLTop, step1barLL
  40. Polygon(Frame2Pt, Frame2Pt + (step1ValR, 0), Frame2Pt + (step1ValR, 1), Frame2Pt + (0, 1)) → step1barR, step1barRBottom, step1barRR, step1barRTop, step1barRL
  41. Sequence(Segment[Frame1Pt + (k, 0), Frame1Pt + (k, 1)], k, 0, step1ValL, 1 / step1pieceLMaster) → step1barLdiv
  42. Sequence(Segment[Frame2Pt + (k, 0), Frame2Pt + (k, 1)], k, 0, step1ValR, 1 / step1pieceRMaster) → step1barRdiv
  43. Polygon(Frame3Pt, Frame3Pt + (step3val1, 0), Frame3Pt + (step3val1, 1), Frame3Pt + (0, 1)) → step3bar1, step3bar1Bottom, step3bar1R, step3bar1Top, step3bar1L
  44. If(Element[solutionNum, prob] ≟ step4numMaster ∧ Element[solutionDenom, prob] ≟ step4denomMaster, true, false) → step4Check
  45. If(timer ≤ 0.06, true, false) → fbtime
  46. If(pieces, Frame3PtMove, If[ckStep1Master ∧ step1Check ∧ ckStep3CkModelMaster ∧ step3Check, (0.6, 0), (1.2, 1.1)]) → Frame4Pt
  47. Polygon(Frame4Pt, Frame4Pt + (1, 0), Frame4Pt + (1, 1), Frame4Pt + (0, 1)) → frame6, frame6Bottom, frame6R, frame6Top, frame6L
  48. Polygon(Frame4Pt, Frame4Pt + (step3val2, 0), Frame4Pt + (step3val2, 1), Frame4Pt + (0, 1)) → step3bar2, step3bar2Bottom, step3bar2R, step3bar2Top, step3bar2L
  49. Sequence(Segment[Frame3Pt + (k, 0), Frame3Pt + (k, 1)], k, 0, step3val1, 1 / step3pieceMaster) → step3bar1Div
  50. Sequence(Segment[Frame4Pt + (k, 0), Frame4Pt + (k, 1)], k, 0, step3val2, 1 / step3pieceMaster) → step3bar2Div
  51. Segment(Frame3Pt + (step1ProbLVal, If[ckStep3CkModelMaster ∧ step3Check, 1.1, 3.1]), Frame3Pt + (step1ProbLVal, If[ckStep3CkModelMaster ∧ step3Check, -1.2, -0.1])) → Astep3AlignSegBlueBar1
  52. Segment(Frame3Pt + (step1ProbLVal, If[ckStep3CkModelMaster ∧ step3Check, 1.1, 3.1]), Frame3Pt + (step1ProbLVal, If[ckStep3CkModelMaster ∧ step3Check, -1.2, -0.1])) → Astep3AlignSegUnderBar1
  53. Segment(Frame4Pt + (step1ProbRVal, If[ckStep3CkModelMaster ∧ step3Check, 2.2, 3.1]), Frame4Pt + (step1ProbRVal, If[ckStep3CkModelMaster ∧ step3Check, -0.1, -0.1])) → Astep3AlignSegBlueBar2
  54. Segment(Frame4Pt + (step1ProbRVal, If[ckStep3CkModelMaster ∧ step3Check, 2.2, 3.1]), Frame4Pt + (step1ProbRVal, If[ckStep3CkModelMaster ∧ step3Check, -0.1, -0.1])) → Astep3AlignSegUnderBar2
  55. FractionText(1 / step1pieceLMaster) → step1barLLabelMaster
  56. FractionText(1 / step1pieceRMaster) → step1barRLabelMaster
  57. FractionText(1 / step3pieceMaster) → step3barLabelMaster
  58. Sequence(Text[step1barLLabelMaster, (0 + i, 3.9), true, true], i, 0 + (If[step1pieceLMaster ≤ 4, 0.4, step1pieceLMaster ≟ 5, 0.35, step1pieceLMaster ≟ 6, 0.3, step1pieceLMaster ≟ 8, 0.2, step1pieceLMaster ≟ 10, 0.01, -0.15] * 1 / step1pieceLMaster), step1numLMaster / step1pieceLMaster + If[step1pieceLMaster ≟ 12, -0.05, 0], 1 / step1pieceLMaster) → step1barLpieceLabels
  59. Sequence(Text[step1barRLabelMaster, (1.2 + i, 3.9), true, true], i, 0 + (If[step1pieceRMaster ≤ 4, 0.4, step1pieceRMaster ≟ 5, 0.35, step1pieceRMaster ≟ 6, 0.3, step1pieceRMaster ≟ 8, 0.2, step1pieceRMaster ≟ 10, 0.01, -0.15] * 1 / step1pieceRMaster), step1numRMaster / step1pieceRMaster + If[step1pieceRMaster ≟ 12, -0.05, 0], 1 / step1pieceRMaster) → step1barRpieceLabels
  60. Sequence(Text[step3barLabelMaster, Frame3Pt + (i, 0.9), true, true], i, 0 + (If[step3pieceMaster ≤ 4, 0.4, step3pieceMaster ≟ 5, 0.35, step3pieceMaster ≟ 6, 0.3, step3pieceMaster ≟ 8, 0.2, step3pieceMaster ≟ 10, 0.01, -0.15] * 1 / step3pieceMaster), step3num1Master / step3pieceMaster + If[step3pieceMaster ≟ 12, -0.05, 0], 1 / step3pieceMaster) → step3barLpieceLabels
  61. Sequence(Text[step3barLabelMaster, Frame4Pt + (i, 0.9), true, true], i, 0 + (If[step3pieceMaster ≤ 4, 0.4, step3pieceMaster ≟ 5, 0.35, step3pieceMaster ≟ 6, 0.3, step3pieceMaster ≟ 8, 0.2, step3pieceMaster ≟ 10, 0.01, -0.15] * 1 / step3pieceMaster), step3num2Master / step3pieceMaster + If[step3pieceMaster ≟ 12, -0.05, 0], 1 / step3pieceMaster) → step3barRpieceLabels

AI 绘图提示语参考

使用不同颜色的条形图表示分数,展示分数减法的过程。首先绘制两个条形图,分别代表被减数和减数,每个条形图由多个小段组成,每段代表一个分数单位。接着,在被减数条形图中划去与减数条形图对应的部分,剩余部分即为差值。通过动画演示,将减数条形图移动到被减数条形图上方,并高亮显示被减去的部分,直观展示分数减法的概念。
以上提示语为根据原始绘图命令整理而来,仅供参考。