> For the complete documentation index, see [llms.txt](https://docs.haohaodada.cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.haohaodada.cn/zai-xian-ru-men-ke-cheng/scratch-primer/lesson-10.md).

# 第10课 喵喵出题目

班级即将举行口算竞赛，为此“喵喵”想要制作一个口算训练程序给大家练习，我们一起来帮助它吧！

在本课的范例作品中，我们需要制作一个能够随机出题、自动批改的加法口算训练程序。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2okppp0DC6FtZ0n%2Fscratch10-0.png?generation=1548147773359710\&alt=media)

## 创意构思

本课的范例作品是一个加法口算训练程序，先随机出题，然后等待用户输入答案，再判断输入的答案是否正确。

要完成本课的创意构思，需要了解以下的新指令：

1\.

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2ooDVwYmGwuIkar%2Fscratch10-1.png?generation=1548147775645418\&alt=media)

属于“数据”类别工具按钮，单击这个按钮后，可以通过打开的“新建变量”对话框创建变量。

创建变量以后，在“指令区”的“数据”类别中，会增加一些用于控制变量的指令，同时在舞台的左上角默认会显示变量对象。该变量对象左边是变量名，右边是变量当前的值。

[单击此处](http://haohaodada.com/video/a21001.php)或者扫描下方二维码可以观看以上内容相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2org4P4kJ81sImr%2Fa21001.png?generation=1548147773280514\&alt=media)

#### 试一试

双击舞台中的变量对象，你发现了什么？？

[单击此处](http://haohaodada.com/video/a21002.php)或者扫描下方二维码可以观看相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2ovVkhgYaufpdfd%2Fa21002.png?generation=1548147772604532\&alt=media)

2\.

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2ox-x5MuM0263qQ%2Fscratch10-2.png?generation=1548147772397441\&alt=media)

属于“数据”类别指令，为一个变量赋值；由第一个下拉列表参数确定需要赋值的变量，第二个参数确定这个变量具体设定的值。

3\.

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2p-Pk5ZLi7M6r4F%2Fscratch10-3.png?generation=1548147772774888\&alt=media)

属于“数据”类别指令，每次新建一个变革，都会增加相应变量的指令。通过该指令，可以获取变量当前的值。

### Scratch中的变量

在Scratch中，“变量”是另一个非常重要的概念，可以新建变量、对变量赋值，在程序的运行过程中可以根据需要随时修改变量的值。

一个变量包括“变量名”与“变量值”两个属性：“变量名”用于在脚本中识别不同的变量，可以使用中文作为变量名称，变量名应该有一定意义；“变量值”是指变量所包含的值。比如创建一个名为“加数1”的变量，可以通过

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2ox-x5MuM0263qQ%2Fscratch10-2.png?generation=1548147772397441\&alt=media)

指令来设置它的变量值，也可以使用

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2p-Pk5ZLi7M6r4F%2Fscratch10-3.png?generation=1548147772774888\&alt=media)

指令来获取它的变量值。

[单击此处](http://haohaodada.com/video/a21003.php)或者扫描下方二维码可以观看以上内容相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2p2f-y7VcpkejMp%2Fa21003.png?generation=1548147775619658\&alt=media)

#### 想一想

下列表格中的字符，在Scratch中都可以作为新建变量名。但有些作为变量名不太合适，容易混淆。请在你认为最合适的变量名下方的表格中打“**√**”。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2p5mH8ck_5Xp-Px%2Fscratch10-3b.png?generation=1548147776418266\&alt=media)

[单击此处](http://haohaodada.com/video/a21004.php)或者扫描下方二维码可以观看相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pCvkOG14nptn9W%2Fa21004.png?generation=1548147775966740\&alt=media)

5\.

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pGYE9hD8PwTfrJ%2Fscratch10-4.png?generation=1548147774409746\&alt=media)

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pMw1RO36KQBGpi%2Fscratch10-5.png?generation=1548147777581662\&alt=media)

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pRilSC1mznyJZ-%2Fscratch10-6.png?generation=1548147774761569\&alt=media)

属于“数字和逻辑关系”类别指令，分别用于比较指令左边的参数与右边的参数之间是否存在相等、小于或大于的关系。

6\.

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pTmrISqvJt5bv7%2Fscratch10-7.png?generation=1548147773065549\&alt=media)

* 属于“侦测”类别指令，能够显示提示文本并等待用户通过键盘输入，指令的参数就是显示的提示文本内容。
* 执行该指令会暂停程序执行，然后在舞台下文显示文本输入框，等待用户输入。输入完成后直接回车或者单击文本框右侧的

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pVftFO_2R2oyh7%2Fscratch10-8.png?generation=1548147774207534\&alt=media)

按钮完成输入。

#### 试一试

分别将该指令放置在角色脚本中与舞台背景脚本中运行程序，你发现了什么？

[单击此处](http://haohaodada.com/video/a21005.php)或者扫描下方二维码可以观看相关视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pXvP8ebrXjF9fS%2Fa21005.png?generation=1548147773845378\&alt=media)

7\.

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pZnpRHcCXpF_4v%2Fscratch10-9.png?generation=1548147775324691\&alt=media)

* 属于“侦测”类别指令，与

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pTmrISqvJt5bv7%2Fscratch10-7.png?generation=1548147773065549\&alt=media)

