在数轴上估算有理数的位置

在数轴上估算有理数的位置
几何画板及绘图内容加载中,请稍等……
2023-07-25 04:11
本范例通过交互式数轴,演示如何估算有理数(包括分数、小数、混合数、π及根式等)在数轴上的大致位置。核心数学概念是有理数与无理数的区分、实数的大小比较以及数轴上的对应关系。作图要点包括:使用RandomUniform、Sequence、Zip等命令生成随机有理数,通过Segment、Polygon、PointIn等构造数轴和可拖动的估算点,利用Text和LaTeX显示数字,并借助动画比较用户估算与精确位置的差异。适合6-8年级学生练习实数感知,也可用于教师课堂演示,帮助学生建立数感并理解有理数的稠密性。

GeoGebra 命令及参数

  1. RandomUniform(0, 0.99, 300) → allRandomSeeds, {0.8862852403380994, 0.3795996545545556, 0.1396315069618163, 0.10688178672636935, 0.4568954586972807, 0.18958140925270006, 0.35679452574547404, 0.5386007800632817, 0.08909081884616575, 0.23906203200457382, 0.40706312290229135, 0.10833365404507747, 0.5626787368797462, 0.21968260509373522, 0.22718639967429333, 0.15845478913584213, 0.7577291753987803, 0.15153577775636148, 0.418137971258725, 0.2037465341815016, 0.9100455749199458, 0.0386922914057523, 0.6538079955586904, 0.4212761421338602, 0.8641047187339502, 0.10995762053435855, 0.45840131354593516, 0.5421882302995148, 0.5503029297573829, 0.7150724572951696, 0.46103403113198455, 0.30692942821812413, 0.09938962122096401, 0.5762867640614526, 0.4812839439322937, 0.10310795694970996, 0.5889531626112674, 0.41839192980733986, 0.955652303260974, 0.08131385431667135, 0.6247425838052275, 0.3768873784271965, 0.6420319445865474, 0.9487857460503125, 0.4734669428027025, 0.3439868933841211, 0.6873542331654973, 0.9638087020144728, 0.9235088771340954, 0.2856372415365068, 0.7425998607058394, 0.0051626411543140745, 0.6257209637958459, 0.06962530483106132, 0.9093102937864999, 0.6008143778990099, 0.8881439125754915, 0.6351926646794941, 0.9426252247695832, 0.8283563170804437, 0.9660928229028262, 0.5083547274646639, 0.45769750570771633, 0.09644370365945222, 0.882602438255507, 0.3543393088737312, 0.3991007847718684, 0.8416667804257735, 0.9637052575115992, 0.19921337733692415, 0.5965460737069248, 0.978918302455275, 0.5384357539721952, 0.1268583105403576, 0.6448623586009731, 0.8553768544222496, 0.16481174260601286, 0.6249839715922759, 0.0317724904873086, 0.4287243959286561, 0.32033881145343107, 0.734837743601587, 0.9635090159941799, 0.7691523175611147, 0.3788157678305324, 0.8536700759651705, 0.14576623129740274, 0.2720832002998607, 0.23438976346577445, 0.7668588586892433, 0.9858729570308602, 0.05434592000264929, 0.05891611604011473, 0.6578748143881885, 0.16139712257969133, 0.9407900367659309, 0.19972389462687823, 0.09898703066291711, 0.24065637130192977, 0.08101053812716516, 0.371869937886372, 0.8237612910433951, 0.8018108550318516, 0.35697751429160923, 0.9118841212485675, 0.9539967887426951, 0.4793521672737839, 0.6519256986207511, 0.12886633531247615, 0.49877477222871, 0.6098794070494923, 0.12885671561094636, 0.3135903544907936, 0.5717608973354317, 0.01306614365172756, 0.183442518545535, 0.5570021231146747, 0.5848060447566721, 0.02867412184915023, 0.9009918109131907, 0.8361700247947125, 0.46123307576567985, 0.23635747013278566, 0.3104513149161876, 0.548352326545298, 0.6509758728641021, 0.8718279460777749, 0.6301621701768342, 0.2523914349087334, 0.03195391930613914, 0.21071480594244263, 0.10027708513000323, 0.8911274307906433, 0.8477199187175175, 0.940154698600736, 0.8953671109584949, 0.6089429697071918, 0.07050989738565537, 0.9677852259642596, 0.9478071191483564, 0.5949095936231016, 0.7513542328946737, 0.6183920469243054, 0.8580276697717246, 0.6542994686878277, 0.19487516101934818, 0.8499732459765479, 0.9016557161185508, 0.34946010997567817, 0.18580059879026353, 0.9134356837648324, 0.3159403789648552, 0.7852186344501534, 0.40706546738114385, 0.08352684389027652, 0.978670406479282, 0.6840901110799563, 0.3856517266850254, 0.36293168363963124, 0.8720372823353972, 0.2826092034771529, 0.2820343739995517, 0.3567279676564148, 0.7315847481277028, 0.462086868052477, 0.1522557215717155, 0.4705943770942281, 0.4265073705441264, 0.5150134648554823, 0.4682411358902327, 0.2733046111387553, 0.1821220313066364, 0.602187837468153, 0.7119998131011179, 0.8621169068428575, 0.20833398673758746, 0.3154457868719406, 0.5328199786613387, 0.6686816314492031, 0.7293547763880606, 0.3465946048995242, 0.5634727496133239, 0.2530415747785365, 0.24980244668065063, 0.6748300100361441, 0.30178061609358114, 0.3641873669133522, 0.8606245878697247, 0.37251893034514433, 0.45768566021558615, 0.757457225266429, 0.04503339007365067, 0.5027772705782054, 0.2131694713248414, 0.8018336053431498, 0.5598271971284984, 0.5617530884062785, 0.2930311630517896, 0.44389079580505253, 0.591095716423777, 0.10394685480873127, 0.40862146276520506, 0.6297856446132524, 0.8353673236319872, 0.2902566702548297, 0.6441602803143814, 0.8722604206144617, 0.2977543492304799, 0.5557320540740521, 0.5162319835219517, 0.16613998784179917, 0.8775879437415486, 0.4372520771320483, 0.1114567979983786, 0.16325691581689455, 0.269407353077365, 0.29051331827493293, 0.345178677297768, 0.2761266438305287, 0.5529787222015112, 0.620820938805612, 0.715289051384556, 0.809021216170884, 0.06026685815034108, 0.33322084733139923, 0.9700229714650787, 0.24535337591093948, 0.34996845361034995, 0.2644933843055673, 0.14671835381517567, 0.3014846584089951, 0.891339032253746, 0.19244882267295282, 0.9801205498434998, 0.4692088772274992, 0.04860583378020918, 0.4668227007857876, 0.42384426365552536, 0.22223951149047147, 0.8952570901515046, 0.31086339600858903, 0.7370711610717238, 0.18604238525432282, 0.6039337254517378, 0.9234373742161064, 0.38046606190219817, 0.3853068037165181, 0.8625226466897166, 0.4981468661142069, 0.010636627929622123, 0.5292365144223039, 0.1203610833730638, 0.25856273058056994, 0.0512400231171747, 0.3116685298482921, 0.6002097059467947, 0.8472197994641616, 0.3510576083994482, 0.6507908270291946, 0.781837725338092, 0.4505043409366871, 0.7150126708929414, 0.8619319003895344, 0.9116861429269894, 0.0019837836071658265, 0.043197951693700366, 0.6565332532329843, 0.290136180577627, 0.4430854311393428, 0.44550907682639496, 0.09099222197690253, 0.7134073167189344, 0.7423266059936643, 0.4254470303888063, 0.5905764303605111, 0.021045794722431052, 0.912530496464629, 0.11605643108714164, 0.4060619161423682, 0.8323365757460777, 0.42963222998367295, 0.03380935658490451, 0.7941361682206258, 0.9757831825862966, 0.8267871332789397, 0.40252215746410935, 0.7969329071092451, 0.5350470948766128, 0.5335376779134209, 0.7991112362645222, 0.3013295163379593, 0.43242437763796476, 0.3417786051598024, 0.27614649855701684, 0.624839347432753, 0.8070602697124882, 0.4081791708215654, 0.2827541754545424, 0.08206901283025352, 0.46966277678604296}
  2. Take(allRandomSeeds, randIndex, randIndex + numRandoms - 1) → currentRandomSeeds
  3. Element({2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19}, 1 + floor((currentRandomSeeds(2) * 12))) → randomRadicand
  4. Element({1, 1, pi, abs(sqrt(randomRadicand)), sqrt(randomPerfectSquare), 1}, caseNum) → numberTestValue
  5. RemoveUndefined(Zip[If[(numberTestValue * abs(A)) ≤ 20, A], A, {-6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6}]) → possibleCoeffs
  6. Element(possibleCoeffs, 1 + floor((currentRandomSeeds(3) * Length[possibleCoeffs]))) → randomCoeff
  7. RemoveUndefined(Sequence[If[GCD[A, randomDenominator] ≠ randomDenominator, A], A, 1, (randomDenominator * 20)]) → possibleNumers
  8. Element(possibleNumers, 1 + floor((currentRandomSeeds(3) * Length[possibleNumers]))) → randomNumerator
  9. Element({randomDecimal, randomNumerator / randomDenominator, (randomCoeff * pi), (randomCoeff * sqrt(randomRadicand)), (randomCoeff * sqrt(randomPerfectSquare)), randomNumerator / randomDenominator}, caseNum) → currentNumber
  10. Segment((numberLineXstart - numberLineLength / (upperLimit - lowerLimit), numberLineY), (numberLineXstart + numberLineLength + numberLineLength / (upperLimit - lowerLimit), numberLineY)) → numberLineSegment
  11. Polygon({Point[numberLineSegment, 0] + (0, Max[x(boxSize), y(boxSize)] / 2 + 18), Point[numberLineSegment, 0] + (0, allowedAreaHeight), Point[numberLineSegment, 1] + (0, allowedAreaHeight), Point[numberLineSegment, 1] + (0, Max[x(boxSize), y(boxSize)] / 2 + 18)}) → allowedArea
  12. PointIn(allowedArea) → centerTextPoint
  13. Element({0.2, 0.2, 0.3, radicalTolerance, 0.1, 0.2}, caseNum) → tolerance
  14. Polygon(Zip[PixelsToPoint[Corner[1], Corner[3], Corner[5], A], A, {(pixelsLeft, pixelsTop), (pixelsLeft, y(Corner[5]) - pixelsBottom), Corner[5] - (pixelsRight, pixelsBottom), (x(Corner[5]) - pixelsRight, pixelsTop)}]) → borderBox
  15. Corner(5) → layoutAppSize
  16. Segment(A, B) → displaySegment
  17. expandSegment(A, B, (pulsing * 7), Corner[1], Corner[3], Corner[5]) → pulsingObject
  18. onboardingTextOffset(Corner[onboardingText, 1], Corner[onboardingText, 3], onboardingCase, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset
  19. Element({If[layoutX ≟ 16, layoutX - 5, 11], layoutX - 5}, layoutCase) → layoutHintSolnX
  20. Sequence(Point[{numberLineXstart + (i * numberLineLength / ((upperLimit - lowerLimit) / minorTickFrequency)), numberLineY}], i, 0, (upperLimit - lowerLimit) / minorTickFrequency) → minorTickLocations
  21. Sequence(Point[{numberLineXstart + (i * numberLineLength / ((upperLimit - lowerLimit) / majorTickFrequency)), numberLineY}], i, 0, (upperLimit - lowerLimit) / majorTickFrequency) → majorTickLocations
  22. Sequence(Point[{numberLineXstart + (i * numberLineLength / ((upperLimit - lowerLimit) / textFrequency)), numberLineY}], i, 0, (upperLimit - lowerLimit) / textFrequency) → textLocations
  23. Zip(Segment[AAA + (0, (-majorTickSize)), AAA + (0, majorTickSize)], AAA, majorTickLocations) → majorTicks
  24. Zip(Segment[AAA + (0, (-minorTickSize)), AAA + (0, minorTickSize)], AAA, minorTickLocations) → minorTicks
  25. Sequence(Point[{mapper(lowerLimit + (i * numberTextFrequency)), numberLineY}], i, 0, (upperLimit - lowerLimit) / numberTextFrequency) → numberTextLocations
  26. Point({400, 400}) → textStartPoint
  27. Zip(Text[reverseMapper(x(AAA)), AAA + If[reverseMapper(x(AAA)) ≤ -10, ((3 * x(textAdjuster)), y(textAdjuster)), If[reverseMapper(x(AAA)) < 0 ∨ reverseMapper(x(AAA)) ≥ 10, ((2 * x(textAdjuster)), y(textAdjuster)), textAdjuster]]], AAA, textLocations) → numberLineText
  28. Segment((x(previousLocation), y(centerTextPoint) - boxHeight / 2), (x(previousLocation), numberLineY)) → oldPositionSegment
  29. Zip(Point[{mapper(AAA), numberLineY}], AAA, oldGuesses) → oldGuessMarks
  30. Circle(centerTextPoint, Max[x(boxSize), y(boxSize)] / 2 + 2) → numberBox
  31. Text(currentNumber, (0, 0.1), true, true) → text2
  32. Circle(centerTextPoint, Max[x(boxSize), y(boxSize)] / 2 + 2) → numberOutlineSolution
  33. Segment(centerTextPoint, (x(centerTextPoint), numberLineY)) → positionSegment
  34. Segment(centerTextPoint, (x(centerTextPoint), numberLineY)) → correctSegment
  35. Point({mapper(currentNumber), y(centerTextPoint)}) → correctLocation

AI 绘图提示语参考

绘制一条水平数轴,从-6到6,带有刻度线和数字标签。在数轴上方生成一个可拖动的圆形标记,用于估计一个随机有理数的位置。该数可能是分数、小数、π的倍数或根式,显示在数轴上方的一个方框中。同时显示一个垂直虚线连接标记与数轴上的精确位置,并保留之前猜测的痕迹。整个图形包含一个可交互区域,允许用户拖动标记并比较估计值与实际值。
以上提示语为根据原始绘图命令整理而来,仅供参考。