Scratch英语语法练习

2021-08-25 09:50陈新龙
电脑报 2021年26期
关键词:题库括号列表

陈新龙

暑假来临了,这意味着我们有更多可以自由支配的时间,不知道大家如何复习英语呢?为了能够更加有效地复习英语知识,我决定用Scratch编写一个have/has专项练习小游戏。编写完成后,找弟弟做实验,他利用碎片时间玩了十多次,做题的正确率就从35%提升到了95%,效果还是不错的,下面和大家分享一下代码吧(图1)。

1.准备工作

寻找英语有关have/has的语法专项练习题,新建两个文本文件,将英语语法题目和答案分别添加到这个文本中,例如:You (have/has) a nice father。收集题目时可以使用表格文件统一存储问题和答案,再提取到两个文本中。

为什么要添加到文本文件中呢?主要有两个原因,首先Scratch有文本导入功能,可以把文本文字导入到对应列表中。其次是文本文件容易增删改查,可以大大提高题目收集整理的效率,以后也容易移植用于其他练习。

2.设计思路

在做准备工作的同时,给大家讲解一下这个程序的运行效果:小猫会从题库文本中隨机挑选一道语法题目进行询问,弹出输入框填写是haveor has。当用户输入正确的答案时,答对数加一,如果输入错误的答案,答错数加一。并且做过的题目都会归类到正确和错误两个记录列表中,在同学们做完训练后还可以根据数据做出针对复习。

3. 主程序编写

首先我们将题库文本导入到题库列表中,将对应的答案导入答案列表(图2)。

程序运行后,先从题库列表中通过随机变量I,随机挑选一道语法题目显示出来,请用户输入答案,如果用户输入的答案与答案列表中的答案项(have/has)是一致的,恭喜回答正确,答对数加一,将题目添加到正确题目记录列表中;如果回答错误,答错数加一,并且将题目添加到错题记录中(图3)。

4. 题目记录

将题目中的语法句子输入到记录列表时需要解决这个程序的难点之一:需要将原题库中的问题选项(have/has)替换正确的答案选项(have or has二选一)。替换的算法我选择了一种普通易懂的方法,通过左右括号找到答案选项,你还可以想一想是不是还有更高效的方法(图4)。

先将题库中的一项语法题目添加到句子变量中,并且设置两个变量左括号和右括号。通过循环提取句子中的每个字符,记录下左括号的位置和右括号的位置。确定括号位置之后我们可以将整体的内容分成三大部分,左括号前的内容+正确答案(have or has二选一)+右括号后的内容。

再通过三次循环遍历的方法提取出三个部分的内容,请配合代码理解这一步的操作。最终将内容成功添加到列表中。正确题库记录和错题记录都是相同原理。

语法练习小游戏能够充分让孩子在娱乐中学习,掌握更多的知识,期待你的作品哦。

猜你喜欢
题库括号列表
How to Make Emoticons
扩列吧
“入”与“人”
“整式的乘法与因式分解”优题库
选出括号内正确的字
脑力急旋风
列表法解分式方程问题探索
猿题库技术压阵 深耕 K12在线教育市场
列表画树状图各有所长
猿题库