指令配合使用，用户键盘输入的内容保存于该指令中。

## 脚本设计

### 第一步：准备角色和背景

1.从背景库中选择“chalkboard”作为舞台背景图片；

2.将角色“Cat1”重命名为“喵喵”，然后摆放到舞台合适的位置；

3.单击“角色列表区”的

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pcDDqfdanzzf5C%2Fscratch5-6.png?generation=1548147776491007\&alt=media)

按钮，在角色造型编辑窗口中绘制一个加号，并将该角色重命名为“加号”，将这个加号摆放到黑板的中央。

[单击此处](http://haohaodada.com/video/a21006.php)或者扫描下方二维码可以观看以上内容相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pey6nqUNv5xTS7%2Fa21006.png?generation=1548147774440454\&alt=media)

### 第二步：口算出题

本课范例中的口算是由两个加数组成的加法口算，可以按以下步骤出题：

1.在“脚本”选项卡中，单击“数据”类别下的

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2ooDVwYmGwuIkar%2Fscratch10-1.png?generation=1548147775645418\&alt=media)

按钮；在打开的“新建变量”对话框中输入变量名“加数1”。

2.重复以上步骤，再新建变量“加数2”。

3.将舞台中的

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2piKZEQ_HRIOMUq%2Fscratch10-10.png?generation=1548147773549982\&alt=media)

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pkZi_g8SK13O44%2Fscratch10-11.png?generation=1548147772948557\&alt=media)

标记设置成

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pmvId7GE6VPbUh%2Fscratch10-12.png?generation=1548147774289295\&alt=media)

样式后分别摆放到加号的两侧。

4.单击舞台背景缩略图，添加如下图所示的变量初始化脚本：

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pogD8tzdQz5jhX%2Fscratch10-13.png?generation=1548147774162822\&alt=media)

[单击此处](http://haohaodada.com/video/a21007.php)或者扫描下方二维码观看以上内容相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pqrI65zvfL7WeA%2Fa21007.png?generation=1548147774927577\&alt=media)

#### 试一试

把

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2ps5zj3vuBdArnW%2Fscratch10-14.png?generation=1548147773754744\&alt=media)

指令和

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2puXoGFW192C479%2Fscratch10-15.png?generation=1548147774092306\&alt=media)

指令中的第二个参数修改成不同的数字后再运行程序，你发现了什么？

如果将

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon39Dow9E-pQh-IgX%2Fscratch7-5.png?generation=1548147777145960\&alt=media)

指令分别拖动到以上两个指令的第二个参数位置上再运行程序，你又发现了什么？

[单击此处](http://haohaodada.com/video/a21008.php)或者扫描下方二维码可以观看相关视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2py5iM-_7lobwGU%2Fa21008.png?generation=1548147777023373\&alt=media)

### 第三步：输入口算答案

口算题目产生并且显示以后，程序应该能够接受用户的键盘输入。要实现这个功能，可以将以下脚本添加到“喵喵”的角色脚本中：

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2q-MhsfP92WZFKP%2Fscratch10-16.png?generation=1548147773820781\&alt=media)

[单击此处](http://haohaodada.com/video/a21009.php)或者扫描上方的二维码可以观看以上内容相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2q1LfIqsHFdo-Kt%2Fa21009.png?generation=1548147777647124\&alt=media)

#### 试一试

在指令区勾选

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2pZnpRHcCXpF_4v%2Fscratch10-9.png?generation=1548147775324691\&alt=media)

指令前的

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2q5bvmZG0KIyCV_%2Fscratch10-17.png?generation=1548147773657918\&alt=media)

然后运行上图所示的脚本，在文本输入区中输入答案。观察舞台区并把你的发现记录下来。

[单击此处](http://haohaodada.com/video/a21010.php)或者扫描下方二维码可以观看相关视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2q7UuXqdlThBCGF%2Fa21010.png?generation=1548147774879143\&alt=media)

### 第四步：判断答案是否正确

* 口算答案输入后，需要马上判断是否正确，也就是将“加数1”与“加数2”相加的结果与输入的答案进行比较，如果相等说明输入正确，否则就是输入错误。可以将以下脚本添加到“喵喵”的角色脚本的

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2q9FYGQdmhfyuwk%2Fscratch10-18.png?generation=1548147774490736\&alt=media)

指令后：

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2qBSK-86Dq8BLw-%2Fscratch10-19.png?generation=1548147778254847\&alt=media)

[单击此处](http://haohaodada.com/video/a21011.php)或者扫描下方二维码可以观看以上内容相关的视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2qDyBowuHrClmP9%2Fa21011.png?generation=1548147774768405\&alt=media)

#### 想一想

现在的口算练习程序每运行一次只能练习一道口算题，如果想要练习多道题目，应该如何修改脚本？

[单击此处](http://haohaodada.com/video/a21012.php)或者扫描下方二维码可以观看相关视频。

![](https://3988445729-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWF1jkbOkV3Cs8uqgVf%2F-LWon-E-Y_LAJdSFdy1O%2F-LWon2qFqKZEq8YjlA5Q%2Fa21012.png?generation=1548147777052700\&alt=media)

## 拓展思考

在“喵喵”制作的口算软件帮助下，大家的口算成绩突飞猛进。不过“喵喵”觉得这个口算软件还不够完美，发挥你的想象，用学过的知识让口算软件更完美吧！
