有效数字自我检查

有效数字自我检查
几何画板及绘图内容加载中,请稍等……
2020-03-20 17:54
这是一个关于有效数字的自我检查练习。学生将选择给定的数值和有效数字,并尝试输入正确的答案。此练习涉及有效数字的概念,通过GeoGebra命令Sequence, Length, Element, Frequency, Unique, Min, Reverse, Textfield, Insert, UnicodeToText, Join, Random, Remove, Text, LaTeX, First, Sum等进行构造。适合初中及以上学生进行自我检查和学习。

GeoGebra 命令及参数

  1. TextToUnicode(Element[listnumB21toB40, SelectedIndex[listnumB21toB40]]) → F22
  2. If(Defined[IndexOf[46, F22]], IndexOf[46, F22], 0) → G22
  3. If(G22 > 0, Last[F22, Length[F22] - G22], {}) → I22
  4. Sequence(((Element[I22, i] - 48) * 10^(Length[I22] - i)), i, 1, Length[I22]) → I26, {5000, 400, 90, 0}
  5. Length(TextToUnicode[Text[(I27 * 10^(Length[TextToUnicode[Text[I27]]] - 2))]]) → M27
  6. Sequence(Element[I22, i] - 48, i, 1, Length[I22]) → I28, {5, 4, 9, 0}
  7. If(G22 > 0, First[F22, G22 - 1], F22) → H22
  8. Sequence(Element[H22, i] - 48, i, 1, Length[H22]) → H28, {1, 2, 9}
  9. Element(listspecifiedsf, SelectedIndex[listtxtspecifiedsf]) → E29
  10. If(E29 - G22 + 1 < 0, 0, If[H23 ≟ 0, E29 + J27 - 1, E29 - G22 + 1]) → J29
  11. Sequence(If[i ≟ J29 ∧ Element[I28, 1 + i] > 4, 1, 0], i, 1, Length[I28]) → I29
  12. If(G22 > 0, First[((I28 + I29) * Sequence[If[i < J29 + 1, 10^(J29 - i), 0], i, 1, Length[I28]]), J29], {}) → I30
  13. If(H23 ≟ 0 ∧ J29 > 1, Sequence[If[i ≟ Length[H28], floor(Sum[I30] / 10^(Length[I30])), 0], i, 1, Length[H28]], Sequence[0, i, 1, Length[H28]]) → J33
  14. Sequence(Mod[floor(Sum[Last[I30, Length[I30] - i + 1]] / 10^(Length[I30] - i)), 10], i, 1, Length[I30]) → I31
  15. If(G22 ≟ 0, Sequence[0, i, 1, Length[H28]], Sequence[If[i ≟ Length[H28] ∧ E29 > G22, Sum[I30] / 10^(Length[I31]), 0], i, 1, Length[H28]]) → J32
  16. If(G22 ≟ 0, Sequence[0, i, 1, Length[H28]], If[Element[I30, 1] / 10^(Length[I30] - 1) > 9 ∧ E29 > G22 - 1, Sequence[If[i ≟ Length[H28], 1, 0], i, 1, Length[H28]], Sequence[0, i, 1, Length[H28]]]) → J31
  17. Sequence(If[i ≟ E29 ∧ Element[H28, 1 + i] > 4, 1, 0], i, 1, Length[H28]) → H29
  18. Sequence((Element[H30, i] * 10^(Length[H30] - i)), i, 1, Length[H22]) → H31, {100, 30, 0}
  19. If(H23 ≟ 0 ∧ Element[J33, 1] ≟ 1, UnicodeToText[First[K32, Length[K32] - 1]], UnicodeToText[K32]) → K33
  20. Sequence(Text[Element[I31, i]], i, 1, Length[I31]) → I32
  21. If(E29 > G22 - 1, G22 - 1, E29) → E30
  22. If(E30 < G22 - 1, G22 - 1, E30) → E31
  23. TextToUnicode(inputanswertxt) → l1
  24. Frequency(Sort[l1]) → l6
  25. Unique(Sort[l1]) → l4
  26. If(Element[l4, 1] ≟ 48, Element[l6, 1], If[Element[l4, 2] ≟ 48, Element[l6, 2], 0]) → numberofzeros
  27. If(Defined[IndexOf[46, l1]], IndexOf[46, l1], -1) → p
  28. Min(Sequence[If[Defined[IndexOf[i, l1]], IndexOf[i, l1], 11], i, 49, 57]) → fnum
  29. Reverse(l1) → l2
  30. Length(l1) → k
  31. If(Defined[k - IndexOf[48, l2] + 1], k - IndexOf[48, l2] + 1, 0) → lzero
  32. Textfield(inputanswertxt) → InputBox1
  33. Sequence(If[Defined[IndexOf[i, l1]], IndexOf[i, l1], 11], i, 49, 57) → l3
  34. If(Defined[IndexOf[48, l1]], IndexOf[48, l1], 0) → fzero
  35. If(SelectedIndex[listChoices1] ≟ answerchoice, true, false) → answercorrect
  36. TextToUnicode(Text[D1]) → E1
  37. TextToUnicode(Text[D2]) → E2
  38. TextToUnicode(Text[D3]) → E3
  39. Insert({46}, Join[{TextToUnicode[Text[D4]], RandomElement[{{48}, {48, 48}, {48, 48, 48}}]}], Random[2, Length[TextToUnicode[Text[D4]]]]) → E4
  40. TextToUnicode(Text[D5]) → E5
  41. UnicodeToText(E1) → F1
  42. UnicodeToText(E2) → F2
  43. UnicodeToText(E3) → F3
  44. UnicodeToText(E4) → F4
  45. UnicodeToText(E5) → F5
  46. Join({TextToUnicode[Text[D6]], RandomElement[{{48}, {48, 48}, {48, 48, 48}}]}) → E6
  47. UnicodeToText(E6) → F6
  48. Random(1, sfdm) → sfreq
  49. TextToUnicode(Text[D11]) → E11
  50. If(Element[E11, 1] ≟ 48 ∧ Element[E11, 2] ≟ 46, "Number less than 1", "number greater than 1") → F11
  51. UnicodeToText(Remove[E11, {48, 46}]) → G11
  52. Unique(Sequence[IndexOf[48, TextToUnicode[G11], i], i, 1, Length[TextToUnicode[G11]]]) → G13
  53. Length(TextToUnicode[G11]) → G12
  54. Sequence(i, i, 1, G12) → H12
  55. Remove(H12, G13) → H13
  56. Text(F17) → F18
  57. LaTeX(F18, false) → F19
  58. First(G11, 5) → I11
  59. Sequence(((Element[H22, i] - 48) * 10^(Length[H22] - i)), i, 1, Length[H22]) → H26, {100, 20, 9}
  60. Sum(H26) → H27
  61. If(Element[H28, E29 + 1] > 5, 1, 0) → G29
  62. TextToUnicode(Text[E13]) → E14
  63. Sequence(Mod[floor(Sum[Last[G30, E31 - i + 1]] / 10^(E31 - i)), 10], i, 1, E31) → G31
  64. TextToUnicode(Text[E23]) → F23
  65. TextToUnicode(Text[E22]) → F24
  66. Sequence(i, i, 1, 1) → J28
  67. Reverse(TextToUnicode[Text[I27]]) → M26
  68. Sequence(If[i < E29 + 1, 1, 0], i, 1, Length[H28]) → H37
  69. Length(H28) → H36
  70. TextToUnicode(Element[listnumB21toB40, SelectedIndex[listnumB21toB40]]) → F20
  71. Element(listspecifiedsf, SelectedIndex[listtxtspecifiedsf]) → E27