欢迎光临散文网 会员登陆 & 注册

Scratch与数学的整合22

2023-07-28 17:00 作者:AI真有趣  | 我要投稿

                第22课        数图形

一、课程导入

        本节课你将会学到:如何巧妙地解决图形计数问题(包括Scratch程序)?

二、知识储备

        以线段、角、正方形、正方体为例,图形计数问题有如下公式:

        1.1、(1+小线段的条数)×(小线段的条数÷2)=线段的条数    (小线段的条数为偶数)

        1.2  、[1+(小线段的条数+1)]  ×[(1+(小线段的条数)÷2]=线段的条数    (小线段的条数为奇数)

        2.1、(1+小角的个数)×(小角的个数÷2)=线段的条数    (小角的个数为偶数)

        2.2  、[1+(小角的个数+1)]  ×[(1+(小角的个数)÷2]=线段的条数    (小角的个数为奇数)

3、{[小正方形的个数×(小正方形的个数+1)]×(2×小正方形的个数+1)}/6=正方形的个数

4、[小正方体的个数×(小正方体的个数+1)/2]²=正方体的个数

        上面的公式中,1.1、2.1均为高斯求和公式,3为平方数列求和公式。4为立方和公式。

三、探索新知

        1、请问图1中有多少条线段?

组合线段

                                  图1

        分析:这道题不能乱数,还有人认为ABCDEFGH这些点之间有8个间隔,由此得出有8-1=7(条)线段,这样数也是错误的。这道题与间隔一点关系都没有。那我们该怎么数呢?首先要知道AD与DH的倾斜角不同,也就是对他们两个是各自独立的线段,要分开数再相加。首先看AD,AD上有4个端点,那么根据高斯求和公式Sn=[n(a1+an)]/2可知,n,an均为端点个数,a1=1,进而求得AD有[4×(1+4)]/2=10(条)线段。再看AH,DH上有5个端点。[5×(1+5)]/2=7.5,怎么会出现小数呢?奇数不能被2整除,不能用高斯求和公式,看看还有什么其他方法。我把5拆成4+1,这样就变成了[1+(1+4)]×[(1+4)÷2]=15,这回是整数了。那么DH有15条线段。最后可以得到图1中有10+15=25(条)线段。答:图1中有25条线段。

        2、请问图2中有多少个正方形?

组合正方形

                                   图2

        分析:这道题还是不能乱数,间隔也不要想。正方形属于平面图形,线线成面。∴可以这样思考:大正方形的每条边上都有4条直线,那么图2中有4种不同大小的正方形:1×1、2×2、3×3、4×4。接下来代入平方数列求和公式可求得图2中有{[4×(4+1)]×(2×4+1)}/6=30(个)。答:图2中有30个正方形。

        3、已知有一个正方体被切成6×6×6体积均等的小正方体。问:被切后的正方体一共有多少个?

        分析:这道题没有给出图,需要靠我们的想象想出这个立体图形的特征是怎样的。首先明确一个最基本的概念:正方体有上下前后左右6个面,每个面的棱长相等。接下来题中又说“正方体被切成6×6×6体积均等的小正方体”,什么是体积均等呢?每个大小都均等吧?那“6×6×6”怎么理解呢?正方体由长宽高构成,那“6×6×6”就是有6层正方体,每层正方体都是6个小棱的正方体。问被切后的小正方体一共有多少个,那答案就是套入立方和公式计算:{[6×(6+1)÷2]}²=441(个)答:被切后的正方体有441个。

四、流程图

        由于今天我们研究的三道题完全同属图形计数问题,因此为了保证编程时尽可能多删减脚本,∴我们就看看删减后的脚本对应的代码的流程图吧。

删减后的脚本对应的代码的流程图

        流程图看上去比较繁琐,但如果我们理清了里面的内在联系,进行“合并同类项”,分析起来就会简单得多。首先程序开始,点、线段、角、正方形、正方体是不同的对象,找准的对象不同,计数的过程也就不同,而程序的答案只有一个。∴我们此时要问角色输入哪个图形。回答=1时找准点计数,回答=2时找准线段计数,回答=3角计数,回答=4正方形计数,5是正方体计数。当程序知道了找准哪类图形计数时,人家就问你“××的个数?”。你此时回答的是点的个数的话直接数出来作答;线段或是角要判断n是否为偶数,若判断为“是”则用高斯求和来解,否则套用[1+(n+1)]×[(n+1)÷2]来解;正方形的话用平分数列求和,正方体的用立方和公式。

五、变量信息

统一变量

        图形的种类、点的个数、线段的条数、正方形的个数、小线段的条数、小角的个数、小正方形的个数、小正方体的个数、角的个数

六、代码示例

绿旗被点击

        首先要统一问题。该编程的共同点是全为计数问题,不同点是图形种类不同。那我们把图形计数看成一个集合,图形的种类则是对象。那么要统一的变量就是图形的种类。

询问你要数哪类图形?

将图形的种类设为回答

询问并回答图形计数的种类


 将1赋值给变量“点的个数”。由于点是独立的,∴点的个数直接询问并回答,再作答。


如果图形的种类=1那么

询问请输入点的个数

将点的个数设为回答

说:“连接连接这个图形有点的个数

数点的代码

       将2赋值给变量“小线段的条数”,由于求线段的条数公式是连续求和。对于配对求和而言会涉及到2的整除特征,∴要用余数积木判断该数是奇数还是偶数,根据情况选用合适的公式计数。

如果图形的种类=2那么

询问被分成多少条线段?

将小线段的条数设为回答

如果小线段的条数÷2的余数=0那么

将线段的条数设为1+小线段的条数÷小线段的条数÷2

否则

将线段的条数设为[1+(小线段的条数+1]×[(小线段的条数+1÷2]

说:“连接连接这个图形有线段的条数

数线段的代码

        由于角的计数方法同理于线段的计数方法,∴只要此时把上一组代码复制,再把变量“小线段的条数”改成“小角的个数”,“线段的条数”改成“角的个数”就可以了。


如果图形的种类=3那么


询问被分成多少个小角?

将小角的个数设为回答

如果小角的个数÷2的余数=0那么

将角的个数设为1+小角的个数÷小角的个数÷2

否则

将小角的个数设为[1+(小角的个数+1]×[(小角的个数+1÷2]

说:“连接连接这个图形有角的个

数角的代码

        将4赋值给小正方形的个数,5赋值给正方体的个数。由于在讲例题时我们直接套公式求了,∴这里我们还套公式求。

如果图形的种类=4那么

询问由多少个小正方形构成

将小正方形的个数设为回答

将正方形的个数设为{小正方形的个数×[小正方形的个数+1]×(小正方形的个数+1}/6

说:“连接连接这个图形有正方形的个数个正方形

数正方形的代码

如果图形的种类=5那么

询问由多少个小正方体构成

将小正方的个数设为回答

将正方的个数设为[小正方体的个数×(小正方体的个数+1]²

说:“连接连接这个图形有正方的个数个正方

数正方体的代码








Scratch与数学的整合22的评论 (共 条)

分享到微博请遵守国家法律