Linear Function Parameter Variation and Graph Exploration

Linear Function Parameter Variation and Graph Exploration
Loading the math board and drawing, please wait…
2025-10-29 22:23
This GeoGebra interactive exercise guides students through the exploration of linear function parameters k and d in the equation y = kx + d. Learners observe how varying k affects the slope and varying d shifts the graph vertically, using slope triangles to visualize rate of change. The activity reinforces switching between functional equations and their graphical representations, interpreting lin

GeoGebra Commands & Parameters

  1. If(mixed, Shuffle[1…numberOfQuestions], 1…numberOfQuestions) → randomQuestions
  2. Element(randomQuestions, Mod[questionCount - 1, Length[randomQuestions]] + 1) → randomQuestion
  3. If(randomQuestion ≟ 1, 2, 1) → optionsRight
  4. RemoveUndefined({RO1, If[optionsRight > 1, RO2], If[optionsRight > 2, RO3], If[optionsRight > 3, RO4], If[optionsRight > 4, RO5]}) → ListeRichtig
  5. RemoveUndefined({If[optionsTotal - optionsRight > 0, FO1], If[optionsTotal - optionsRight > 1, FO2], If[optionsTotal - optionsRight > 2, FO3], If[optionsTotal - optionsRight > 3, FO4]}) → ListeFalsch
  6. Sequence(Shuffle[1…4], k, 1, 6) → MCPosList, {{3, 2, 4, 1}, {2, 4, 1, 3}, {4, 1, 2, 3}, {4, 2, 3, 1}, {4, 2, 3, 1}, {3, 2, 1, 4}}
  7. Sort(Join[{ListeRichtig, ListeFalsch}], MCPosActual) → Reihenfolge
  8. Text(Reihenfolge(1), Corner[4] + (pixMat * (PosStart + (36, 16) + (((1 - 1) * disPixX), ((1 - 1) * disPixY)))), false, true, 1, 0) → txtO1
  9. Text(Reihenfolge(2), Corner[4] + (pixMat * (PosStart + (36, 16) + (((2 - 1) * disPixX), ((2 - 1) * disPixY)))), false, true, 1, 0) → txtO2
  10. Text(Reihenfolge(3), Corner[4] + (pixMat * (PosStart + (36, 16) + (((3 - 1) * disPixX), ((3 - 1) * disPixY)))), false, true, 1, 0) → txtO3
  11. Text(Reihenfolge(4), Corner[4] + (pixMat * (PosStart + (36, 16) + (((4 - 1) * disPixX), ((4 - 1) * disPixY)))), false, true, 1, 0) → txtO4
  12. SelectedIndex(dropdown02) → index02
  13. SelectedIndex(dropdown04) → index04
  14. SelectedIndex(dropdown06) → index06
  15. If(randomQuestion ∈ {1, 3, 4, 5, 6, 7}, correctMC, randomQuestion ≟ 2, input02 ≟ 10 ∧ index02 ≟ 3, randomQuestion ≟ 4, index04 ≟ 3, randomQuestion ≟ 6, index06 ≟ 4, false) → correct
  16. Textfield(input) → inputBox
  17. 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
  18. 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
  19. Sequence(Sequence[Corner[4] + (RasterPixMat * ((k * RasterStepXY), (m * RasterStepXY))), k, 0, RasterMaxX / RasterStepXY], m, 0, RasterMaxY / RasterStepXY) → RasterPunkte
  20. If(questionCount ≟ 0, PosImgVali12 + (-1.5, 6.5), PosImgEnd2 + (-2.5, 8.75)) → PosSB
  21. PolyLine(PosSB, Corner[txt001, 1] + (5, -0.1), Corner[txt001, 2] + (0.1, -0.1), Corner[txt001, 3] + (0.1, 0.1), Corner[txt001, 4] + (-0.1, 0.1), Corner[txt001, 1] + (-0.1, -0.1), Corner[txt001, 1] + (4, -0.1), PosSB) → sb001
  22. Text(Reihenfolge(5), Corner[4] + (pixMat * (PosStart + (36, 18) + (((5 - 1) * disPixX), ((5 - 1) * disPixY)))), false, true, 1, 0) → txtO5
  23. If(correctMC, "\textsf{✓ Richtig}", (¬correctMC) ∧ (txtO1 ∈ ListeRichtig ∧ option1 ∨ txtO2 ∈ ListeRichtig ∧ option2 ∨ txtO3 ∈ ListeRichtig ∧ option3 ∨ txtO4 ∈ ListeRichtig ∧ option4 ∨ txtO5 ∈ ListeRichtig ∧ option5), "\textsf{✘ Teilweise richtig}", "\textsf{✘ Falsch}") → txtMCFeedback
  24. Max(x({Corner[txtO1, 2], Corner[txtO2, 2], Corner[txtO3, 2], Corner[txtO4, 2], Corner[txtO5, 2]})) → xMax
  25. Text(If[txtO1 ∈ ListeRichtig, txtTrue, txtFalse], (If[disPixX ≟ 0, xMax, x(Corner[txtO1, 2])], y(Midpoint[Corner[txtO1, 2], Corner[txtO1, 3]])) + (0.35, 0.125), false, true, 1, 0) → txtMCFB1
  26. Text(If[txtO2 ∈ ListeRichtig, txtTrue, txtFalse], (If[disPixX ≟ 0, xMax, x(Corner[txtO2, 2])], y(Midpoint[Corner[txtO2, 2], Corner[txtO2, 3]])) + (0.35, 0.125), false, true, 1, 0) → txtMCFB2
  27. Text(If[txtO3 ∈ ListeRichtig, txtTrue, txtFalse], (If[disPixX ≟ 0, xMax, x(Corner[txtO3, 2])], y(Midpoint[Corner[txtO3, 2], Corner[txtO3, 3]])) + (0.35, 0.125), false, true, 1, 0) → txtMCFB3
  28. Text(If[txtO4 ∈ ListeRichtig, txtTrue, txtFalse], (If[disPixX ≟ 0, xMax, x(Corner[txtO4, 2])], y(Midpoint[Corner[txtO4, 2], Corner[txtO4, 3]])) + (0.35, 0.125), false, true, 1, 0) → txtMCFB4
  29. Text(If[txtO5 ∈ ListeRichtig, txtTrue, txtFalse], (If[disPixX ≟ 0, xMax, x(Corner[txtO5, 2])], y(Midpoint[Corner[txtO5, 2], Corner[txtO5, 3]])) + (0.35, 0.125), false, true, 1, 0) → txtMCFB5
  30. Sequence(Sequence[PosTable + (Sum[ListSpalte, k], (-Sum[ListZeile, m])), k, 0, 2], m, 0, 4) → TablePosMat
  31. Textfield(inputTable) → InputBoxTable
  32. Segment(Origin + ((minX / stepX * disX) - edgeAxisX, 0), Origin + ((maxX / stepX * disX) + edgeAxisX, 0)) → segAxisX
  33. Segment(Origin + (0, (minY / stepY * disY) - edgeAxisY), Origin + (0, (maxY / stepY * disY) + edgeAxisY)) → segAxisY
  34. Sequence(Origin + ((minX / stepX * disX), 0) + (k * (disX, 0)), k, 0, maxX / stepX - minX / stepX) → PointsXAxis
  35. Sequence(Origin + (0, (minY / stepY * disY)) + (k * (0, disY)), k, 0, maxY / stepY - minY / stepY) → PointsYAxis
  36. Sequence(Segment[PointsXAxis(k) + (0, (-disSeg)), PointsXAxis(k) + (0, disSeg)], k, 1, Length[PointsXAxis]) → segXAxis
  37. Sequence(Segment[PointsYAxis(k) + ((-disSeg), 0), PointsYAxis(k) + (disSeg, 0)], k, 1, Length[PointsYAxis]) → segYAxis
  38. Sequence(m, m, minX, maxX, stepX) → numbersXAxis
  39. Sequence(m, m, minY, maxY, stepY) → numbersYAxis
  40. Element({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) → polyAxis
  41. Sequence(Sequence[(x(PointsXAxis(k)), y(PointsYAxis(m))), k, 1, Length[PointsXAxis]], m, 1, Length[PointsYAxis]) → AllPointsOnGrid
  42. Point(Segment[AllPointsOnGraph(1), AllPointsOnGraph(Length[AllPointsOnGraph])]) → PointP
  43. Text("\textsf{\bold{Zieh mich!}}", PointP + (0.1, 0.05), false, true, 1, 0) → CapZiehMich
  44. Sequence(Text[((((If[movedP ∧ valueYP ≟ numbersYAxis(k), "\textcolor{9c4381}{\bold{", "{{"] * "\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) → CapY
  45. Textfield(input02) → InputBox02
  46. CountIf(a ≟ true, a, MCOptions) → NumberOfTrue
  47. If(randomQuestion ≟ 1, NumberOfTrue ≟ 2, true, randomQuestion ∈ {3, 5, 4, 6, 7}, true ∈ MCOptions, randomQuestion ≟ 2, Defined[input02] ∧ index02 ≠ 1, randomQuestion ≟ 4, index04 ≠ 1, randomQuestion ≟ 6, index06 ≠ 1) → clickableBtnValidate
  48. PolyLine(PosSB, Corner[txtGoal, 1] + (0.25, -0.1), Corner[txtGoal, 2] + (0.1, -0.1), Corner[txtGoal, 3] + (0.1, 0.1), Corner[txtGoal, 4] + (-0.1, 0.1), Corner[txtGoal, 1] + (-0.1, 0.25), PosSB) → sbEnd
  49. Insert(MCPosActual(MCSwap(1)), Insert[MCPosActual(MCSwap(2)), Shuffle[Remove[1…optionsTotal, {MCPosActual(MCSwap(1)), MCPosActual(MCSwap(2))}]], If[IndexOf[MCPosActual(MCSwap(1)), MCPosActual] ≠ optionsTotal, IndexOf[MCPosActual(MCSwap(1)), MCPosActual], 5]], IndexOf[MCPosActual(MCSwap(2)), MCPosActual]) → MCPosNext
  50. Sequence(Text[((((If[movedP ∧ valueXP ≟ numbersXAxis(k), "\textcolor{db6114}{\bold{", "{\bold{"] * "\textsf{\footnotesize{\(") * If[numbersXAxis(k) ≥ 0, "\phantom{\(-\)}", ""]) * If[Element[numbersXAxis, k] ≟ 0, "", ("" * Element[numbersXAxis, k])]) * "\)}}}}"), PointsXAxis(k) + (-0.15, (-disSeg)), false, true, 0, -1], k, 1, (maxX - minX) / stepX + 1) → CapX