竞赛练一练 第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

图片

当点击绿旗时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。

  2. 初始化位置:X=-136,Y=-85。

  3. 初始化方向:面向90°。

  4. 移到最前面。

  5. 初始化造型:chick-a。

  6. 重复执行 16次:(向右走去,边走边切换造型)

    • 移动10步。

    • 下一个造型。

    • 等待0.1秒。

b. 角色:Duck

图片

当点击绿旗时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。

  2. 将旋转方式设为:左右翻转。

  3. 初始化方向:面向-90°。

  4. 初始化位置:X=208,Y=-83。

  5. 重复执行 16次:(向左走去)

    • 移动10步。

    • 等待0.1秒。

  6. 播放声音“Duck”。

  7. 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的方向不变化;)

当按下向上键时:

  1. y坐标增加10。

当按下向下键时:

  1. y坐标增加-10。

(题目要求:当按下“左键”或“右键”时,Shark2可以左右移动;按下“左键”,Shark2面向左,按下“右键”,Shark2面向右;)

当按下向左键时:

  1. 设置旋转方式:左右翻转。

  2. 面向-90°方向。

  3. 移动10步。

当按下向右键时:

  1. 设置旋转方式:左右翻转。

  2. 面向90°方向。

  3. 移动10步。

图片

当绿旗被点击时

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。

  2. 重复执行:

    • 换成造型 shark2-a

    • 如果碰到Fish,那么(当Shark2碰到Fish时,会张嘴闭嘴一次)

      • 换成造型 shark2-b

      • 等待0.5秒

      • 换成造型 shark2-a

      • 广播“被吃掉”

b. 角色:Fish

 

图片

当绿旗被点击时

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。

  2. 初始状态:隐藏。

  3. 初始位置:随机位置。(Fish出现在随机位置)

当接收到“被吃掉”消息时

  1. 隐藏。(Fish会隐藏被“吃掉”)

  2. 等待1秒。(一秒后Fish会重新在随机位置出现)

  3. 移动到随机位置。

  4. 显示。


Day20:CIE三级2019.12_合作画画

猫和狗合作画出一个边长为100,边为蓝色,填充为红色的方块,猫画好后,狗来填充,如下图所示。

图片

1. 准备工作

(1)保留小猫角色,从角色库中选择角色dog1;

(2)保留白色背景。

2. 功能实现

(1)点击绿旗,小猫画出一个边长为100,四边为蓝色的正方形;

(2)小猫画完后,小狗将正方形填充为红色。

3. 设计思路与实现

(1)角色、舞台背景设置

a. 角色设置

按照题目要求,保留默认的小猫角色。

在角色区,点击“选择一个角色”菜单,在角色库中选择“dog1”。

图片

b. 舞台背景设置

默认舞台背景设置,无需修改舞台背景。

(2)脚本编写

编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。

“广播”常常用来进行角色之间的通讯,按照题目的要求,小猫画完后,小狗将正方形填充为红色。我们创建一个消息“填充”,用来通知小狗可以进行填充操作了。

图片

由于Scratch没有填充的积木块,所以遇到填充的操作需要一行一行的绘制直线,该变量“次数”用来记录要绘制的是第几行直线。

图片

a. 角色:小猫

 

图片

当按下绿棋时:

  1. 开始:点击绿棋,开始执行代码。

  2. 初始化舞台:擦除以往绘制的痕迹。

  3. 初始化位置:移动到舞台的中心(X=0, Y=0)。

  4. 初始化画笔:粗细为2,颜色为蓝色。此处粗细为2的原因是,小狗绘图时会占用一个像素。

  5. 落笔,准备绘图。

  6. 重复执行4次:绘制正方形的四条边

    • 移动100步

    • 左转90度

  7. 抬笔,停止绘图。

  8. 移动到正方形的左侧(X=-70, Y=0)。

  9. 广播“填充”。

b. 角色:dog1

 

当接收到广播“填充”时:

  1. 初始化位置:移动到舞台的中心(X=0, Y=0),从下往上绘制红色的直线。

  2. 初始化变量:次数设为0,记录绘制的行数,正方形的边长为100,用粗细为1的画笔,绘制100行红色的直线即可完成填充的操作。

  3. 初始化画笔:粗细为1,颜色为红色。

  4. 落笔,准备绘图。

  5. 重复执行100次:绘制100行红线

    • 移动100步,绘制一条长度为100的红线

    • 将“次数”增加1

    • 移动到下一行的左端点,X不变,Y变为次数

  6. 抬笔,结束绘图。

  7. 移动到正方形的右侧(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"]}

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少儿编程课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值