跟麦咭学编程
2019-02-10麦咭编程
麦咭编程
放学完成作业后,麦咭想起今天在学校的时候,宾果出了一个脑筋急转弯题目将自己考住了,于是拿出一本腦筋急转弯的书看,争取明天去学校的时候可以问一个宾果没有看过的脑筋急转弯题,将宾果难住。在看书的过程中,麦咭想到了可以编写一个脑筋急转弯的程序,能自动出题,然后让大家一起玩。
1. 理解链表的概念。
2. 掌握新建链表的方法。
3. 掌握将记录添加到链表、删除链表中指定记录的方法。
1. 程序设计
2. 链表的基本知识
如图1所示,把变量比作一个置物的格子,它可以放置任何物品,但同时只能放置一个,下一个放进去时,自动替换掉前一个。相比变量而言,链表就是多个置物的格子,每个格子都可以放置物品。取用物品时,报物品的序号即可,也可以添加、删除指定位置的物品。
3. 新建链表
打开网页http://scratch.maiji100.cn/Scratch.html,执行“文件”“新建项目”命令,新建项目文件。
如图2所示,为了存放脑筋急转弯的题目与答案,我们需要新建链表。单击积木区/脚本/数据/■指令,弹出“新建链表”对话框。
然后使用相同的方法再新建一个链表,输入链表名称为“答案”,用来存放脑筋急转弯题目的答案。
如图3所示,输入链表名称并单击“确定”按钮,我们可以观察到舞台区和积木区发生了变化。
如图4所示,这时,我们就可以将脑筋急转弯的题目和答案分别添加到两个链表中。
图4 将题目添加到链表“题目1”中
如图5所示,以此类推,我们通过同样的方法为麦咭继续添加第二个、第三个脑筋急转弯题目,如:“为什么暑假比寒假长?”“一个盒子最少有几个边?”
图5 向链表添加题目内容后的窗口
我们再使用相同的方法,将脑筋急转弯的答案加入链表“答案”中。
4. 程序搭建
如图6所示,将题目与答案添加到链表中,每添加一次,链表长度增加一些。程序停止,链表并不会清空。程序每运行一次,链表就会增加一些记录。所以,点击“绿旗”运行程序,第一步是删除链表里面所有的记录,再逐条添加记录到链表中。
通过程序我们知道,每输入一个题目给链表题目1,对应会输入一个答案给链表答案。依据链表的基本知识我们知道,它们是放入不同的置物的格子,但序号是一样的。为了保证出题的随机性,我们需要新建变量“题目序号”,把题目序号设定为“1-链表‘题目1的项目数”的随机数。如图7所示。
如图8所示,程序从题目库里面随机选取题目后,就需要让玩家输入答案,使用询问并等待指令。
如图9所示,当玩家输入答案后,程序就需要把玩家的答案与答案库里面的答案进行比对,比对正确则输出:“‘回答,回答正确,你太厉害了!”比对错误则输出:“‘回答,呃,回答错误,再接再厉!”
5. 程序清单
角色的完整程序清单如图10所示。
图10 脑筋急转弯程序
通过本节课的学习,我们已经了解了链表的概念,掌握了新建链表以及把记录添加到链表中的方法。为了巩固今天学到的这些编程知识,同学们不妨换一个脑筋急转弯题来试试哦!
(编辑 巧克力)