本文主要是介绍竞赛练一练 第31期:GESP和电子学会相关题目练习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Day20:CIE一级2020.09_小鸡与鸭妈拥抱
1. 准备工作
(1)背景:Farm;
(2)角色:Chick、Duck。
2. 功能实现
(1)角色的初始位置、方向和造型如图所示。
(2)点击绿旗Chick向右走去,边走边切换造型;
(3)点击绿旗Duck向左走去;
(4)2个动物拥抱后停止移动,Duck播放声音“Duck”。
3. 设计思路与实现
(1)角色、舞台背景设置
a. 角色设置
删除默认的小猫角色,然后从角色库中选择 Chick、Duck 添加进来,如下图所示:
b. 舞台背景设置
点击“选择一个背景”,进入背景库。在背景库中找到我们题目要求的背景Farm,添加进来,如下图所示:
(2)脚本编写
编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。
a. 角色:Chick
当点击绿旗时:
-
开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
-
初始化位置:X=-136,Y=-85。
-
初始化方向:面向90°。
-
移到最前面。
-
初始化造型:chick-a。
-
重复执行 16次:(向右走去,边走边切换造型)
-
移动10步。
-
下一个造型。
-
等待0.1秒。
-
b. 角色:Duck
当点击绿旗时:
-
开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
-
将旋转方式设为:左右翻转。
-
初始化方向:面向-90°。
-
初始化位置:X=208,Y=-83。
-
重复执行 16次:(向左走去)
-
移动10步。
-
等待0.1秒。
-
-
播放声音“Duck”。
-
CIE二级2022.06_大鱼吃小鱼CIE二级2022.06_大鱼吃小鱼
1. 准备工作(1)选择背景Underwater1。
(2)删除默认小猫角色,选择角色Shark2和角色Fish。
2. 功能实现
(1)当按下“上键”或“下键”时,Shark2可以上下移动;当按下“左键”或“右键”时,Shark2可以左右移动;
(2)按下“左键”,Shark2面向左,按下“右键”,Shark2面向右;按下“上键”和“下键”,Shark2的方向不变化;
(3)点击绿旗,Fish出现在随机位置;
(4)当Shark2碰到Fish时,会张嘴闭嘴一次,这时Fish会隐藏被“吃掉”,一秒后Fish会重新在随机位置出现。
3. 设计思路与实现
(1)角色、舞台背景设置
a. 角色设置
我们删除默认的角色小猫,在角色仓库中选择题目要求的角色“Shark2”和“Fish”。
b. 舞台背景设置
我们按照题目的要求选择舞台背景“Underwater1”。
(2)脚本编写
编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。
a. 角色:Shark2
新建广播“被吃掉”,表示Shark2已经碰到Fish。
(题目要求:当按下“上键”或“下键”时,Shark2可以上下移动;按下“上键”和“下键”,Shark2的方向不变化;)
当按下向上键时:
-
y坐标增加10。
当按下向下键时:
-
y坐标增加-10。
(题目要求:当按下“左键”或“右键”时,Shark2可以左右移动;按下“左键”,Shark2面向左,按下“右键”,Shark2面向右;)
当按下向左键时:
-
设置旋转方式:左右翻转。
-
面向-90°方向。
-
移动10步。
当按下向右键时:
-
设置旋转方式:左右翻转。
-
面向90°方向。
-
移动10步。
当绿旗被点击时:
-
开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
-
重复执行:
-
换成造型 shark2-a
-
如果碰到Fish,那么(当Shark2碰到Fish时,会张嘴闭嘴一次)
-
换成造型 shark2-b
-
等待0.5秒
-
换成造型 shark2-a
-
广播“被吃掉”
-
-
b. 角色:Fish
当绿旗被点击时:
-
开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
-
初始状态:隐藏。
-
初始位置:随机位置。(Fish出现在随机位置)
当接收到“被吃掉”消息时:
-
隐藏。(Fish会隐藏被“吃掉”)
-
等待1秒。(一秒后Fish会重新在随机位置出现)
-
移动到随机位置。
-
显示。
Day20:CIE三级2019.12_合作画画
猫和狗合作画出一个边长为100,边为蓝色,填充为红色的方块,猫画好后,狗来填充,如下图所示。
1. 准备工作
(1)保留小猫角色,从角色库中选择角色dog1;
(2)保留白色背景。
2. 功能实现
(1)点击绿旗,小猫画出一个边长为100,四边为蓝色的正方形;
(2)小猫画完后,小狗将正方形填充为红色。
3. 设计思路与实现
(1)角色、舞台背景设置
a. 角色设置
按照题目要求,保留默认的小猫角色。
在角色区,点击“选择一个角色”菜单,在角色库中选择“dog1”。
b. 舞台背景设置
默认舞台背景设置,无需修改舞台背景。
(2)脚本编写
编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。
“广播”常常用来进行角色之间的通讯,按照题目的要求,小猫画完后,小狗将正方形填充为红色。我们创建一个消息“填充”,用来通知小狗可以进行填充操作了。
由于Scratch没有填充的积木块,所以遇到填充的操作需要一行一行的绘制直线,该变量“次数”用来记录要绘制的是第几行直线。
a. 角色:小猫
当按下绿棋时:
-
开始:点击绿棋,开始执行代码。
-
初始化舞台:擦除以往绘制的痕迹。
-
初始化位置:移动到舞台的中心(X=0, Y=0)。
-
初始化画笔:粗细为2,颜色为蓝色。此处粗细为2的原因是,小狗绘图时会占用一个像素。
-
落笔,准备绘图。
-
重复执行4次:绘制正方形的四条边
-
移动100步
-
左转90度
-
-
抬笔,停止绘图。
-
移动到正方形的左侧(X=-70, Y=0)。
-
广播“填充”。
b. 角色:dog1
当接收到广播“填充”时:
-
初始化位置:移动到舞台的中心(X=0, Y=0),从下往上绘制红色的直线。
-
初始化变量:次数设为0,记录绘制的行数,正方形的边长为100,用粗细为1的画笔,绘制100行红色的直线即可完成填充的操作。
-
初始化画笔:粗细为1,颜色为红色。
-
落笔,准备绘图。
-
重复执行100次:绘制100行红线
-
移动100步,绘制一条长度为100的红线
-
将“次数”增加1
-
移动到下一行的左端点,X不变,Y变为次数
-
-
抬笔,结束绘图。
-
移动到正方形的右侧(X=170, Y=-60)。
Day20:PTA第04届_开关灯
【题目描述】
假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。
第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。
请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。
【输入描述】
将正整数N存入变量【N】中,用于表示灯的盏数,将正整数M存入变量【M】中表示开关灯的人数。
如下图所示:
【输出描述】
顺次输出关闭的灯的编号,存入变量【result】中,其间用逗号间隔,注意此处用英文状态下的逗号。
如下图所示:
【输入样例】
10
10
【输出样例】
1,4,9
【参考答案】
其他测试用例
【测试用例1】
输入:{"N":37,"M":24}
输出:{"result":["1,4,9,16,26,27,28,29,30,31,32,33,34,35,37"]}
【测试用例2】
输入:{"N":61,"M":53}
输出:{"result":["1,4,9,16,25,36,49,54,55,56,57,58,59,60,61"]}
【测试用例3】
输入:{"N":317,"M":310}
输出:{"result":["1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,311,312,313,314,315,316,317"]}
【测试用例4】
输入:{"N":50,"M":31}
输出:{"result":["1,4,9,16,25,32,33,34,35,37,38,39,40,41,42,43,44,45,46,47,48,50"]}
【测试用例5】
输入:{"N":15,"M":15}
输出:{"result":["1,4,9"]}
【测试用例6】
输入:{"N"57:,"M":38}
输出:{"result":["1,4,9,16,25,36,39,40,41,42,43,44,45,46,47,48,50,51,52,53,54,55,56,57"]}
【测试用例7】
输入:{"N":237,"M":230}
输出:{"result":["1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,231,232,233,234,235,236,237"]}
【测试用例8】
输入:{"N":217,"M":206}
输出:{"result":["1,4,9,16,25,36,49,64,81,100,121,144,169,196,207,208,209,210,211,212,213,214,215,216,217"]}
【测试用例9】
输入:{"N":86,"M":70}
输出:{"result":["1,4,9,16,25,36,49,64,71,72,73,74,75,76,77,78,79,80,82,83,84,85,86"]}
【测试用例10】
输入:{"N":396,"M":146}
输出:{"result":["1,4,9,16,25,36,49,64,81,100,121,144,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,290,291,292,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,324,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395"]}
这篇关于竞赛练一练 第31期:GESP和电子学会相关题目练习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!