比较符号与整数运算:加减后判断大小或相等
几何画板及绘图内容加载中,请稍等……
该范例通过生成两组整数的加减组合,让学习者判断“更大、 更小或等于”对应的不等关系是否成立,并用可视化反馈正确性。核心数学概念包括:整数的加法与减法、差值(Difference)与正负号判定、以及不等式比较(>, <, ≥, ≤)在运算后的结论。作图与交互要点来自构造摘要:使用 Sequence 生成候选整数序列(NumberList 等对象),并用 If、Min、Max、Unique、IndexOf 对组合与边界进行选择与去重;借助多种符号集合(SignList11、SignList13、SignList2、SameSign 等)将差值符号映射到比较情形;通过 Cases 结构(CasesSign1、CaseMat21 以及 CaseS12、CaseS14、SignCase12/14)组织不同符号/情形下的答案与提示;结合 Textfield、Translate、Join 将题目元素与界
GeoGebra 命令及参数
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}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}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}Join(Sequence[Shuffle[{1, 1, -1}], k, 1, 34]) → SameSignSequence((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}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}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}Join(Sequence[Shuffle[{1, 1, 2, 2, 3, 3}], k, 1, 17]) → SignList2Unique(Join[CaseMat21]) → AllCombinations2If(level ≟ 2 ∧ SignList2(counter) ≟ 2 ∧ Length[AllCombinations2] ≟ 4, 1, SignList2(counter)) → sign2If(left1 < right1, SelectedIndex[dropdown11] ≟ 2, left1 ≟ right1, SelectedIndex[dropdown11] ≟ 3, SelectedIndex[dropdown11] ≟ 4) → correct1If(sign2 ≟ 1, left2 < right2, sign2 ≟ 2, left2 ≟ right2, left2 > right2) → correct2Sequence(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}}Min(PosList3(counter)) → pos31Max(PosList3(counter)) → pos32If(sign2 ≟ 1, left3 < right3, sign2 ≟ 2, left3 ≟ right3, left3 > right3) → correct3If(level ≟ 1, correct1, level ≟ 2, correct2, correct3) → correctSequence(Random[1, 10], i, 1, 10) → randomNumbers, {9, 4, 7, 5, 6, 3, 6, 7, 8, 2}Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumberTextfield(input) → inputBoxJoin({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]}) → RasterStreckenJoin({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]}) → RasterBeschriftungSequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkteTranslate(imgChilliGrau1, Vector[(1 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliGrau2Translate(imgChilliRot1, Vector[(1 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliRot2Translate(imgChilliRot1, Vector[(2 * Vector[((0.8 * dimChilli), 0)])]) → imgChilliRot3Textfield(input31) → InputBox31Textfield(input32) → InputBox32If(level ≟ 1, SelectedIndex[dropdown11] > 1, level ≟ 2, SelectedIndex[dropdown21] > 1 ∧ SelectedIndex[dropdown22] > 1, Defined[input31] ∧ Defined[input32]) → clickableBtnValidateElement({"+", "\(-\)"}, If[sign2 ≤ 2, IndexOf[Min[CaseMat21(1)], CaseMat21(1)], IndexOf[Max[CaseMat21(1)], CaseMat21(1)]]) → signSol21Element({1, -1}, If[sign2 ≤ 2, IndexOf[Min[CaseMat21(1)], CaseMat21(1)], IndexOf[Max[CaseMat21(1)], CaseMat21(1)]]) → fac21Element({1, -1}, If[sign2 ≥ 2, IndexOf[Min[CaseMat21(2)], CaseMat21(2)], IndexOf[Max[CaseMat21(2)], CaseMat21(2)]]) → fac22IndexOf({pos31, pos32}, {{1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}}) → Case3If(CaseRight31 < 0, 2, 8) → exN311If(CaseRight32 < 0, 2, 8) → exN321If(CaseRight33 > 0, 8, 2) → exN331If((CaseRight34 * If[CaseS12 ∈ {1, 2}, 1, -1]) < 0, 2, 8) → exN341If((CaseRight35 * If[CaseS12 ∈ {1, 2}, 1, -1]) < 0, 2, 8) → exN351If(CaseLeft36 < 0, 2, 8) → exN361