比较符号与整数运算:加减后判断大小或相等

比较符号与整数运算:加减后判断大小或相等
几何画板及绘图内容加载中,请稍等……
2026-02-18 23:14
该范例通过生成两组整数的加减组合,让学习者判断“更大、 更小或等于”对应的不等关系是否成立,并用可视化反馈正确性。核心数学概念包括:整数的加法与减法、差值(Difference)与正负号判定、以及不等式比较(>, <, ≥, ≤)在运算后的结论。作图与交互要点来自构造摘要:使用 Sequence 生成候选整数序列(NumberList 等对象),并用 If、Min、Max、Unique、IndexOf 对组合与边界进行选择与去重;借助多种符号集合(SignList11、SignList13、SignList2、SameSign 等)将差值符号映射到比较情形;通过 Cases 结构(CasesSign1、CaseMat21 以及 CaseS12、CaseS14、SignCase12/14)组织不同符号/情形下的答案与提示;结合 Textfield、Translate、Join 将题目元素与界

GeoGebra 命令及参数

  1. Sequence(RandomElement[NumberList], k, 1, 100) → NumberList1, {7, 6, 8, 9, 3, 6, 9, 6, 9, 7, 5, 4, 7, 7, 2, 2, 2, 9, 4, 4, 8, 1, 9, 4, 5, 9, 2, 3, 6, 3, 6, 5, 7, 7, 6, 2, 3, 1, 2, 8, 3, 3, 6, 1, 5, 5, 9, 4, 9, 7, 7, 2, 2, 8, 2, 8, 4, 3, 3, 7, 1, 7, 7, 5, 3, 6, 9, 2, 5, 9, 9, 1, 3, 6, 2, 8, 1, 7, 5, 4, 4, 1, 5, 8, 8, 7, 8, 9, 4, 2, 3, 7, 2, 7, 7, 2, 6, 5, 4, 2}
  2. Sequence(RandomElement[Remove[NumberList, {NumberList1(k)}]], k, 1, 100) → NumberList2, {6, 1, 9, 2, 6, 4, 3, 3, 4, 9, 1, 9, 1, 2, 6, 3, 9, 7, 6, 3, 9, 8, 7, 7, 6, 2, 5, 5, 2, 7, 8, 7, 8, 5, 2, 6, 6, 2, 4, 7, 7, 8, 7, 6, 4, 1, 6, 2, 2, 5, 6, 9, 7, 6, 3, 7, 6, 8, 5, 2, 2, 3, 4, 2, 7, 9, 3, 8, 3, 2, 3, 7, 8, 7, 6, 5, 7, 5, 4, 7, 8, 8, 3, 3, 3, 8, 3, 8, 7, 4, 9, 3, 7, 3, 1, 3, 4, 2, 9, 3}
  3. Sequence(RandomElement[{-1, 1}], k, 1, 100) → SignList11, {1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1}
  4. Join(Sequence[Shuffle[{1, 1, -1}], k, 1, 34]) → SameSign
  5. Sequence((SignList11(k) * SameSign(k)), k, 1, 100) → SignList13, {1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1}
  6. Sequence(RandomElement[CasesSign1], k, 1, 100) → SignCase12, {1, 1, 4, 1, 2, 3, 1, 2, 3, 4, 3, 3, 1, 1, 1, 4, 3, 2, 1, 2, 4, 1, 3, 3, 4, 2, 4, 4, 4, 1, 1, 4, 3, 4, 2, 2, 1, 1, 4, 4, 4, 2, 2, 2, 3, 3, 2, 4, 1, 4, 1, 2, 3, 3, 3, 4, 2, 4, 1, 3, 2, 4, 2, 1, 4, 2, 4, 4, 3, 4, 3, 2, 4, 1, 2, 1, 1, 2, 1, 3, 2, 1, 4, 1, 2, 1, 4, 3, 3, 4, 2, 2, 1, 4, 3, 4, 3, 4, 1, 3}
  7. Sequence(RandomElement[Remove[CasesSign1, {SignCase12(k)}]], k, 1, 100) → SignCase14, {2, 3, 3, 3, 1, 2, 3, 4, 1, 1, 2, 1, 2, 2, 4, 3, 2, 4, 3, 3, 2, 4, 4, 1, 3, 4, 3, 3, 3, 4, 3, 1, 2, 2, 3, 1, 2, 2, 3, 3, 2, 3, 3, 3, 1, 4, 4, 2, 3, 2, 2, 4, 1, 2, 1, 1, 3, 1, 2, 4, 1, 3, 3, 2, 3, 1, 1, 2, 4, 2, 2, 4, 3, 2, 1, 3, 4, 1, 3, 1, 4, 4, 2, 4, 3, 3, 3, 4, 4, 3, 1, 1, 3, 3, 2, 3, 2, 1, 2, 2}
  8. Join(Sequence[Shuffle[{1, 1, 2, 2, 3, 3}], k, 1, 17]) → SignList2
  9. Unique(Join[CaseMat21]) → AllCombinations2
  10. If(level ≟ 2 ∧ SignList2(counter) ≟ 2 ∧ Length[AllCombinations2] ≟ 4, 1, SignList2(counter)) → sign2
  11. If(left1 < right1, SelectedIndex[dropdown11] ≟ 2, left1 ≟ right1, SelectedIndex[dropdown11] ≟ 3, SelectedIndex[dropdown11] ≟ 4) → correct1
  12. If(sign2 ≟ 1, left2 < right2, sign2 ≟ 2, left2 ≟ right2, left2 > right2) → correct2
  13. Sequence(Sample[{1, 2, 3, 4}, 2], k, 1, 100) → PosList3, {{4, 2}, {4, 3}, {1, 2}, {1, 2}, {2, 1}, {3, 4}, {3, 4}, {3, 4}, {3, 2}, {1, 4}, {1, 4}, {1, 2}, {1, 3}, {3, 1}, {2, 3}, {3, 1}, {1, 2}, {2, 4}, {2, 3}, {2, 4}, {2, 3}, {1, 4}, {4, 1}, {3, 1}, {4, 3}, {2, 1}, {2, 3}, {4, 1}, {1, 3}, {1, 3}, {4, 3}, {4, 1}, {1, 2}, {3, 1}, {1, 3}, {1, 3}, {2, 3}, {2, 4}, {2, 1}, {1, 2}, {1, 3}, {4, 1}, {2, 4}, {3, 2}, {4, 1}, {1, 2}, {3, 1}, {3, 4}, {3, 1}, {2, 3}, {2, 3}, {4, 1}, {4, 1}, {2, 4}, {2, 4}, {2, 4}, {2, 4}, {4, 1}, {3, 4}, {2, 4}, {3, 2}, {2, 1}, {1, 2}, {1, 2}, {3, 2}, {2, 3}, {2, 1}, {3, 4}, {1, 4}, {4, 2}, {4, 3}, {2, 4}, {1, 4}, {2, 4}, {3, 4}, {3, 2}, {3, 1}, {2, 4}, {2, 3}, {3, 2}, {3, 2}, {4, 2}, {2, 1}, {4, 2}, {2, 1}, {4, 3}, {3, 4}, {1, 4}, {1, 2}, {4, 2}, {1, 2}, {3, 1}, {1, 2}, {1, 2}, {2, 1}, {1, 2}, {1, 2}, {4, 2}, {2, 1}, {2, 3}}
  14. Min(PosList3(counter)) → pos31
  15. Max(PosList3(counter)) → pos32
  16. If(sign2 ≟ 1, left3 < right3, sign2 ≟ 2, left3 ≟ right3, left3 > right3) → correct3
  17. If(level ≟ 1, correct1, level ≟ 2, correct2, correct3) → correct
  18. Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {9, 4, 7, 5, 6, 3, 6, 7, 8, 2}
  19. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  20. Textfield(input) → inputBox
  21. 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
  22. 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
  23. Sequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkte
  24. Translate(imgChilliGrau1, Vector[(1 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliGrau2
  25. Translate(imgChilliRot1, Vector[(1 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliRot2
  26. Translate(imgChilliRot1, Vector[(2 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliRot3
  27. Textfield(input31) → InputBox31
  28. Textfield(input32) → InputBox32
  29. If(level ≟ 1, SelectedIndex[dropdown11] > 1, level ≟ 2, SelectedIndex[dropdown21] > 1 ∧ SelectedIndex[dropdown22] > 1, Defined[input31] ∧ Defined[input32]) → clickableBtnValidate
  30. Element({"+", "\(-\)"}, If[sign2 ≤ 2, IndexOf[Min[CaseMat21(1)], CaseMat21(1)], IndexOf[Max[CaseMat21(1)], CaseMat21(1)]]) → signSol21
  31. Element({1, -1}, If[sign2 ≤ 2, IndexOf[Min[CaseMat21(1)], CaseMat21(1)], IndexOf[Max[CaseMat21(1)], CaseMat21(1)]]) → fac21
  32. Element({1, -1}, If[sign2 ≥ 2, IndexOf[Min[CaseMat21(2)], CaseMat21(2)], IndexOf[Max[CaseMat21(2)], CaseMat21(2)]]) → fac22
  33. IndexOf({pos31, pos32}, {{1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}}) → Case3
  34. If(CaseRight31 < 0, 2, 8) → exN311
  35. If(CaseRight32 < 0, 2, 8) → exN321
  36. If(CaseRight33 > 0, 8, 2) → exN331
  37. If((CaseRight34 * If[CaseS12 ∈ {1, 2}, 1, -1]) < 0, 2, 8) → exN341
  38. If((CaseRight35 * If[CaseS12 ∈ {1, 2}, 1, -1]) < 0, 2, 8) → exN351
  39. If(CaseLeft36 < 0, 2, 8) → exN361