## 第 10 课 喵喵出题目 --- <br> 班级即将举行口算竞赛,为此 “喵喵” 想要制作一个口算训练程序给大家练习,我们一起来帮助它吧! 在本课的范例作品中,我们需要制作一个能够随机出题、自动批改的加法口算训练程序。 <div align=center><img width ='600' src="img/10-1.png"/></div> <br> ### 创意构思 本课的范例作品是一个加法口算训练程序,先随机出题,然后等待用户输入答案,再判断输入的答案是否正确。 要完成本课的创意构思,需要了解以下的新积木: <br>  属于`数据`类别工具按钮,单击这个按钮后,可以通过打开的`新建变量`对话框创建变量。 创建变量以后,在`积木区`的`数据`类别中,会增加一些用于控制变量的积木,同时在舞台的左上角默认会显示变量对象。该变量对象左边是变量名,右边是变量当前的值。 <a href="http://haohaodada.com/video/a21001.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> ##### 试一试 双击舞台中的变量对象,你发现了什么?? <a href="http://haohaodada.com/video/a21002.php" target="_blank">单击此处</a>可以观看相关的视频。 <br>  属于`数据`类别积木,为一个变量赋值;由第一个下拉列表参数确定需要赋值的变量,第二个参数确定这个变量具体设定的值。  属于`数据`类别积木,每次新建一个变量,都会增加相应变量的积木。通过该积木,可以获取变量当前的值。 <br> #### Scratch 中的变量 在 Scratch 中,`变量`是另一个非常重要的概念,可以新建变量、对变量赋值,在程序的运行过程中可以根据需要随时修改变量的值。 一个变量包括`变量名`与`变量值`两个属性: * `变量名`用于在脚本中识别不同的变量,可以使用中文作为变量名称,变量名应该有一定意义; * `变量值`是指变量所包含的值。比如创建一个名为`加数1`的变量,可以通过  指令来设置它的变量值,也可以使用  指令来获取它的变量值。 <a href="http://haohaodada.com/video/a21003.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> ##### 想一想 下列表格中的字符,在 Scratch 中都可以作为新建变量名。但有些作为变量名不太合适,容易混淆。请在你认为最合适的变量名下方的表格中打 “**√**”。 <div align=center><img src="img/10-2.png"/></div> <a href="http://haohaodada.com/video/a21004.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> 、、 属于`数字和逻辑关系`类别积木,分别用于比较积木左边的参数与右边的参数之间是否存在相等、小于或大于的关系。 <br>  属于`侦测`类别积木,能够显示提示文本并等待用户通过键盘输入,指令的参数就是显示的提示文本内容。 执行该指令会暂停程序执行,然后在舞台下文显示文本输入框,等待用户输入。输入完成后直接回车或者单击文本框右侧的  按钮完成输入。 <br> ##### 试一试 分别将该指令放置在角色脚本中与舞台背景脚本中运行程序,你发现了什么? <a href="http://haohaodada.com/video/a21005.php" target="_blank">单击此处</a>可以观看相关的视频。 <br>  属于`侦测`类别积木,与  积木配合使用,用户键盘输入的内容保存于该积木中。 <br> ### 脚本设计 #### 第一步:准备角色和背景 1. 从背景库中选择 “chalkboard” 作为舞台背景图片; 2. 将角色 “Cat1” 重命名为 “喵喵”,然后摆放到舞台合适的位置; 3. 单击“角色列表区”的  按钮,在角色造型编辑窗口中绘制一个加号,并将该角色重命名为“加号”,将这个加号摆放到黑板的中央。 <a href="http://haohaodada.com/video/a21006.php" target="_blank">单击此处</a>可以观看相关的视频。 #### 第二步:口算出题 本课范例中的口算是由两个加数组成的加法口算,可以按以下步骤出题(<a href="http://haohaodada.com/video/a21007.php" target="_blank">单击此处</a>可以观看相关的视频): 1. 在`代码`选项卡中,单击`变量`类别下的  按钮;在打开的`新建变量`对话框中输入变量名`加数1`。 2. 重复以上步骤,再新建变量`加数2`。 3. 将舞台中的 <img src="img/10-4a.png" width = 112> 、<img src="img/10-4b.png" width = 112> 标记设置成<img src = "img/10-4c.png" height = 30>样式后分别摆放到加号的两侧。 4. 单击舞台背景缩略图,添加如下图所示的变量初始化积木块: <div align=center><img src="img/10-5.png" width =230 /></div> <br> ##### 试一试 把 <img src="img/10-6a.png" height = 30> 积木和 <img src="img/10-6b.png" height = 30> 积木中的第二个参数修改成不同的数字后再运行程序,你发现了什么? 如果将 <img src="img/10-6c.png" height = 30> 指令分别拖动到以上两个指令的第二个参数位置上再运行程序,你又发现了什么? <a href="http://haohaodada.com/video/a21008.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> #### 第三步:输入口算答案 口算题目产生并且显示以后,程序应该能够接受用户的键盘输入。要实现这个功能,可以将以下脚本添加到“喵喵”的角色积木块中: <div align=center><img src="img/10-7.png" width = 230/></div> <a href="http://haohaodada.com/video/a21009.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> ##### 试一试 在积木区勾选  积木前的  ,然后运行上图所示的脚本,在文本输入区中输入答案。观察舞台区并把你的发现记录下来。 <a href="http://haohaodada.com/video/a21010.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> #### 第四步:判断答案是否正确 口算答案输入后,需要马上判断是否正确,也就是将`加数1`与`加数2`相加的结果与输入的答案进行比较,如果相等说明输入正确,否则就是输入错误。可以将以下脚本添加到 “喵喵” 的角色积木块的 <img src="img/10-8b.png" height = 40> 积木后: <div align=center><img src="img/10-8.png" width = 300/></div> <a href="http://haohaodada.com/video/a21011.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> ##### 想一想 现在的口算练习程序每运行一次只能练习一道口算题,如果想要练习多道题目,应该如何修改脚本? <a href="http://haohaodada.com/video/a21012.php" target="_blank">单击此处</a>可以观看相关的视频。 <br> ### 拓展思考 在 “喵喵” 制作的口算软件帮助下,大家的口算成绩突飞猛进。不过 “喵喵” 觉得这个口算软件还不够完美,发挥你的想象,用学过的知识让口算软件更完美吧! <br> ### 相关链接 * [目录](readme.md) * 上一课:[第 9 课 喵喵学画画](09.md)