Three Views of Homogeneous Linear Functions: Table, Equation, and Graph
Loading the math board and drawing, please wait…
In collections
Homogen lineare Funktionen
This GeoGebra example lets students move between three representations of homogeneous linear functions—(1) a value table, (2) the function equation, and (3) the graph—highlighting how the slope parameter controls the straight-line shape. It focuses on key ideas such as linear (homogeneous) function behavior, the meaning of the slope k (and related parameters like a shift/offset parameter), interpr
GeoGebra Commands & Parameters
Sequence(Random[1, 10], i, 1, 10) → randomNumbers, {8, 1, 8, 7, 1, 8, 4, 5, 4, 3}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) → RasterPunkteTextfield(input021) → InputBox021Textfield(input022) → InputBox022Textfield(input023) → InputBox023Textfield(input024) → InputBox024Textfield(input025) → InputBox025Textfield(input026) → InputBox026SelectedIndex(dropdown071) → index071SelectedIndex(dropdown072) → index072If(step ≟ 1, (2, 2.2), (-0.45, 6.75)) → PosImgNora1PolyLine(PosSB, Corner[txt011, 1] + (0.25, -0.1), Corner[txt011, 2] + (0.1, -0.1), Corner[txt011, 3] + (0.1, 0.1), Corner[txt011, 4] + (-0.1, 0.1), Corner[txt011, 1] + (-0.1, 0.25), PosSB) → sb01Segment(Origin + ((minX / stepX * disX) - edgeAxisX, 0), Origin + ((maxX / stepX * disX) + edgeAxisX, 0)) → segAxisXSegment(Origin + (0, (minY / stepY * disY) - edgeAxisY), Origin + (0, (maxY / stepY * disY) + edgeAxisY)) → segAxisYSequence(Origin + ((minX / stepX * disX), 0) + (k * (disX, 0)), k, 0, maxX / stepX - minX / stepX) → PointsXAxisSequence(Origin + (0, (minY / stepY * disY)) + (k * (0, disY)), k, 0, maxY / stepY - minY / stepY) → PointsYAxisSequence(Segment[PointsXAxis(k) + (0, (-disSeg)), PointsXAxis(k) + (0, disSeg)], k, 1, Length[PointsXAxis]) → segXAxisSequence(Segment[PointsYAxis(k) + ((-disSeg), 0), PointsYAxis(k) + (disSeg, 0)], k, 1, Length[PointsYAxis]) → segYAxisSequence(m, m, minX, maxX, stepX) → numbersXAxisSequence(Text[((("\textsf{\footnotesize{\(" * If[numbersXAxis(k) ≥ 0, "\phantom{\(-\)}", ""]) * If[Element[numbersXAxis, k] ≟ 0, "", ("" * Element[numbersXAxis, k])]) * "\)}}"), PointsXAxis(k) + (-0.12, (-disSeg)), false, true, 0, -1], k, 1, (maxX - minX) / stepX + 1) → CapXSequence(m, m, minY, maxY, stepY) → numbersYAxisSequence(Text[((("\textsf{\footnotesize{\(" * If[numbersYAxis(k) ≥ 0, "\phantom{\(-\)}", ""]) * If[Element[numbersYAxis, k] ≟ 0, "", ("" * Element[numbersYAxis, k])]) * "\)}}"), PointsYAxis(k) + ((-disSeg) + 0.05, 0), false, true, -1, 0], k, 1, (maxY - minY) / stepY + 1) → CapYSequence(Sequence[PosTable + (Sum[ListSpalte, k], (-Sum[ListZeile, m])), k, 0, 2], m, 0, 7) → TablePosMatSequence(((("\textsf{\(" * If[k ≥ 0, "\phantom{-}", ""]) * k) * "\)}"), k, -1, 4) → txtXListSequence(((("\textsf{\(" * If[FuncOriginal(k) ≥ 0, "\phantom{-}", ""]) * ReplaceAll[("" * FuncOriginal(k)), ".", ","]) * "\)}"), k, -1, 4) → txtYListElement({Polygon[(x(PointsXAxis(1)), y(PointsYAxis(1))) + ((-edgeAxisX) - 0.05, (-edgeAxisY) - 0.05), (x(PointsXAxis(Length[PointsXAxis])), y(PointsYAxis(1))) + (edgeAxisX + 0.05, (-edgeAxisY) - 0.05), (x(PointsXAxis(Length[PointsXAxis])), y(PointsYAxis(Length[PointsYAxis]))) + (edgeAxisX + 0.05, edgeAxisY + 0.05), (x(PointsXAxis(1)), y(PointsYAxis(Length[PointsYAxis]))) + ((-edgeAxisX) - 0.05, edgeAxisY + 0.05)]}, 1) → polyAxisIntersect(Line[PointsOnGraph(1), PointsOnGraph(2)], polyAxis) → ISPoint1, ISPoint2Segment(ISPoint1, ISPoint1 + (anim03 * (ISPoint2 - ISPoint1))) → segGraphPolyLine(PosSB, Corner[txt041, 1] + (-0.1, 0.25), Corner[txt041, 1] + (-0.1, -0.1), Corner[txt041, 2] + (0.1, -0.1), Corner[txt041, 3] + (0.1, 0.1), Corner[txt041, 4] + (-0.1, 0.1), Corner[txt041, 1] + (-0.1, 0.75), PosSB) → sb04Text((((("\textsf{\bold{\large{f(x) = \textcolor{" * If[step > 3, "#988c00", "black"]) * "}{\(") * ReplaceAll[(sliderK * ""), ".", ","]) * "\)} \cdot x}}}"), TablePosMat(1, 2) + (0, 0.6), false, true, 0, 0) → headerTableText("\textsf{\bold{f}}", ISPoint2, false, true, 1, 0) → CapFPolyLine(PosSB, Corner[txt071, 1] + (0.25, -0.1), Corner[txt071, 2] + (0.1, -0.1), Corner[txt071, 3] + (0.1, 0.1), Corner[txt071, 4] + (-0.1, 0.1), Corner[txt071, 1] + (-0.1, 0.25), PosSB) → sb07If(step > 4, (0.09, -0.44), (7, 5.75)) → PosKBIf(step ≟ 5, 3, step > 4, 2.75, 5.2) → heightKBSelectedIndex(dropdown061) → index061Sequence(Text[Element[{"\textsf{\(\phantom{-}1\)}", "\textsf{\(\phantom{-}2\)}", "\textsf{\(\phantom{-}3\)}"}, k], Midpoint[TablePosMat(k + 1, 1), TablePosMat(k + 2, 2)] + (-0.15, 0), false, true, 0, 0], k, 1, 3) → CapTableX07Sequence(Text[txtYList(k + 2), Midpoint[TablePosMat(k + 1, 2), TablePosMat(k + 2, 3)] + (-0.15, 0), false, true, 0, 0], k, 1, 3) → CapTableY07Take(PointsOnGraph, 1, If[step ≟ 2, anim02 - 1, 6]) → GraphedPointsIf(step ≟ 2, anim02 ≟ 0 ∨ anim02 ≟ 7, step ≟ 3, anim03 ≟ 0 ∨ anim03 ≟ 1, true) → clickableBtnBackSequence(Text[txtXList(k), Midpoint[TablePosMat(k + 1, 1), TablePosMat(k + 2, 2)] + (-0.15, 0), false, true, 0, 0], k, 1, If[step < 4, 6, 4]) → CapTableXSequence(Text[txtYList(k), Midpoint[TablePosMat(k + 1, 2), TablePosMat(k + 2, 3)] + (-0.15, 0), false, true, 0, 0], k, 1, If[step < 4, 6, 4]) → CapTableYSelectedIndex(dropdown041) → index041If(step ≟ 2, correct021 ∧ correct022 ∧ correct023 ∧ correct024 ∧ correct025 ∧ correct026 ∧ anim02 ≟ 7, true, step ≟ 3, anim03 ≟ 1, step ≟ 4, moved04 ∧ correctdd072 ∧ correctdd041, step ≟ 5, moved05 ∧ correctdd071, step ≟ 6, sliderK > 3) → clickableBtnNextPolyLine(PosSB, Corner[txt051, 1] + (-0.1, 0.25), Corner[txt051, 1] + (-0.1, -0.1), Corner[txt051, 2] + (0.1, -0.1), Corner[txt051, 3] + (0.1, 0.1), Corner[txt051, 4] + (-0.1, 0.1), Corner[txt051, 1] + (-0.1, 0.75), PosSB) → sb05PolyLine(PosSB, Corner[txt061, 1] + (-0.1, 0.25), Corner[txt061, 1] + (-0.1, -0.1), Corner[txt061, 2] + (0.1, -0.1), Corner[txt061, 3] + (0.1, 0.1), Corner[txt061, 4] + (-0.1, 0.1), Corner[txt061, 1] + (-0.1, 0.75), PosSB) → sb06Sequence(Midpoint[TablePosMat(1 + k, 1), TablePosMat(2 + k, 2)], k, 1, 4) → MPTableLeftSequence(Midpoint[TablePosMat(1 + k, 2), TablePosMat(2 + k, 3)], k, 1, 4) → MPTableRightSequence(CircleArc[Midpoint[MPTableLeft(k) + (0, (-disArrowTable)), MPTableLeft(k + 1) + (0, disArrowTable)] + disArrowLeft, MPTableLeft(k) + disArrowLeft + (0, (-disArrowTable)), MPTableLeft(k + 1) + disArrowLeft + (0, disArrowTable)], k, 1, 3) → ArcLeft04Sequence(CircleArc[Midpoint[MPTableRight(k) + (0, (-disArrowTable)), MPTableRight(k + 1) + (0, disArrowTable)] + disArrowRight, MPTableRight(k + 1) + disArrowRight + (0, disArrowTable), MPTableRight(k) + disArrowRight + (0, (-disArrowTable))], k, 1, 3) → ArcRight04Segment(Point[ArcLeft04(1), 1], Point[ArcLeft04(1), 1] + (0.01, 0)) → segArrow041Segment(Point[ArcLeft04(2), 1], Point[ArcLeft04(2), 1] + (0.01, 0)) → segArrow042Segment(Point[ArcLeft04(3), 1], Point[ArcLeft04(3), 1] + (0.01, 0)) → segArrow043Segment(Point[ArcLeft04(4), 1], Point[ArcLeft04(4), 1] + (0.01, 0)) → segArrow044Segment(Point[ArcRight04(1), 0], Point[ArcRight04(1), 0] + (0.01, 0)) → segArrow045Segment(Point[ArcRight04(2), 0], Point[ArcRight04(2), 0] + (0.01, 0)) → segArrow046Segment(Point[ArcRight04(3), 0], Point[ArcRight04(3), 0] + (0.01, 0)) → segArrow047Sequence(Text[((("\textsf{\bold{\scriptsize{" * If[sliderK < 0, "\(-\) ", "+ "]) * ReplaceAll[(abs(sliderK) * ""), ".", ","]) * "\vphantom{,}}}}"), TablePosMat(k + 2, 3) + (-0.15, 0.05), false, true, 1, 0], k, 1, 3) → CapArrowTableRightSequence(Text["\textsf{\bold{\scriptsize{+ 1\vphantom{,}}}}", TablePosMat(k + 2, 1) + (0, 0.05), false, true, -1, 0], k, 1, 3) → CapArrowTableLeft