猜猜排序规则:交互式数字分类游戏
几何画板及绘图内容加载中,请稍等……
这是一个交互式数学游戏范例,演示如何通过猜测和反馈来识别数字集合的排序规则。核心数学概念包括数的分类(质数、合数、奇数、偶数)、区间划分、集合运算以及条件逻辑。作图要点:使用GeoGebra的RandomElement和Random命令生成随机数字列表,通过KeepIf、Remove、Flatten等命令筛选和整理数据,利用Textfield和InputBox1创建用户输入界面,结合If、Intersection、RemoveUndefined等命令判断用户猜测与预设规则是否匹配,最后用TableText展示结果。该范例适合中学数学课堂或自学,用于训练学生对数字性质的观察与推理能力,同时体验编程式数学建模的乐趣。
GeoGebra 命令及参数
RandomElement({10, 100}) → roundsTypeRandom(0, 10) → roundsNumberKeepIf((round(a / roundsType) * roundsType) ≟ (roundsNumber * roundsType), a, guesses) → roundsListKeepIf(floor(a / 12) ≟ a / 12, a, guesses) → twelveListKeepIf(floor(a / 11) ≟ a / 11, a, guesses) → elevenListKeepIf(floor(a / 10) ≟ a / 10, a, guesses) → tenListKeepIf(floor(a / 9) ≟ a / 9, a, guesses) → nineListKeepIf(floor(a / 8) ≟ a / 8, a, guesses) → eightListKeepIf(floor(a / 7) ≟ a / 7, a, guesses) → sevenListKeepIf(floor(a / 6) ≟ a / 6, a, guesses) → sixListKeepIf(floor(a / 5) ≟ a / 5, a, guesses) → fiveListKeepIf(floor(a / 4) ≟ a / 4, a, guesses) → fourListKeepIf(floor(a / 3) ≟ a / 3, a, guesses) → threeListRandom(5, 100) → aboveBelowNumberKeepIf(a < aboveBelowNumber, a, guesses) → belowListKeepIf(a > aboveBelowNumber, a, guesses) → aboveListKeepIf(IsPrime[q], q, guesses) → primeListRemove(guesses, Join[{primeList, {1, 0}}]) → compositeListKeepIf(floor(x / 2 + 1 / 2) ≟ x / 2 + 1 / 2, guesses) → oddListKeepIf(floor(x / 2) ≟ x / 2, guesses) → evenListFlatten({"rounds", RandomElement[{"even", "odd"}], RandomElement[{"prime", "composite"}], First[Shuffle[{"3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}], 4], RandomElement[{"above", "below"}]}) → rulesRandomElement(rules) → rule1RandomElement(Remove[rules, {rule1}]) → rule2Textfield(guessText) → InputBox1If(guess < 0, true, If[IsInteger[guess], false, true]) → warningIf(rule2 ≟ "prime", primeList, If[rule2 ≟ "composite", compositeList, If[rule2 ≟ "even", evenList, If[rule2 ≟ "odd", oddList, If[rule2 ≟ "even", evenList, If[rule2 ≟ "3", threeList, If[rule2 ≟ "4", fourList, If[rule2 ≟ "5", fiveList, If[rule2 ≟ "6", sixList, If[rule2 ≟ "7", sevenList, If[rule2 ≟ "8", eightList, If[rule2 ≟ "9", nineList, If[rule2 ≟ "10", tenList, If[rule2 ≟ "11", elevenList, If[rule2 ≟ "12", twelveList, If[rule2 ≟ "above", aboveList, If[rule2 ≟ "below", belowList, If[rule2 ≟ "rounds", roundsList, {}]]]]]]]]]]]]]]]]]) → rule2HelperListIf(rule1 ≟ "prime", primeList, If[rule1 ≟ "composite", compositeList, If[rule1 ≟ "even", evenList, If[rule1 ≟ "odd", oddList, If[rule1 ≟ "even", evenList, If[rule1 ≟ "3", threeList, If[rule1 ≟ "4", fourList, If[rule1 ≟ "5", fiveList, If[rule1 ≟ "6", sixList, If[rule1 ≟ "7", sevenList, If[rule1 ≟ "8", eightList, If[rule1 ≟ "9", nineList, If[rule1 ≟ "10", tenList, If[rule1 ≟ "11", elevenList, If[rule1 ≟ "12", twelveList, If[rule1 ≟ "above", aboveList, If[rule1 ≟ "below", belowList, If[rule1 ≟ "rounds", roundsList, {}]]]]]]]]]]]]]]]]]) → rule1HelperListIntersection(rule1HelperList, rule2HelperList) → intersectionListRemove(rule1HelperList, intersectionList) → rule1ListRemove(rule2HelperList, intersectionList) → rule2ListRemove(guesses, Join[{rule1List, rule2List, intersectionList}]) → excludedListRemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[rule1List, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[rule1List / 4])]) → r1ListTableText(r1List) → text8RemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[rule2List, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[rule2List / 4])]) → r2ListRemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[excludedList, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[excludedList / 4])]) → ELRemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[intersectionList, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[intersectionList / 4])]) → ILTableText(r2List) → text5TableText(IL) → text6TableText(EL) → text7
AI 绘图提示语参考
创建一个互动数独游戏,用户需要根据给定的规则猜测数字。首先随机生成一个10到100之间的数字,然后根据这个数字生成一系列满足特定条件的数字列表,如偶数、奇数、质数、合数等。用户需要输入一个猜测的数字,系统会根据规则过滤列表,显示符合条件的数字,并给出反馈。最后,显示所有符合条件的数字列表,包括偶数、奇数、质数、合数等。
以上提示语为根据原始绘图命令整理而来,仅供参考。