活动时间 从2023年3月1日至3月21日,每天一道编程题。
本次打卡的规则如下:
小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。
小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群,表示完成了今天的打卡。当天晚上,我会把题目的答案发到群内给小朋友们做个参考,我也会在朋友圈为打卡的小朋友点赞。
Day01:2021.09_小猫钓鱼
小猫一共钓到了8条鱼,小猫挑选出长度小于6cm的鱼放生了,剩下的鱼保留下来。
1. 准备工作
(1)导入名为“Beach Malibu”的舞台背景;
(2)保留默认的小猫角色;
(3)建立名为“鱼”的列表,用于保存鱼的长度。
2. 功能实现
(1)依次询问“第几条鱼的长度”,通过键盘依次输入8条鱼的长度(只需要输入数字),保存到列表“鱼”中;
(2)当按下s键时,从列表中找出长度小于6(不包括6)的项,并删除。
Day02:2021.06_从小到大排序
小猴子询问输入5个数,存入列表后,将这些数字从小到大排列后重新存入列表。
1. 准备工作
(1)保留舞台默认白色背景;
(2)删除小猫角色,添加Monkey角色。
2. 功能实现
(1)点击绿旗,询问“请输入一个数:”,等待输入,重复5次输入5个数字;
(2)将输入的5个数保存到列表“数组”中;
(3)小猴子说“输入的5个数字从小到大排序”,列表中的数字会小到大排列。
Day03:2020.12_解密
罗马共和国的恺撒曾经用一种特殊的加密方式和他的将军们联系,他是这样做的:把一个单词里的每一个字母都向后移,比如A向后移3位,变成D,B就变成E,以此类推。等到X的时候,会变成A,Y变成B,Z变成C。请你编写一段脚本,在输入加密内容后,能够还原出加密前的内容。
1. 准备工作
保留舞台的小猫,白色背景。
2. 功能实现
点击绿旗以后,输入加密内容,小猫会说出正确的加密前的内容。比如输入:“khoor”,小猫会说:“hello”。
Day04:2022.06_判断闰年
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。没有补上时间差的年份为平年。平年的二月只有28天,而闰年的二月有29天。那么如何判断这一年是闰年还是平年呢,有这样一个闰年的判断方法:年份能被400整除,或者能被4整除但不能被100整除的都是闰年。
1. 准备工作
(1)选择背景blue sky2;
(2)选择角色Abby。
2. 功能实现
(1)根据上述的闰年判断方法,编程判断用户输入的年份是闰年还是平年,例如:输入2022,角色会说出:“2022是平年”;
(2)然后角色会再次进行询问:“你想知道这一年哪个月的天数?”,例如:输入2,角色会说出:“2月有28天”。
Day05:2022.03_统计身高
列表中有10个同学的身高数据,编写程序, 将高于平均身高的数据找出来。
1. 准备工作
(1)保留小猫角色及白色默认背景;
(2)建立名为“身高1”和“身高2”的列表。
2. 功能实现
(1)点击绿旗,产生10个150-170的随机数,保存到列表“身高1”中;
(2)计算平均身高;
(3)将列表“身高1”中大于平均身高的数据保存到列表“身高2”中。
Day06:2020.06_阶乘求和
输入5,小猫会说出从1的阶乘、2的阶乘,一直到5的阶乘的和。
注意:阶乘可以!表示,5!=5*4*3*2*1
,4!=4*3*2*1
。
1. 准备工作
(1)保留空白背景。
(2)保留小猫角色。
2. 功能实现
(1)询问阶乘数。
(2)角色小猫依次说出“1的阶乘等于xxx”,"2的阶乘等于xxx”,一直到输入数的阶乘。
(3)小猫最后说出阶乘和。
Day07:2021.03_绳子算法
故事情境:最近在学绳子算术的小星星非常苦恼,他常常在想,如果有一款程序能实现根据输入的两根绳子长度,可以把两根长绳截成长度相等的小段后,直接求出一共可以截成多少段,每段最长多少米就好了。小猫知道后,决定设计一个程序帮助小星星走出绳子算术的困境。
1. 准备工作
(1)保留舞台默认白色背景及小猫角色,将小猫角色调整到舞台上合适的位置;
(2)建立名为“绳子”的列表用于存储数据。
舞台效果如下图所示。
2. 功能实现
(1)点击绿旗,询问“输入绳子长度”并等待;
(2)将输入的绳子长度保存到列表“绳子”后,小猫分别说两根绳子的长度3秒;
(3)根据输入的两根绳子长度,设计算法实现:把两根长绳截成长度相等的小段。求出一共可以截成多少段,每段最长多少米;
(4)计算完成后,小猫分别说“一共可以截成多少段,每段最长多少米。”3秒。
Day08:2021.09_找出出现次数最多的数字
找出出现次数最多的数字,如果有多个数字出现次数相同,则答案为后输入的数字。
1. 准备工作
(1)保留默认的白色背景及小猫角色;
(2)建立名为“list”的列表。
2. 功能实现
(1)运行程序,小猫询问“请问要输入几个数字?”
(2)小猫依次询问“请输入第x个数字”,将输入的各个数字存放在列表“list”中。(x是指第几个,例如:请输入第1个数字;请输入第2个数字)
(3)找出其中出现次数最多的数字,小猫说“出现次数最多的数字是xxx”。如果有多个数字出现的次数相等,都是最多的,小猫说出最后一个。(例如:小猫说“出现次数最多的数字是26“)
Day09:2022.06_逆序输出
1. 准备工作
(1)默认小猫角色;
(2)默认空白背景。
2. 功能实现
(1)点击绿旗后,随机产生一个10-9999的数,例如872,小猫说“产生的随机数是:872” 2秒;
(2)计算出逆序,例如872,小猫说“这个数字的逆序是:278” 2秒。
Day10:2021.03_十字回文诗
十字回文诗,又称为转尾(鳞迭)连环回文诗,是古人创造的一种七言绝句诗体,由10个字连环往复,读成一首28个字的七绝。以清朝女诗人吴绛雪
《咏四季》中的春为例:莺啼绿柳弄春晴晓月明,十个字回环往复,可读成以下28个字的七绝:
莺啼绿柳弄春晴(前七个字,正序读)
柳弄春晴晓月明(后七个字,正序读)
明月晓晴春弄柳(后七个字,倒序读)
晴春弄柳绿啼莺(前七个字,倒序读)
《咏四季》的另外三首分别为:
夏:香莲碧水动风凉夏日长
秋:秋江楚雁宿沙洲浅水流
冬:红炉透炭炙寒冬遇雪风
请根据十字回文诗的成诗规律,编写程序,将《咏四季》读成的四首七绝通过列表展示出来。
1. 准备工作
(1)背景:保留初始背景“背景1”;
(2)角色:隐藏初始角色“角色1”(小猫);
(3)创建列表“咏四季·春”、“咏四季·夏”、“咏四季·秋”、“咏四季·冬”。
2. 功能实现
(1)将其中一首十字回文诗生成28字七绝;
(2)将另外三首十字回文诗生成七绝;
(3)使用自制积木对程序进行抽象和化简;
(4)命名规范易读,并为代码添加合理注释。
提示:加粗红色字可供复制。
Day11:2021.09_成语接龙
小猫从“一鸣惊人"开始岀题,以“人”字开头接下一个成语,如果输入的不是四字成语或者输入成语的第一个字不是上一个成语的最后一个字,游戏结束。
1. 准备工作
(1)保留舞台默认白色背景及小猫角色;
(2)建立名为“词语接龙”的列表。
2. 功能实现
(1)点击绿旗,将“一鸣惊人”加入到列表后,小猫询问“一鸣惊人,请输出以“人”开头的四字成语”;
(2)输入成语,如果用户输入的不是四个字或者输入不匹配的词语时,就说“游戏结束”,否则将正确的成语加入列表;
(3)继续询问,例如如果第2步输入的是“人山人海”,小猫继续询问“人山人海,请输入以“海”开头的四字成语”,依次类推,直到游戏结束。
Day12:2021.12_新冠疫苗接种系统
根据国家最新防疫政策,年满3岁的小朋友均需要接种新冠疫苗,现某幼儿园托管班有学生4名,出生日期分别是:20191016、20171220、20181206、20200101。请编写一套系统帮助幼儿园筛选出符合条件的小朋友。
1. 准备工作
(1)保留小猫角色,保留白色背景。
2. 功能实现
(1)设置名为“当前日期”的变量获取当前的真实时间,当前月和日不足两位数时均用0填充;
(2)建立名为“出生日期”的列表,用于记录小朋友的出生日期;
(3)点击绿旗,初始化列表,加入四个小朋友的出生日期:20191016、20171220、20181206、20200101;
(3)按下空格键,小猫说出每个小朋友是否符合接种条件,如:2符合疫苗接种条件,或者2不符合疫苗接种条件。
Day13:2022.09_三个数排序
输入三个数,比较三个数的大小,并将这三个数按照从小到大的顺序说出。
1. 准备工作
(1)保留小猫角色,默认位置;
(2)白色背景。
2. 功能实现
(1)依次询问输入三个数;
(2)按下空格键,小猫从小到大说出三个数,三个数之间用逗号隔开。
Day14:2021.12_森林运动会
在森林运动会中,小猫、小狗、小兔子、乌龟、小猴子参加了800米耐力跑项目,分别耗时3分25秒、4分15秒、3分45秒、4分45秒、4分5秒。请设计程序实现自动排名。
排序前
排序后
1. 准备工作
(1)保留小猫角色及空白背景;
2. 功能实现
(1)建立名为“耐力跑”的列表,用于记录运动员的成绩,以秒为单位;
(2)点击绿旗,初始化列表,依次往列表中加入:205,255,225,285,245;
(3)点击小猫,对运动员的成绩进行降序排列。
Day15: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)要用函数绘制正三角形,用循环嵌套以及函数来优化程序。
Day16:2020.09_奇偶之和
1. 准备工作
(1)保留舞台中的小猫角色;
2. 功能实现
(1)分别计算1~100中,奇数之和,偶数之和;
(2)说出奇数之和,偶数之和。
Day17:2019.12_排序
1. 准备工作
(1)选择空白背景;
(2)保留小猫角色。
2. 功能实现
(1)制作一个新的积木,文字标签为“排序”,添加三个输入项,以便于输入三个待排序的数字;
(2)在自定义积木的三个输入框中,输入任意三个数字,点击绿旗。
(3)名称为“排序”的列表中,将按照从大到小的顺序排列。
Day18:2022.12_简易抗疫物资管理系统
1. 准备工作
(1)角色:从角色库中添加4个按钮,添加文字“增加”、“删除”、“修改”、“查询”,修改角色名字为“增加按钮”、“删除按钮”、“修改按钮”、“查询按钮”;
(2)列表:新建列表“抗疫物资清单”。
2. 功能实现
(1)点击“增加按钮”,询问“请输入物资名称”,输入物资名称,若“抗疫物资清单”中已存在该物资,则提示“该物资已存在”;否则将物资名称存入列表,并继续询问“请输入该物资存量”,输入物资存量后,将其存入列表中,再在下一项增加分隔标记“------------”,最后提示“新物资已录入”;
(2)点击“删除按钮”,询问“请输入要删除的物资名称”,输入物资名称,若“抗疫物资清单”中存在该物资,则将列表中该物资名称、物资数量及分隔标记全部删除,最后提示“删除成功”;
(3)点击“修改按钮”,询问“请输入要修改的物资名称”,若该物资存在,则继续询问“请输入修改后的物资存量”,输入物资存量后,更新该物资的存量,并提示“修改成功”;
(4)点击“查询按钮”,询问“请输入要查询的物资名称”,若该物资存在,则提示当前存量,例如:格式为“当前【外科口罩】的剩余存量为【5000】件”。
Day19: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秒后,停止运行。
Day20:2021.06_计算三角形面积
编写程序自动计算三角形的面积。手动输入三角形的底和高,程序自动计算出三角形的面积,三角形的面积等于底*高/2。
1. 准备工作
小猫角色,白色背景。
2. 功能实现
(1)询问“请输入三角形的底”,输入一个数值;
(2)询问“请输入三角形的高”,输入一个数值;
(3)小猫说“三角形的面积是xxx”2秒。
Day21:2022.03_求最大公约数
1. 准备工作
(1)保留默认白色背景和小猫角色。
2. 功能实现
(1)输入两个正整数;
(2)小猫说出这两个数的最大公约数。