【青少年编程】【蓝桥杯】排队购票
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。
我们将有关编程题目的教学视频已经发布到抖音号「21252972100,小马老师」上,大家可以关注一下。
排队购票
1. 题目要求
一场球赛开始前,售票工作正在紧张的进行中。每张球票为50元,现有10个人排队等待购票,其中有些人手持50元的钞票,另外一些人手持100元的钞票;假设开始售票时售票处没有零钱,请编程实现判断该队伍是否会出现找不出钱的情况?
说明:
如果这10个人手持的币值是(50,50,100,50,100,50,100,100,50,100)则能找出钱; 如果手持的币值是(50,50,100,50,100,100,100,50,50,50),则不能找出钱。
效果如图所示:
2. 设计思路与实现
(1)角色分析
角色:小猫
(2)背景分析
背景:Castle 3
(3)脚本编写
「a. 角色:小猫」
本题目是“栈”(插入和删除都在列表的一端进行,具有后进先出的特点)的典型应用。
程序的第1部分:向列表“排队”中随机加入十个数字(50或100)。
程序的第2部分:模拟购票,遍历列表“排队”中的每个元素。
如果,该元素是50,则入栈。 否则,(程序的第3部分) 判断栈是否为空,若为空说明没有钱可以找零,输出“第几位客人的钱找不开”,程序结束。 否则,删除栈顶元素,说明已经找零完毕。
遍历完整个列表“排队”,输出“运气不错,能找出钱”。
3. 评分标准
下列各评分项累积积分,前一项未得分,后续项不得分,共30计分点。
13分:添加正确的背景角色,队伍中手持金额(50或者100),由电脑随机产生,并逐一写入链表中由角色说出来;
9分:小猫能自动判断队伍是否会出现找不出钱的情况,如果有会提示是“第几位客人的钱找不开”;
8分:如果能找出钱电脑说:“运气不错,能找出钱”。
赞 (0)