正比例函数坐标图

正比例函数坐标图
几何画板及绘图内容加载中,请稍等……
2023-07-26 20:45
本范例演示在平面直角坐标系中绘制正比例函数图像,帮助学生理解y=kx形式的线性关系。通过输入不同的x值和比例系数k,观察点的坐标变化规律。构造要点:使用Polygon绘制坐标轴网格,Textfield创建输入框供学生输入x值和k值,Sequence命令生成一系列坐标点,Segment连接原点与坐标点形成函数图像,If条件判断验证答案正确性。该范例适合5-6年级学生,用于练习直接比例与反比例的识别、坐标平面内点的表示以及函数概念的理解。

GeoGebra 命令及参数

  1. Join(Sequence[Shuffle[Sequence[n, n, 1, maxexnum]], m, 1, 25]) → listexnums
  2. Join(Sequence[Shuffle[{1, 2, 3, 4, 5, 6}], i, 1, 9]) → listnumstext
  3. If(exnum ≟ 1, widthcoord1, If[exnum ≟ 2, widthcoord2, widthcoord3]) → widthcoord
  4. If(exnum ≟ 1, heightcoord1, If[exnum ≟ 2, heightcoord2, heightcoord3]) → heightcoord
  5. If(exnum ≟ 1, sizecoordx1, If[exnum ≟ 2, sizecoordx2, sizecoordx3]) → sizecoordx
  6. If(exnum ≟ 1, sizecoordy1, If[exnum ≟ 2, sizecoordy2, sizecoordy3]) → sizecoordy
  7. If(exnum ≟ 1, O1, If[exnum ≟ 2, O2, O3]) → O
  8. Textfield(input1) → InputBox1
  9. Textfield(input2) → InputBox2
  10. If(exnum < 4, correct1 ∧ correct2 ∧ correct3, correct1a ∧ correct2a ∧ correct3a) → correct
  11. Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback) → rectangleCorrect, rectangleCorrectS3, rectangleCorrectS4, rectangleCorrectS2, rectangleCorrectS1
  12. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForX, {10, 5, 7, 4, 4, 8, 6, 7, 10, 5, 6, 0, 10, 1, 10, 7, 7, 3, 10, 5, 9, 3, 4, 9, 1, 10, 5, 6, 6, 6, 0, 1, 10, 7, 8, 4, 3, 0, 10, 1, 1, 1, 5, 9, 2, 5, 5, 4, 10, 2, 9, 5, 7, 9, 0, 1, 4, 1, 2, 6, 4, 4, 9, 8, 4, 0, 6, 8, 5, 10, 1, 9, 8, 1, 3, 2, 7, 10, 2, 9, 0, 3, 0, 4, 0, 5, 5, 4, 3, 10, 7, 8, 0, 2, 1, 7, 9, 0, 3, 10}
  13. Element(randomNosForX, Mod[questionCount, 100] + 1) → numX
  14. Shuffle(Sequence[Random[0, 10], i, 1, 100]) → randomNosForY, {9, 4, 10, 3, 8, 0, 9, 1, 9, 8, 9, 1, 3, 1, 3, 2, 2, 0, 5, 8, 1, 4, 4, 1, 6, 8, 0, 4, 0, 0, 4, 6, 8, 10, 6, 0, 9, 5, 7, 6, 0, 10, 1, 3, 2, 0, 5, 5, 10, 8, 1, 1, 6, 3, 3, 8, 8, 7, 3, 6, 9, 4, 6, 3, 9, 3, 6, 9, 2, 8, 5, 9, 6, 4, 10, 10, 1, 6, 4, 5, 6, 9, 10, 7, 6, 4, 7, 4, 2, 7, 1, 4, 7, 8, 2, 3, 1, 6, 1, 0}
  15. Element(randomNosForY, Mod[questionCount, 100] + 1) → numY
  16. Append(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100]) → stayY
  17. Remove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100]) → randomNosForYwithoutRepeat
  18. Element(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1) → numYwithoutRepeat
  19. If(exnum < 3, Defined[((input1 * input2) * input3)], If[exnum ≟ 3, Defined[(input1 * input2)], (inputline1 ∨ inputpoint1) ∧ (inputline2 ∨ inputpoint2) ∧ (inputline3 ∨ inputpoint3)]) → fixed
  20. If(exnum ≟ 3, correct1 ∨ correct2 ∧ (¬correct), If[exnum < 4, correct1 ∨ correct2 ∨ correct3 ∧ (¬correct), correct1a ∨ correct2a ∨ correct3a ∧ (¬correct)]) → correctpartially
  21. Textfield(input3) → InputBox3
  22. Flatten(Sequence[Sequence[O + (m * (sizecoordx, 0)) + (j * (0, sizecoordy)), m, 0, widthcoord - 1], j, 0, heightcoord]) → l1
  23. Sequence(O + (m * (sizecoordx, 0)), m, 1, widthcoord - 2) → pointsx
  24. Sequence(O + (m * (0, sizecoordy)), m, 1, heightcoord - 1) → pointsy
  25. Zip(Segment[A + (0, (-heightlines)), A + (0, heightlines)], A, pointsx) → linesx
  26. Zip(Segment[A + ((-heightlines), 0), A + (heightlines, 0)], A, pointsy) → linesy
  27. Sequence(Text[(("\textsf{" * ReplaceAll["" + ((m * 2)) + "", ".", ","]) * "}"), (x(O) - 0.5, (m * sizecoordy) + y(O) - 0.3), true, true, -0, 1], m, 1, heightcoord - 1) → texty1
  28. Segment(l1(1), l1((heightcoord * widthcoord) + 1)) → yline
  29. Segment(l1(1), l1(widthcoord)) → xline
  30. Translate({(0, 0), ((sizecoordx * 1), (sizecoordy / 2 * 4)), ((sizecoordx * 2), (sizecoordy / 2 * 8)), ((sizecoordx * 3), (sizecoordy / 2 * 12)), ((sizecoordx * 4), (sizecoordy / 2 * 16)), ((sizecoordx * 5), (sizecoordy / 2 * 20))}, O) → p1
  31. Join({Sequence[Text["\textsf{" + (m) + "}", ((m * sizecoordx) + x(O), y(O) - 0.7), true, true, -0, 1], m, 0, 0], Sequence[Text["\textsf{" + (m) + ((" 000" * "}")), ((m * sizecoordx) + x(O), y(O) - 0.7), true, true, -0, 1], m, 1, widthcoord - 2]}) → textx2
  32. Sequence(Text[(("\textsf{" * ReplaceAll["" + ((m * 100)) + "", ".", ","]) * "}"), (x(O) - 0.5, (m * sizecoordy) + y(O) - 0.3), true, true, -0, 1], m, 1, heightcoord - 1) → texty3
  33. If(exnum ≟ 1, Pos1a, If[exnum ≟ 2, Pos1b, Pos1c]) → Pos1
  34. If(exnum ≟ 1, Pos2a, If[exnum ≟ 2, Pos2b, Pos2c]) → Pos2
  35. If(exnum ≟ 1, Pos3a, Pos3b) → Pos3
  36. Zip(¬A, A, listpointstrue) → listlinetrue
  37. SpeechBubbleRight(A, 5.5, 1.5) → Vieleck0
  38. Point(Line[C, xAxis]) → D
  39. Point(Line[E, xAxis]) → F
  40. SpeechBubbleRight(B, 8.1, 0.8) → Vieleck1
  41. Point(Line[G, xAxis]) → H
  42. SpeechBubbleRight(I, 8.3, 1) → Vieleck45
  43. Translate({((sizecoordx * 1), (sizecoordy / 100 * 120)), ((sizecoordx * 5), (sizecoordy / 100 * 600))}, O) → hintp3
  44. Translate({(0, 0), ((sizecoordx * 2), (sizecoordy / 2 * 8)), ((sizecoordx * 4), (sizecoordy / 2 * 16))}, O) → hintp1
  45. Translate({((sizecoordx * 2), (sizecoordy / 10 * 20)), ((sizecoordx * 3), (sizecoordy / 10 * 30)), ((sizecoordx * 5), (sizecoordy / 10 * 50))}, O) → hintp2
  46. SpeechBubbleRight(S, 9.7, 0.8) → Vieleck2
  47. SpeechBubbleRight(R, 8.7, 0.9) → Vieleck3
  48. Sequence(Text[(("\textsf{" * ReplaceAll["" + ((m * 10)) + "", ".", ","]) * "}"), (x(O) - 0.5, (m * sizecoordy) + y(O) - 0.3), true, true, -0, 1], m, 1, heightcoord - 1) → texty2
  49. Sequence(Text["\textsf{" + (m) + "}", ((m * sizecoordx) + x(O), y(O) - 0.7), true, true, 0, 1], m, 0, widthcoord - 2) → textx3
  50. Translate({(0, 0), (sizecoordx, (sizecoordy / 100 * 120)), ((sizecoordx * 2), (sizecoordy / 100 * 240)), ((sizecoordx * 3), (sizecoordy / 100 * 360)), ((sizecoordx * 4), (sizecoordy / 100 * 480)), ((sizecoordx * 5), (sizecoordy / 100 * 600))}, O) → p3
  51. Join({Sequence[Segment[l1((widthcoord * m) + 1), l1(((m + 1) * widthcoord))], m, 0, heightcoord], Sequence[Segment[l1(m), l1((widthcoord * heightcoord) + m)], m, 1, widthcoord]}) → linescoord
  52. Join({Sequence[Text["\textsf{" + (m) + "}", ((m * sizecoordx) + x(O), y(O) - 0.7), true, true, -0, 1], m, 0, 0], Sequence[Text["\textsf{" + (m) + (("" * "}")), ((m * sizecoordx) + x(O), y(O) - 0.7), true, true, -0, 1], m, 1, widthcoord - 2]}) → textx1
  53. Element({R1, R2, R3, R4, R4}, exnum) → R0