活动时间 从2023年 1月1日至1月21日,每天一道编程题。
本次打卡的规则如下:
(1)小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。
(2)小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群,表示完成了今天的打卡。当天晚上,我会把题目的答案发到群内给小朋友们做个参考。
Day01:2021.12_聪明的小猫
有3张卡片,每张卡片上面分别写着1、2、3,从中抽出一张、两张、三张,按任意次序排列起来,可以得到不同的一位数、两位数、三位数。请编写程序数出其中的偶数和奇数分别是多少个?
1. 准备工作
(1)保留小猫角色和白色背景。
2. 功能实现
(1)自制一个“初始化列表”的积木,将组合得到的一位数、两位数、三位数,一个一个加入到“组成的数”的列表中;
(2)点击绿旗,先初始化列表,再判断列表中每个数是奇数还是偶数,并记录判断结果;
(3)说出奇数的个数和偶数的个数。
Day02:2022.06_绘制多变的正方形
1. 准备工作
(1)默认小猫角色;
(2)默认空白背景。
2. 功能实现
(1)隐藏角色,以舞台区的左下角为起点;
(2)画出一个边长为10的正方形;
(3)如下图所示,沿着同样的方向继续画出正方形,每次边长增加10;
(4)边长最大不超过360。
Day03:2022.03_早餐组合
小猫家附近的早餐店会供应两种饮料和四种点心,饮料和点心只能各选一种,问共有多少种不同的早餐搭配?
饮料:豆浆,牛奶
点心:蛋糕、油条、饼干、面包
1. 准备工作
(1)保留舞台白色背景和默认小猫角色;
(2)建立名为“点心”、“饮料”和“方案”的列表。
2. 功能实现
(1)点击绿旗,两种饮料会被添加到列表“饮料”中,四种点心会被添加到列表“点心”中;
(2)编写程序将饮料和点心的全部组合保存到列表“方案”中;
(3)注意列表“方案”中的保存格式为 饮料名+点心名,如“豆浆蛋糕”。
Day04:2020.06_正话反说
正话反说是一个非常考验反应力的游戏,请设计一个正话反说的游戏。
1. 准备工作
(1)删除小猫,添加“Monkey”角色;
(2)保留白色背景。
2. 功能实现
(1)当点击绿旗,小猴询问“请出题”;
(2)输入题目,题目保存在“正话反说题目”列表中;
(3)小猴说出答案2秒,答案保存在“正话反说答案”列表中;
(4)小猴继续询问“请出题”,继续游戏,直到输入“结束”,结束游戏。
Day05:2021.06_词语接龙
小猫从“中国"开始岀题,以“国”字开头接下一个词语,如果输入的不是两字词语或者输入的词语不是以“国”开头,游戏结束。
1. 准备工作
(1)保留舞台默认白色背景及小猫角色;
(2)建立名为“词语接龙”的列表。
2. 功能实现
(1)点击绿旗,将中国加入到列表后,小猫询问“中国,请输出以“国”开头的词语”;
(2)输入词语,如果用户输入的不是两字词语或者词语不以“国”开头,就说“游戏结束”,否则将正确的词语加入列表;
(3)继续询问,例如如果第2步输入的是“国家”,小猫继续询问“国家,请输入以“家”开头的两字词语”,依次类推,直到游戏结束。
Day06:2020.09_数字之和
编写程序,要求用户输入一个正整数,程序将其每位数字相加后显示。
1. 准备工作
(1)保留舞台上的小猫角色。
2. 功能实现
(1)小猫询问并等待“请输入一个正整数”;
(2)计算各位之和;
(3)小猫说“xxxx的各位之和为xxxx”;
(4)例如输入“3456”,说“3456各位之和为18”。
Day07:2022.12_求最大公约数
如果6除以2的余数是0,那么我们就说2是6的约数。4除以4的余数是0,4也是4的约数。同理可以求出,4的约数有1、2和4,6的约数有1、2、3和6。两个数的最大公约数是指两个数相同的约数中最大的那一个,如4和6两个数的最大公约数是2。
辗转相除法求最大公约数的步骤如下:
正整数a和b(a>b),
步骤①:如果a除以b的余数m等于0,那么a和b的最大公约数是b。
步骤②:如果a除以b的余数m不等于0,那么将a的值设为b,将b的值设为m,重复进行步骤①。
请你根据上述方法编写程序求出两个整数的最大公约数。
1. 准备工作
(1)保留小猫角色,默认位置;
(2)白色背景。
2. 功能实现
(1)建立两个变量a和b,将这两个变量设为1至99之间的随机数;
(2)根据上面给出的步骤使用递归法,求这两个数a和b的最大公约数;
(3)最终小猫能正确说出这两个数的最大公约数,输出的格式为“最大公约数为X”,其中X为通过程序计算出来的两个数的最大公约数的值。
Day08:2019.12_太空大战
1. 准备工作
(1)选择Galaxy背景;
(2)选择Rocketship角色、Ball角色和Balloon1角色。
2. 功能实现
(1)点击绿旗后,Rocketship角色始终跟随鼠标移动,计时器开始计时;
(2)Balloon1角色出现在舞台上方的随机位置,大小随机,造型随机,间隔随机0.5-3秒后,更换位置、大小和造型,如此重复;
(3)点击鼠标后,发射子弹。Ball角色从当前的Rocketship角色位置,向上方飞出,碰到边缘后,消失。连续点击鼠标,可连续发射子弹;
(4)子弹碰到Balloon1角色后,Balloon1角色消失,得分增加1,播放声音“pop”提示。等待随机0.5-3秒后,Balloon1角色重新出现在舞台上方的随机位置。
(5)游戏运行20秒后,说出得分5秒后,停止运行。
Day09:2022.03_统计身高
列表中有10个同学的身高数据,编写程序, 将高于平均身高的数据找出来。
1. 准备工作
(1)保留小猫角色及白色默认背景;
(2)建立名为“身高1”和“身高2”的列表。
2. 功能实现
(1)点击绿旗,产生10个150-170的随机数,保存到列表“身高1”中;
(2)计算平均身高;
(3)将列表“身高1”中大于平均身高的数据保存到列表“身高2”中。
Day10:2022.03_求最大公约数
1. 准备工作
(1)保留默认白色背景和小猫角色。
2. 功能实现
(1)输入两个正整数;
(2)小猫说出这两个数的最大公约数。
Day11:2022.09_颜色搭配
某水杯有多种颜色供顾客挑选,杯身有黑、白2种颜色,杯盖有蓝、红2种颜色,杯带有紫、粉、黄3种颜色,该水杯可以搭配出多少种不同的颜色方案?
1. 准备工作
(1)保留默认白色背景和小猫角色;
(2)创建名为“杯身”、“杯盖”、“杯带”和“方案”的列表。
2. 功能实现
(1)点击绿旗,2种颜色添加到“杯身”列表,2种颜色添加到“杯盖”列表,3种颜色添加到“杯带”列表;
(2)请编写程序将杯身、杯盖和杯带的全部组合保存到列表“方案”中;
(3)列表“方案”中的保存格式为杯身颜色+杯盖颜色+杯带颜色,如“黑红黄”。
Day12:2021.12_森林运动会
在森林运动会中,小猫、小狗、小兔子、乌龟、小猴子参加了800米耐力跑项目,分别耗时3分25秒、4分15秒、3分45秒、4分45秒、4分5秒。请设计程序实现自动排名。
排序前
排序后
1. 准备工作
(1)保留小猫角色及空白背景;
2. 功能实现
(1)建立名为“耐力跑”的列表,用于记录运动员的成绩,以秒为单位;
(2)点击绿旗,初始化列表,依次往列表中加入:205,255,225,285,245;
(3)点击小猫,对运动员的成绩进行降序排列。
Day13:2022.09_班级成绩处理
三年级1班有36个小朋友,某次数学考试,同学们的成绩在78-100之间,求出该班学生的平均分和成绩优秀的人数(成绩大于85分)。
1. 准备工作
(1)默认小猫角色,默认白色背景;
(2)创建名为“成绩单”的列表。
2. 功能实现
(1)点击绿旗,产生36个78-100的随机数,保存到列表中,数值可重复,如图1;
(2)计算平均值,注意使用四舍五入去掉小数,小猫说“平均分是:XX”2秒,如图2;
(3)统计成绩大于85分的人数,小猫说“成绩优秀的人数是:XX”2秒,如图3。
Day14:2019.12_打棒球
1. 准备工作
(1)选择Baseball 1背景;
(2)选择Batter角色和Tennis Ball角色。
2. 功能实现
(1)按下空格键,Batter和Tennis Ball移到适当的位置,准备击球;
(2)按下空格键,Batter挥动球杆后,Tennis Ball向右移动,直到碰到舞台边缘后消失;
(3)再次按下空格键,可以再次挥动球杆,Tennis Ball再次从Batter旁边向右飞出。
Day15:2020.06_小猴数草莓
小猴摘了一筐草莓,它拿出来数一数有多少颗。第一行放1颗,第二行放2颗,第三行放3颗,第四行放4颗,第五行放5颗。一边摆一边数,最后,说出草莓的总数。
1. 准备工作
(1)背景为“Forest”;
(2)角色小猴“Monkey”、草莓“Strawberry”。
2. 功能实现
(1)调整小猴和草莓的大小(大小的具体数值自定义);
(2)小猴说:“今天摘了多少颗草莓呢?数一数吧!”2秒;
(3)第一行1颗草莓,第二行2颗,第三行3课,第四行4颗,第五行5颗,注意草莓要整齐排列;
(4)每出现一颗草莓,小猴就说出当前草莓的数量,例如第一颗草莓出来,小猴说“1”, 第二颗出来,说“2”,第三颗出来,说“3”;
(5)最后小猴说:“一共15颗草莓”2秒,程序结束;
请注意:只能使用一个Strawberry角色,不能通过编辑草莓造型的方法实现。
Day16:2021.12_质数判断器
质数又叫素数,是在大于1的自然数中,除1和其本身以外没有其他因数的自然数。请设计一个质数判断器。
1. 准备工作
(1)保留小猫角色和白色背景。
2. 功能实现
(1)通过询问并等待输入一个大于1的自然数;
(2)判断输入的数是否是质数,并说出判断结果。
Day17:2020.09_创意画图
观察下边图形。尝试编写程序绘画下图效果。
1. 准备工作
(1)隐藏小猫角色;
(2)白色背景;
2. 功能实现
用画笔工具,绘制三角形,三角形的边长从40开始,每画一个三角形,边长增加2,并旋转10°,直到边长大于120停止程序。
Day18:2021.03_程序优化
下图第一行有1个正三角形,第二行有2个正三角形,第三行有3个正三角形,每一行的第1个正三角形是上下对齐的。
小刚想绘制这个图形,便编写了如下图所示的程序,请根据要求优化程序。
1. 准备工作
(1)保留舞台为默认的白背景;
(2)保留默认小猫角色,小猫在舞台中间位置。
2. 功能实现
(1)用键盘任意输入一个数字表示行数(考虑到舞台的大小,可以提醒输入的数字在1-9之间),之后小猫会根据输入的行数自动绘制一个多行的图形(如果输入5,那么就绘制5行);
(2)绘制的图形规则为:假设绘制n行,第一行绘制一个三角形,第二行绘制2个三角形…第n行绘制n个正三角形;
(3)每行中任意两个正三角形之间都间隔20个坐标值,任意相邻两行的间隔也是20个坐标值,每行的第1个三角形的x坐标值是一样的,即在同一列;
(4)要用函数绘制正三角形,用循环嵌套以及函数来优化程序。
Day19:2022.03_编程计算
1. 准备工作
(1)默认白色背景和小猫角色。
2. 功能实现
(1)点击绿旗,计算1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+5+6+7+8+9+10)的值;
(2)小猫说出计算结果2秒。
Day20:2019.12_抽奖
1. 准备工作
(1)保留空白背景;
(2)保留小猫角色。
2. 功能实现
阅读以下抽奖程序,使用其它更简短的脚本,实现同样的抽奖功能。
奖品为四种水果,分别是苹果、梨子、香蕉和桃子。要充分考虑抽奖的公平性。
Day21:2021.12_棕熊大战
周末,Batter正在田野里面打棒球,突然跑出来一只棕熊,于是Batter与棕熊展开了一场大战。
1. 准备工作
(1)删除角色小猫,增加角色Batter、Bear-walking和Baseball,三个角色,并保留它们的所有造型;
(2)删除白色背景,增加名为“Playing Field”的背景,将此背景复制2次,分别重命名为“胜利”、“失败”,并在其图片上分别添加文字“胜利”、“失败”。
2. 功能实现
(1)按一次空格键Batter打出一颗棒球,可持续发球,Batter有发球的动作;
(2)球击中棕熊则棕熊的大小减小10,如果棕熊的大小小于10,则Batter成功击退棕熊,获得胜利;
(3)点击绿旗执行程序之后,棕熊向Batter移动,能够看到棕熊走动的效果,如果碰到Batter则游戏失败;
(4)游戏中背景为Playing Field,游戏结束时背景根据游戏结果进行相应的切换。