电梯楼层整数加减:向上/向下移动后的楼层判定
几何画板及绘图内容加载中,请稍等……
这个范例用“电梯从某一楼层出发,向上或向下移动若干层”的情境动画,训练学生根据整数运算判断电梯当前所在楼层。核心数学概念是整数的加法与减法、正负号表示方向,以及由“起点 + 位移 = 终点”构建对应的算式。作图与交互要点可从构造摘要提炼:它使用 Textfield 创建输入框(input13/input11/input5 等),用 Point 与若干几何/标注对象(p0a/p0b/P0、heightstock、widthstock、widthlift)呈现“楼层刻度”和“电梯位置”;通过 Sequence 与 Translate 进行逐步动画位移;并在逻辑判断中使用 If、IndexOf、SelectedIndex、Element 来根据下拉选择与输入确定正确选项或生成反馈;同时借助 Segment、Polygon 与文本点集合(textpoints、liftpoints)完成楼层与电梯位
GeoGebra 命令及参数
Textfield(input13) → Eingabefeld13Textfield(input11) → Eingabefeld11Point(Line[Parkhaus1, xAxis]) → Parkhaus2Sequence(P0 + (0, (m * heightstock)), m, 0, 7) → textpointsTranslate(textpoints, (widthstock, 0)) → liftpointsPoint(liftpoints) → PLift1Polygon(PLift1, PLift1 + ((-0.96 * widthlift), 0), PLift1 + ((-0.96 * widthlift), (-0.95 * heightstock)), PLift1 + (0, (-0.95 * heightstock))) → lift, plift1, f, g, hTextfield(input5) → Eingabefeld5Textfield(input8) → Eingabefeld8Textfield(input19) → Eingabefeld19Textfield(input20) → Eingabefeld20Textfield(input21) → Eingabefeld21Textfield(input22) → Eingabefeld22SelectedIndex(DropDown18) → input18SelectedIndex(DropDown17) → input17SelectedIndex(DropDown15) → input15SelectedIndex(DropDown14) → input14SelectedIndex(DropDown6) → input6SelectedIndex(DropDown3) → input3SelectedIndex(DropDown9) → input9SelectedIndex(DropDown16) → input16Element({0, 1, 2, 3, 6, 4, 5}, step) → exnumElement({1, 4, 1, 8, 5, 2, If[¬correct16, 5, 1]}, exnum + 1) → ausgangsstockIndexOf(PLift1, liftpoints) → stockindexIf(stockindex > ausgangsstock, Sequence[ausgangsstock, stockindex - 1], {}) → bogerlrunterIf(stockindex < ausgangsstock, Sequence[ausgangsstock - 1, stockindex], {}) → bogerlraufTextfield(input2) → Eingabefeld2Zip(P + (0.45, (-0.2 * heightstock)), P, Sequence[liftpoints(m), m, 1, 8]) → bogerlpointsTranslate(bogerlpoints, (0, (1 * heightstock))) → bogerlpointsuntenZip(Segment[A, B], A, bogerlpoints, B, bogerlpointsunten) → bogerlallJoin({bogerlrauf, bogerlrunter}) → bogerlnumsKeepIf(IndexOf[m, bogerlall] ∈ bogerlnums, m, bogerlall) → bogerlJoin({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, RasterMaxX / RasterStepXY, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, RasterMaxY / RasterStepXY, RasterMaxY / RasterStepXY]}) → RasterAussenElement({correct1, correct4, correct7, correct10, correct12}, exnum) → showgreenElement({4, 1, 8, 5, 5, 2, 6}, step) → endstockZip(Text[(("\textsf\small{" * m) * "}"), P + (0.4, -0.1), true, true, 0], m, {"3", "2", "1", "0", "--1", "--2", "--3", "--4"}, P, textpoints) → textlistSegment(PStart, PEndOben) → pfeilElement({correct1, correct4, correct7, correct10, correct12}, exnum) → correctStock