Scratch与数学的整合10
第10课 定义新函数
一、学习目标
1、结合就定义函数的概念来探究定义新函数的本质,进而解决定义新函数的问题。
2、利用定义新函数的解题思维编写出一串Scratch代码。
二、知识储备
1、定义新函数是人为定义的一种函数,它没有固定的概念。解决定义新函数问题需要回归到就定义函数的本质,再找到解题的规律,才能解出问题。
2、定义新函数问题都是原题给出材料,答题前需要理解材料,∴在编写Scratch前自己也要给程序“出一段材料”。
三、问题探究
我们来看这道题:阅读材料回答下列问题:(a)表示向下取整的数,例如(5.5)=5,[b]表示向上取整,例如[8.5]=9,当(a)<[b]时,有(a)+[b],被定义为“小数加大数”,且有[b]-(a),被定义为“大数减小数”。log10(“大数减小数”ד小数加大数”的值)被称为“‘有效函数’的值”。试回答:当(a)=10.4,[b]=17.7时,“‘有效函数’的值”=
无论解决哪种新定义问题,首先都要理解原题的材料。题中定义(a)表示a向下取整的数,[b]表示b向上取整的数。而我们知道,向下取整表示比这个数小但最接近它的整数,反之同理,向上取整表示取比这个数大但最接近它的整数。题中还给我们举个例子:(5.5)=5,[8.5]=9,那么结合上述的旧定义的分析,我们可以找到下面2个规律:当(a)是小数时,(a)的结果是它的整数部分,[b]是小数时,b的值等于它的整数部分+1。如果把(a)+[b],[b]-(a)分别看成2个代数式,那么根据代数式求值的方法:把已知字母的值代入到原式中相对应的字母的地方去,再求出最后的值,接着拿旧定义与我们的结论作对比,可得log10(“大数减小数”ד小数加大数”的值)=log10(10×18)=log10(180)=2.25527250510331。故原题应填2.25527250510331。
四、流程图
我们就以这段材料为例,除了对词语的定义,其他的内容都不变的条件下,看一看编写Scratch代码的流程图是怎样的。

如图所示,首先程序开始,建立变量(a),[b],根据向下取整、向上取整的旧定义以及“()”表示向下取整,“[]”表示向上取整的原则下新定义,即在(a)前加入“向下取整”模块,不过原题中说了引入“小数加大数”“大数减小数”的条件,∴要判断(a)是否小于[b],若结果为“是”则继续进行,注意这里隐藏了一个条件,就是(a),[b]要均为小数,否则会运行错误,这是∵小数有小数点。若程序继续进行,则加入对数运算,并建立变量“‘有效函数’的值”,从而实现log10(“小数加大数”ד大数减小数”),从而实现程序求出“‘有效函数’的值”的结果。
五、变量信息
a、b、(a)、[b]、小数加大数、大数减小数、“有效函数”的值
六、代码讲解
我们首先要做的就是给原题弄已知条件。运行时a,b一定要输入小数,否则会报错的。∵Scratch能判断一个数是否为小数。
当绿旗被点击
询问请输入小数a
将[a]设为回答
询问请输入小数b
将[b]设为回答
新定义函数嘛,下定义是必须的。由于前面程序已经知道你输出的a<b且均不为小数,∴接下来不需要手动添加判断。
将[a]设为a向下取整
将[b]设为b向上取整
将“小数加大数”设为(a)+[b]
将“大数减小数”设为[b]-(a)
这时就可以进行计算“‘有效函数’的值”的结果了。
将“‘有效函数’的值”设为log10(“小数加大数”ד大数减小数”)
说:“连接连接连接‘有效函数’的值是和是log10(“小数加大数”ד大数减小数”)和=和‘有效函数’的值”
七、探究与分享
1、Scratch中的对数只能实现自然对数,也就是无论loga(x)中的a,x为多少,a都是10。但也仍然要知道对数有意义的条件:对数中a≠0且a≠1。
2、你看,定义中加了有小数点、小数<大数的前提,符合前提才能算结果,不然为什么叫“‘有效函数’的值”呢?
八、课程小结
1、新定义函数是人为定义的函数。
2、解决新定义函数问题的过程:理解材料→联想旧定义→将旧定义函数与新定义函数相结合→找到本质,探索规律→从特殊到一般→解出答案。
3、编写Scratch脚本同样遵循新定义函数的解题思路。