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

Scratch与数学的整合36

2023-08-24 15:00 作者:AI真有趣  | 我要投稿

                第36课        植树问题

一、课程导入

        本节课你将会学到:如何解决植树问题、如何用Scratch实现植树问题?

二、知识储备

        1、直线植树的3种情况:(1)两端都种树时,整条线棵数=间隔数+1。(2)一端种树时,整条线棵树=间隔数。(3)两端不种树时,整条线棵数=间隔数-1。

        2、在圆周上植树的棵数=间隔数。

        3、在正方形四周植树的3种情况:(1)封闭线路上植的棵数=全长÷单边棵数=间隔数+1,(2)在对角线植树的棵数=全长÷单边棵数=间隔数。(3)不封闭线路上植的棵树=全长÷单边棵数=间隔数-1。

 三、例题讲解

        1、在一条160米的街上每隔25米一盏路灯路灯   (至少有一段要安)。问:一共要安多少盏路灯?

        分析:这道题一定有的人上来就答160÷25=6(盏)……10(米),其实不是这样的。这里只是有一处隐藏条件你没有找到:两端都安、一端安、两端不安3种情况,要不然题目为什么要加“至少一端要安”呢?况且你算的6只是间隔数,同时又余10米了,那就说明实际上根本没有两端都安的情况,那么就对一端安和两端不安分类讨论。如果一端安的话,就是盏数=间隔数=6盏,两端不安则是一共要安6-1=5(盏)。答:一共要安6盏或5盏。

        2、在一个圆形花坛的圆周上摆花,每隔7米摆一朵花,问:这个花坛的面积是多少?

        分析:根据圆周上植树的棵数=间隔数,全长=间隔数×间隔长度可知,花坛的周长是7×7=49(米),进而求出花坛的面积:(49÷3.14÷2)²×3.14=191.162420382766(平方米)。答:这个花坛的面积是191.162420382766平方米。

        3、用若干个硬币摆成周长为1米的正方形,要求每两个硬币之间均隔5厘米,问:最多能摆多少枚硬币?

        分析:虽然题目从字面上看不属于植树问题,但道理同属于植树问题,这里的“正方形”就是“线路”,“硬币”就是“树”。在正方形线路植树问题中,树最多的情况就是封闭线路,那么答案就是边长=100÷4=25(厘米),单边硬币枚数=25÷5+1=6(枚),最多的硬币枚数:6×4-4=20(枚)。答:最多能摆20枚硬币。

四、流程图

        1、现在我把例1中的“街”改成“路”,“路灯”改成“树”,“盏数”改成“棵数”,又该怎么编程呢?这就需要我们解读下面的流程图:如图所示,程序开始。询问“在路的两边种多少棵树?”并将变量“在一端植的棵数”设为“回答”。然后判断该变量值是否大于2,若大于2则将变量“在两端植的棵数”设为“在一端植的棵数+1”,将变量“两端不植的棵数”设为“在一端植的棵数-1”。接着询问“每两棵树之间距离多长”?并将变量“间距”设为“回答”,接下来通过连接在一端植的棵数×间距字符m求得路的长度,并思考变量“路的长度”。最后程序结束。

解决直线植树问题的流程图

      2、现在我把例2中的“花坛”隐藏掉,把“花”改成“树”,又该怎么编程呢?这就需要我们解读下面的流程图:如图所示,程序开始。询问“在圆周上种多少棵树?”和“每两棵树之间距离多长?”,这2个问题的回答分别对应于变量“圆周上的棵数”、“间距”。然后用圆周上的棵数×间距求出圆周的周长,最后思考连接连接水池的面积是圆周的周长÷3.14÷2²×3.14m²。

解决环形植树问题的流程图

      3、如果我不仅把“间隔数”、“硬币”、“间隔长度”的说法改变一下,而且还把正方形改成正n边形,隐藏掉“最多”,甚至还要求周长,又该怎么编程呢?我们再解读下面的流程图:如图所示,首先程序开始,询问并回答正n边形的边数。然后判断边长是否>4,若“是”则接下来询问并回答单边种多少棵树。接着将不封闭的线路的单边棵数设为单边棵数×边数,将封闭线路的棵数设为单边棵数×边数+边数。接下来询问并回答每两棵树之间的间距,再接下来将边长设为(单边棵数-1)×间距,并将正n边形的边长设为边数×边长。最后思考代码连接连接正n边形的周长是正n边形的周长m。程序结束。

解决正多边形线路上植树问题的流程图

五、变量信息

       1、角色A执行程序用到的变量:在一端植的棵数、在两端植的棵数、两端不植的棵数、间距、路的长度

        2、角色B执行程序用到的变量:圆周上的棵数、间距、圆周的周长

        3、角色C执行程序用到的变量:边数、单边棵数、不封闭线路的棵数、封闭线路的棵数、间距、边长、正n边形的周长

变量名

六、代码示例

      1、先来看看角色A执行程序的代码是什么样子的:

绿旗被点击    (0)        

        (1)——(2):首先确定路上种的树的间隔数,∵它等于在一端植的棵数,∴将变量“在一端植的棵数”作为间隔数的回答。

询问在路的两边上种多少棵树?    (1)

将在一端植的棵数设为回答    (2)

        (3):∵0是空数,∴树的棵数的最小值必须是1,∴要对间隔数进行判断,间隔数有意义才有必要求间距。

如果在一端植的棵数2那么    (3)

        (4)——(9):接下来就可以套公式求棵数。知道了棵数,就又可以询问并回答间隔数进一步求出路的长度。

将在两端植的棵数设为在一端植的棵数+1    (4)

将两端不植的棵数设为在一端植的棵数-1    (5)

询问每两棵树之间距离多长?    (6)

将间距设为回答    (7)

将路的长度设为连接在一端植的棵数×间距m    (8)

思考:“连接马路的长度是路的长度”    (9)

角色A执行的代码

 2、再来看看角色B执行程序是代码是什么样子的:

      这串代码就没有什么多说的了,就是让程序知道树的棵数、间距,通过套用公式求出圆的周长和面积就可以了。

绿旗被点击

询问在圆周上种多少棵树?    

将圆周上的课数设为回答

询问每两棵树之间距离多长?

将间距设为回答

将圆周的周长设为圆周上的棵数×间距

思考:“连接连接水池的面积是圆周的周长÷3.14÷2²×3.14

角色B执行的代码

       3、最后看看角色C执行程序是代码是什么样子的:

绿旗被点击    (0)

        (1)——(2):∵正多边形是一个不确定的形状,∴需要对边数进行询问并回答。

询问在正多少边形的形状上植树?    (1)

将边数设为回答    (2)

        (3):正n边形的边数必须大于4,符合条件才有必要执行后面的程序。

如果边数4那么    (3)

        (4)——(6):线线成面,∴必须知道单边棵数才能知道整个多边形的线路。

询问每条边均种多少棵树?    (4)

将单边棵数设为回答    (5)

将不封闭线路的棵数设为单边棵数×边数    (6)

将封闭线路的棵数设为单边棵数×边数+边数    (7)

        (7)——(10):接下来就可以执行如何推理正n边形的周长了。

询问每两棵树之间距离多长?    (7)

将间距设为回答    (8)

将正n边形的周长设为边数×边长    (9)

说:“连接连接正n边形的周长是正n边形的周长m”    (10)

角色C执行的代码






        


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

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