栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 人文期刊 > 电脑报

Scratch对24队随机分组

电脑报 更新时间: 发布时间: 学术归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scratch对24队随机分组

intoweb

1. 问题描述

共有24个国家的球队需要分成4组进行小组赛,现在请你用Scratch编写一个分组程序,将24支球队随机分为4组。

24支球队分别是:塞尔维亚、捷克、波兰、立陶宛、意大利、希腊、俄罗斯、巴西、委内瑞拉、波多黎各、多米尼加、德国、新西兰、突尼斯、加拿大、土耳其、中国、菲律宾、斯洛文尼亚、克罗地亚、塞内加尔、安哥拉、墨西哥、乌拉圭。2. 列表的导入

参赛队伍一共有24支,如果编程时每次都需要重新输入工作量可就太大了。Scratch的列表有导入和导出功能的,右键点击列表就有“导入和导出”菜单,选择文本文件即可导入。列表每项对应文本的一行,文本编码为UTF-8,否则导入会是乱码。3. 解题思路

A:將1到24依次放入一个列表的随机位置,这样就获得了24个数字随机排列的“队伍编号”列表。将“队伍编号”的第一项对应的序号从参赛队中抽取出来放入A分组,并删除“队伍编号”列表的第一项。接着不断将“队伍编号”列表的第一项对应球队抽出放入B、C、D分组,重复6次,将所有球队分配完毕。

B:另外一种解题思路与实际抽签的操作一致,但是编写难度稍高。将参赛的24支队伍放入一个列表中,通过生成随机数(1-24)就可以随机地取出一支队伍,存入第一小组里,把这个队伍从列表中删除,接下来参赛队伍就只有23支了。接着生成(1-23)的随机数再取出一支队伍,并放入第A分组,从列表中删除。以此类推,就如同我们抽签一样,取出一个少一个,A组取6个,然后其他组从剩下的里面再抽。4. 解法A

1) 建立列表“参赛队伍”并右键导入24支队伍名,建立“队伍编号”列表记录随机顺序,建立“ABCD”4个列表记录分组结果。建立临时变量“i”,i=0。点击绿旗清空队伍编号和ABCD列表。

2) 将1-24随机填入“队伍编号”列表。重复执行24次:i=i+1,在队伍编号的第1到队伍编号的项目数之间取随机数项前插入i。

3) 依次将“队伍编号”列表的第1项序号从对应“参赛队伍”列表中提取到A、B、C、D分组列表并删除“队伍编号”列表的第1项。5. 解法B

1) 建立列表“参赛队伍”并右键导入24支队伍名,建立“队伍编号”列表顺序存储1-24个数字,建立“ABCD”4个列表记录分组结果。建立临时变量“i”,i=0。点击绿旗清空队伍编号和ABCD列表。

2) 从“队伍编号”列表中随机抽取1项i,将“参赛队伍”的第i项加入A组,删除“队伍编号”的第i项。这样就随机抽取了1个队伍到A组,下面依次从“参赛队伍”列表中随机抽取到BCD组中,然后开始下一次循环。

两种解法都可以达到对队伍随机分组的目的,我将完整源代码保存在阿尔法营(www.aerfaying.com),你可以搜索“Scratch对24队随机分组”下载后自行分析和改进。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/250170.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号