快捷搜索:  汽车  科技

scratch数学编程(Scratch编程学数学之杨辉三角)

scratch数学编程(Scratch编程学数学之杨辉三角)1.首先建立三个列表“前一行”、“下一行”和“杨辉三角”,分别存放动态前一行和下一行,以及最后存放结果。并把第一行数据适当初始化。编程求出杨辉三角的方法很多,我们就用上一行肩上两数之和得到下一行相应位置的数这个规律,使用列表的思路,编写Scratch程序。杨辉三角图它的生成规律如下图所示,每一行的两端都是1,其余的数字都是它肩上的两数字之和:杨辉三角生成规则示意图

Scratch编程学数学之杨辉三角

问题描述:

杨辉三角形,又称帕斯卡三角形、贾宪三角形、海亚姆三角形,它的排列形如三角形。因为首现于南宋杨辉的《详解九章算法》得名,而书中杨辉说明是引自贾宪的《释锁算书》,故又名贾宪三角形。古代波斯数学家欧玛尔·海亚姆也描述过这个三角形。在欧洲,因为法国数学家布莱兹帕斯卡在1653年的《论算术三角》中首次完整论述了这个三角形,故也被称作帕斯卡三角(Pascal's triangle)。

杨辉三角的前 10 行,按等腰三角形排列出来如下图:

scratch数学编程(Scratch编程学数学之杨辉三角)(1)

杨辉三角图

它的生成规律如下图所示,每一行的两端都是1,其余的数字都是它肩上的两数字之和:

scratch数学编程(Scratch编程学数学之杨辉三角)(2)

杨辉三角生成规则示意图

编程求出杨辉三角的方法很多,我们就用上一行肩上两数之和得到下一行相应位置的数这个规律,使用列表的思路,编写Scratch程序。

1.首先建立三个列表“前一行”、“下一行”和“杨辉三角”,分别存放动态前一行和下一行,以及最后存放结果。并把第一行数据适当初始化。

scratch数学编程(Scratch编程学数学之杨辉三角)(3)

初始化

2.使用一些适当的计数变量和字符变量

3.核心程序是根据前一行的数字算出下一行的除两端的1的数字,依次放入“下一行”列表,做完立即将刚刚生成的“下一行”数据装入“前一行”,并把两端的1加上,生成新的前一行,便于下一轮递次计算。

scratch数学编程(Scratch编程学数学之杨辉三角)(4)

核心子程序

4.根据杨辉三角的层数分别计算出新的前一行,并把该行数字通过字符运算(加空格)组合起来依次放入“杨辉三角”列表。

scratch数学编程(Scratch编程学数学之杨辉三角)(5)

主程序

scratch数学编程(Scratch编程学数学之杨辉三角)(6)

显示结果

拓展:可否适当对字符进行处理,把杨辉三角每一行的数字展现在屏幕上,并形成等腰三角形排列?

猜您喜欢: