APP下载

2021年NOC复赛真题解析

2021-01-06何广林

电脑报 2021年49期
关键词:子程序减数除数

何广林

本题来自2021年NOC创新编程复赛操作题。阿短是一位小学五年级学生,本学期即将结束,阿短打算创作一个能够进行四则运算练习的出题程序。程序能够随机出10道题,题目皆是一位数的加减乘除四则运算,每答对一题得1分。请你帮助阿短,编写出这个程序吧。

1.参与运算的两个数值都是从0到9之间随机获取,运算符是从“+”、“-”、“*”、“/”中随机产生,并作为询问的内容,如题干配图所示;

2.在要求1的基础上进一步对数值做出限制,如果运算符为“-”,那么要求被减数不小于减数;如果运算符为“/”,那么除数不得为0;

3.程序对随机生成的算式进行运算,并对结果进行四舍五入取整。如果用户输入答案与结果相等,那么说出“回答正确”,然后将得分增加1分;否则说出“回答错误”;

4.程序总共随机生成10道题目(图1)。

1.在计算机中,“*”表示乘法运算,等同于数学中“×”; “/”表示除法运算,等同于数学中“÷”;

2.对于除法运算,要求除数不得为0,对于结果为小数的情况,进行四舍五入取整;

3.小学数学大纲中不涉及负数运算,所以在进行减法运算时,要求被减数不小于减数。

1.首先明确怎么去定义函数和调用自定义函数,确定新建“变量”项目;

2.分别编写“加、减、乘、除”4个自定义函数子程序;

3.确定“加、减、乘、除”4个运算符号,并将其添加入“运算符号”列表中;

4.根据列表“运算符号”中随机出现的“符号”,调用相应的函数“子程序”出题。

(一)添加或导入一角色,背景为白色。添加如图2中的全局变量和列表(图2)。

(二)编写“加、减、乘、除”各函数子程序。

1.自定义“加法”函数,添加参数“加数1”和“加数2”。程序如图3。

2.自定义 “減法”函数,增加参数“减数1、减数2”,因为小学数学大纲中不涉及负数运算,在进行减法运算时,要求被减数不小于减数,所以设置条件“数1≥数2”(图4)。

3.自定义 “乘法”函数,增加参数“乘数1、乘数2”(图5)。

4. 自定义 “除法”函数,增加参数“被除数1、除数2”。在计算中因为除数不得为0,所以设置条件 “数2≠0”(图6)。

(三)搭建“+、-、*、/”插入到“运算符号”列表程序(图7)。

(四)搭建随机出题主程序。

因为需要根据出现的运算符号来调用相应的函数子程序,总题数是10,所以选择“重复执行(10)次”和“如果——否则”积木。程序搭建如图8。

测试程序,检查运行效果是否符合题目要求。

本题中首先是根据题意设计程序运行的基本框架流程,确定新建“变量”的项目和“列表”;其次利用自定义函数定义“加、减、乘、除”各运算子程序,再根据题中的相关要求设定相应的条件;最后根据“运算符号”列表中随机出现的运算符,对等地调用“加、减、乘、除”各子程序。

猜你喜欢

子程序减数除数
“除数是整十数的笔算除法”的教学实践与反思
除法中的数学问题
应用子程序车削梯形螺纹方法
加减法的错中求解
在数控车床上加工软轴零件
数控车床加工螺纹编程方法探讨
一起摘月亮
商和除数可以交换位置吗
越长越矮的西西豆
如何在除法估算中求近似数