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

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)

显示结果

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

〖特别声明〗:本文内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。如有侵犯您的原创版权或者图片、等版权权利请告知 wzz#tom.com,我们将尽快删除相关内容。

赞 ()
打赏 微信扫一扫 微信扫一扫

相关推荐