Linear Function Word Problems: Transforming Text into Functions

Linear Function Word Problems: Transforming Text into Functions
Loading the math board and drawing, please wait…
2021-05-06 18:51
In collections Mat 1 ESO - IESO LA PAZ
This GeoGebra example demonstrates how to convert real-world word problems into linear function models and solve them through dynamic interaction. The core mathematical concepts include linear functions, slope and intercept, function graphs, and solving equations. Construction highlights: commands such as Random, Shuffle, and Sequence generate random problem data; If, Zip, and Join build conditional logic and text composition; Textfield and TableText create input fields and tables; Segment aids visual representation; Element and RandomElement select random items. Suitable for middle school or early high school students learning applications of linear functions, and useful for teachers creating randomized practice sets or interactive classroom demonstrations.

GeoGebra Commands & Parameters

  1. Element(Forden, 2) → Fnpregunta2
  2. Element(Forden, 1) → Fnpregunta1
  3. Element(Forden, 3) → Fnpregunta3
  4. RandomElement({"peras", "manzanas", "fresas", "naranjas", "mandarinas"}) → F3Fruta
  5. RandomElement({3, 4, 5, 6, 7, 8}) → F1pendiente
  6. Random(2, Min[12, abs(F3origen / F3pendiente)] - 1) → F3x
  7. RandomElement({2, 3, 4, 5} \ {F4origen}) → F4pendiente
  8. RandomElement({2, 3, 4, 5} \ {F6origen}) → F6pendiente
  9. RandomElement({10, 15, 20, 25} \ {F7origen}) → F7pendiente
  10. RandomElement({2, 3, 4, 5}) → F8pendiente
  11. RandomElement({8, 9, 10, 12, 15}) → F9pendiente
  12. RandomElement({0.1, 0.12, 0.14, 0.16, 0.08}) → F10pendiente
  13. RandomElement({3, 4, 5, 6}) → F11pendiente
  14. RandomElement({0.1, 0.2, 0.25, 0.3, 0.35}) → F14pendiente
  15. RandomElement({3, 4, 5, 6}) → F17pendiente
  16. RandomElement({"claveles", "rosas", "margaritas", "calas", "lirios", "lilas", "tulipanes"}) → F2flor
  17. Shuffle(Join[{nombresHombre, nombresMujer}]) → nombresAzar, {"Reyes", "Helena", "María", "Álvaro", "Raquel", "Víctor", "Adriana", "Julián", "Teresa", "Pedro", "Enrique", "Alicia", "Rosa", "Marina", "Fátima", "Antonio", "Marta", "Isabel", "Lidia", "Luis", "Javier", "Emi", "Sara", "Manuel", "Ana", "José", "Andrea", "Daniel", "Luisa", "Alberto", "Sergio", "Aitana", "Eulalia", "Fernando", "Moisés", "Donato", "Marcos", "Juan", "Lucía", "Mar", "Yumalai"}
  18. RandomElement({6, 7, 8, 9, 10, 11, 12, 13, 14, 15}) → F1x
  19. Random(3, Min[12, abs(F2origen / F2pendiente)] - 1) → F2x
  20. Random(2, 10) → F4x
  21. Random(2, 6) → F5x
  22. Random(2, 6) → F6x
  23. Random(3, 8) → F7x
  24. Random(3, 8) → F8x
  25. Random(8, 15) → F9x
  26. Random(3, 10) → F11x
  27. Random(5, 14) → F12x
  28. Random(5, 8) → F13x
  29. Random(9, 17) → F15x
  30. Random(5, 12) → F16x
  31. Random(5, 12) → F17x
  32. Random(5, Min[12, ((-F18origen)) / F18pendiente]) → F18x
  33. Random(6, Min[12, ((-F19origen)) / F19pendiente]) → F19x
  34. Random(6, Min[12, ((-F20origen)) / F20pendiente]) → F20x
  35. If(Element[FtipoPregunta, 3] ≟ 1, Element[Fy, Fnpregunta3], Element[Fx, Fnpregunta3]) → e3solNumero
  36. If(Element[FtipoPregunta, 2] ≟ 1, Element[Fy, Fnpregunta2], Element[Fx, Fnpregunta2]) → e2solNumero
  37. If(Element[FtipoPregunta, 1] ≟ 1, Element[Fy, Fnpregunta1], Element[Fx, Fnpregunta1]) → e1solNumero
  38. Zip(t ≠ "?" ∧ Max[RemoveUndefined[{0, IndexOf["(", t, 1], IndexOf["/", t, 1]}]] ≤ 1, t, solEscritas) → ListaAnticopia
  39. Sequence("\tiny{\gold{[" + (t) + "]}}" + espacioVertical, t, 1, numPreguntas) → numEjercicio
  40. RandomElement({2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6}) → e3factor1
  41. Element(nombreFactores, e3factor1) → e3nombreFactor1
  42. RandomElement({2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5} \ {e3factor1, If[e3factor1 ≟ 6, 5, 10]}) → e3factor2
  43. Element(nombreFactores, e3factor2) → e3nombreFactor2
  44. Sequence(t, t, 24, 38) → edadesPadres
  45. Sequence(t, t, 2, 16) → edadesHermanos
  46. If(e3PadreHermano, edadesPadres, edadesHermanos) → e3listaEdadesElegir
  47. RandomElement(e3listaEdadesUsar) → e3edadInicialPadre
  48. RandomElement(Sequence[t, t, Max[{-6, (-e3edadHijoCoincidencia1) + 1, (-e3edadHijoCoincidencia2) + 1}], 6] \ {-1, 0, 1}) → e3edadIncremento1
  49. RandomElement({3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6}) → e1factor
  50. Element(nombreFactores, e1factor) → e1nombreFactor
  51. RandomElement({2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6} \ {e1factor}) → e2factor
  52. Element(nombreFactores, e2factor) → e2nombreFactor
  53. If(e1PadreHermano, edadesPadres, edadesHermanos) → e1listaEdadesElegir
  54. RandomElement(e1listaEdadesUsar) → e1edadInicialPadre
  55. If(e2PadreHermano, edadesPadres, edadesHermanos) → e2listaEdadesElegir
  56. RandomElement(e2listaEdadesUsar) → e2edadInicialPadre
  57. RandomElement(Sequence[t, t, Max[-6, (-e2edadHijoCoincidencia) + 1], 6] \ {-1, 0, 1}) → e2edadIncremento
  58. Zip(yaHechoIndicador ∨ tipoBien ∧ solValida ∧ respuesta ≟ sol, respuesta, {Ftipo1Bien, Ftipo2Bien, Ftipo3Bien}, respuestasUserSistema, sol, listaSoluciones, solValida, ListaAnticopia, yaHechoIndicador, yaHechos, tipoBien) → listaCorrecto
  59. Zip("" + (If[ejHecho, "\green", "" + (If[¬comprobado, "\phantom", "\gray"])]), ejHecho, yaHechos) → listacolorSolucion
  60. Zip(TableText[{r}, "vl_00100"], r, respuestasParaMostrar) → respuestasSistematxt
  61. Zip("" + (If[comprobado ∧ (¬ejBienIndicador), t, "\quad "]), t, txtSolUser_0, ejBienIndicador, yaHechos) → txtSolUser
  62. Random(2, 12) → ec4sol
  63. If(¬comprobado, "\phantom", "\gray") → colorSolucion
  64. Zip("n=" + (If[Element[f, 2] ≟ 1, "" + (Element[f, 1]), "\frac{" + (Element[f, 1]) + "}{" + (Element[f, 2]) + "}"]), f, respuestasUserSistema) → listaFraccionesUser
  65. RandomElement({2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5}) → ej4factor
  66. Element({"", "doble", "triple", "cuádruple", "quíntuple"}, ej4factor) → ej4factortxt
  67. RandomElement({"un\,\,número\,\,y\,\,su\,\,siguiente", "dos\,\,números\,\,consecutivos"}) → ej4expresion
  68. If(SolConDenom, -8.8, -7) → incrementoyCartelX
  69. Zip({"\bold{" + (num) + "}" + espacioVertical, "\!\!\!\!\!{" + (expresion) + "\phantom{(^2)}" + "}", col + "{" + (sol) + "}", "" + (solUser)}, num, listacolorSolucion, numEjercicio, expresion, enunciadosEstatico, sol, listaSolucionestxt, solUser, txtSolUser, col) → txtEnunciados
  70. If(comprobado, {{"", "", "\bold{\orange{Solución}}", "\bold{\purple{Respuesta}}"}}, {{"", "\bold{\brown{Rellena\,\, los \,\,datos \,\,de \,\,cada \,\,función\ldots\phantom{" + (If[comprobado, "", "XXXXXXXXXXXXXXXX"]) + "}}}", "\small{\brown{Variables\phantom{XXX}\,\,y\phantom{XX}\,\,solución...\phantom{XX}}}"}}) → encabezadoTabla
  71. Join({encabezadoTabla, Take[txtEnunciados, 1, Min[numPreguntas, 10]]}) → listaEnunciado
  72. Zip("?" ≟ l ∨ (¬Defined[solUser]), solUser, denominadoresUser, l, listaTextosDenominador) → solNoDefinidaDenominador
  73. Segment(extremolinea1, finallinea1) → a
  74. Textfield(r12) → c12
  75. Textfield(r13) → c13
  76. Textfield(r14) → c14
  77. Textfield(r15) → c15
  78. Textfield(r16) → c16
  79. Textfield(r17) → c17
  80. Textfield(r18) → c18
  81. Textfield(r19) → c19
  82. Textfield(r20) → c20
  83. Textfield(r1) → c1
  84. Textfield(r2) → c2
  85. Textfield(r3) → c3
  86. Textfield(r4) → c4
  87. Textfield(r5) → c5
  88. Textfield(r6) → c6
  89. Textfield(r7) → c7
  90. Textfield(r8) → c8
  91. Textfield(r9) → c9
  92. Textfield(r10) → c10
  93. Textfield(r11) → c11
  94. TableText(Take[txtEnunciados, 11, 20], cadenaTablaEnunciado) → enun2
  95. Zip("" + (If[nocopia ∧ t ≠ "?", t, "0"]), nocopia, ListaAnticopia, t, solEscritas) → expresiones
  96. TableText(listaEnunciado, cadenaTablaEnunciado) → preEnun
  97. Segment(origenRaya5, origenRaya5 + (6, 0)) → raya5
  98. If(SolConDenom, PosConDenom, PosSinDenom) → OrigenTabla
  99. If(SolConDenom, OrigenCartelXfrac, OrigenCartelXEntero) → OrigenCartelX
  100. Element({0, 3.5, 7, 10}, 1 + Sum[Zip[If[l, 1, 0], l, listaCorrecto]]) → total
  101. Append("(Elige la variable)", If[Element[FordenVariables, 1] ≟ 1, {"" + (Element[Fmagx, Fnpregunta1]), "" + (Element[Fmagy, Fnpregunta1])}, {"" + (Element[Fmagy, Fnpregunta1]), "" + (Element[Fmagx, Fnpregunta1])}]) → Felegir1
  102. Append("(Elige la variable)", If[Element[FordenVariables, 2] ≟ 1, {"" + (Element[Fmagx, Fnpregunta2]), "" + (Element[Fmagy, Fnpregunta2])}, {"" + (Element[Fmagy, Fnpregunta2]), "" + (Element[Fmagx, Fnpregunta2])}]) → Felegir2
  103. Append("(Elige la variable)", If[Element[FordenVariables, 3] ≟ 1, {"" + (Element[Fmagx, Fnpregunta3]), "" + (Element[Fmagy, Fnpregunta3])}, {"" + (Element[Fmagy, Fnpregunta3]), "" + (Element[Fmagx, Fnpregunta3])}]) → Felegir3
  104. Segment(A, B) → separador1
  105. Segment(Translate[A, (0, -13.4)], Translate[B, (0, -13.4)]) → separador2
  106. Segment(Translate[A, (0, -26.8)], Translate[B, (0, -26.8)]) → separador3
  107. Zip(respuesta ≟ sol, respuesta, respuestasUserSistema, sol, listaSoluciones) → listaRespuestasBien
  108. Shuffle(Sequence[t, t, 1, 20]) → listaInicial, {3, 10, 11, 14, 17, 7, 19, 6, 9, 16, 8, 4, 2, 15, 5, 1, 13, 12, 20, 18}

AI Drawing Prompt Reference

Create a set of linear-function word-problem visuals. Randomly select a fruit or flower label for each of three problems, and assign each problem its own slope and intercept values (derived from the randomly chosen parameters). For each problem, draw the corresponding linear function as a straight line on the coordinate plane, with the line’s direction determined by the slope and its vertical-axis intercept determined by the intercept. Then indicate the specific x-location(s) used for solving and visually relate that point on the line to the numeric answer obtained from the corresponding linear equation. Arrange the three line graphs together with their matching text labels to form an interactive-style practice set.
The prompt above was compiled from the original drawing commands and is for reference only.