分数减法闯关:用随机题目验证答案
几何画板及绘图内容加载中,请稍等……
该范例演示在“迷宫/关卡”界面中进行分数减法练习:系统随机生成题目与提示位置,学生在指定区域作答并进行自动校验。核心数学概念是分数减法及其正确结果的分子分母计算(对应“减法运算#subtraction”“Subtrahieren von Brüchen”),并将结果规范为可对比的分数形式。作图与交互要点包括:通过 Shuffle 与 Sequence 生成随机数 randomNumbers、randomNumber,并用 Length、Element、Flatten 组织题目参数与题目位置;利用 If 进行条件判断,IsInRegion 判断学生答案是否落在正确区域;用 Textfield/Text 显示题干 txtQuestion、任务位置 txtTaskPositions、提示 txtHints2 与作答反馈;分子分母分别用 Numerator/Denominator 组织 expec
GeoGebra 命令及参数
Shuffle(1…10) → randomNumbers, {5, 3, 10, 2, 1, 4, 9, 8, 7, 6}Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumberElement(Element[allSolutionsSplitted, randomNumber], 2) → expectedSolutionZaehlerElement(Element[allSolutionsSplitted, randomNumber], 3) → expectedSolutionNennerElement(Element[allSolutionsSplitted, randomNumber], 1) → expectedSolutionGanzeIf(Defined[expectedSolutionGanze], expectedSolutionGanze + expectedSolutionZaehler / expectedSolutionNenner, expectedSolutionZaehler / expectedSolutionNenner) → expectedSolutionValueFlatten({labyrinthW01, labyrinthW02, labyrinthW03, labyrinthW04}) → labyrinthWaagrechtFlatten({labyrinthS01, labyrinthS02, labyrinthS03, labyrinthS04}) → labyrinthSenkrechtFlatten({labyrinthSenkrecht, labyrinthWaagrecht}) → labyrinthLength(randomNumbers) → numberOfQuestionsSequence(Polygon[Element[questionsPositions, i], Element[questionsPositions, i] + sizeWaagrecht, Element[questionsPositions, i] + sizeWaagrecht + sizeSenkrecht, Element[questionsPositions, i] + sizeSenkrecht], i, 1, Length[questionsPositions]) → questionsRectanglesIsInRegion(A, Element[questionsRectangles, actualQuestionNeeded]) → showQuestionTextfield(studentAnswer01) → inputBox01Textfield(studentAnswer02) → inputBox02Textfield(studentAnswer03) → inputBox03Text("\textsf{" + (Element[allTasks, randomNumber]) + "}", txtTaskPosition, true, true, -1, 0) → txtTaskIf((¬needGanze) ∧ needBruch, 0, 1) → startPositionBruchXValueText("\textsf{" + (Element[allQuestions, randomNumber]) + "}", txtQuestionPos, true, true, -1, 0) → Text1Numerator(studentAnswer02 / studentAnswer03) → studentAnswer02gekurztDenominator(studentAnswer02 / studentAnswer03) → studentAnswer03gekurztText(Text9, B, false, true, 0, 0) → Text10Segment(C, D) → fSegment(E, I) → gSegment(G, H) → h