八年级学生学习勾股定理的逆定理后,就学习了勾股数。
1、勾股数是什么呢?
如果三个正整数,较小两数的平方之和等于最大数的平方,那么这三个数为边长,可以围成直角三角形,称这三个数为一组勾股数
典型的有:
3,4,5;
5,12,13;
6,8,10;
7,24,25
等等
那么如何找这些勾股数呢?有一些勾股数公式,本文不谈这个问题。
当然,学生可以简单地记住:如果a,b,c是一组勾股数,那么ak,bk,ck也是一组勾股数(其中K为正整数)
2、用宏代码去找出常见的勾股数
本文介绍在excel中用宏代码,求出常见的勾股数
(1)设计思想:采取三重循环结构,每重循环对一个边长进行循环,去判断是否两个整数的平方和等于最大整数的平方。如果是,就在excel的sheet1中在同一行的三个单元格中打印出这三个数,再进行下一轮循环
(2)宏代码:
第一步,在excel的工具菜单中,找到宏,找到visual basic编辑器

第二步,进入宏代码的资源管理器窗口,右击鼠标,插入模块

Sub aa()
hs = 0 '找到一组勾股数后,在sheet1的hs行三个单元输出这三个数,初始为0
For a = 1 To 100
For b = 1 To 200
For c = 1 To 300
If a * a + b * b = c * c And a <= b Then
hs = hs + 1
Sheets(1).Cells(hs, 1) = a
Sheets(1).Cells(hs, 2) = b
Sheets(1).Cells(hs, 3) = c
End If
Next c
Next b
Next a
End Sub

第四步,点工具栏上的运行按钮,运行这个子程序

第五步,查看sheet1工作表,得到了一些勾股数121组
3 4 5
5 12 13
6 8 10
7 24 25
8 15 17
9 12 15
9 40 41
10 24 26
11 60 61
12 16 20
12 35 37
13 84 85
14 48 50
15 20 25
15 36 39
15 112 113
16 30 34
16 63 65
17 144 145
18 24 30
18 80 82
19 180 181
20 21 29
20 48 52
20 99 101
21 28 35
21 72 75
22 120 122
24 32 40
24 45 51
24 70 74
24 143 145
25 60 65
26 168 170
27 36 45
27 120 123
28 45 53
28 96 100
28 195 197
30 40 50
30 72 78
32 60 68
32 126 130
33 44 55
33 56 65
33 180 183
35 84 91
35 120 125
36 48 60
36 77 85
36 105 111
36 160 164
39 52 65
39 80 89
40 42 58
40 75 85
40 96 104
40 198 202
42 56 70
42 144 150
44 117 125
45 60 75
45 108 117
45 200 205
48 55 73
48 64 80
48 90 102
48 140 148
48 189 195
49 168 175
50 120 130
51 68 85
51 140 149
52 165 173
54 72 90
55 132 143
56 90 106
56 105 119
56 192 200
57 76 95
57 176 185
60 63 87
60 80 100
60 91 109
60 144 156
60 175 185
63 84 105
64 120 136
65 72 97
65 156 169
66 88 110
66 112 130
69 92 115
70 168 182
72 96 120
72 135 153
72 154 170
75 100 125
75 180 195
78 104 130
78 160 178
80 84 116
80 150 170
80 192 208
81 108 135
84 112 140
84 135 159
84 187 205
85 132 157
87 116 145
88 105 137
88 165 187
90 120 150
93 124 155
95 168 193
96 110 146
96 128 160
96 180 204
99 132 165
99 168 195
100 105 145
3、宏代码说明
这段宏代码,将较小直角边限制在100内,较大直角边限制在200内,斜边限制在300内。
4、小结感悟
其实,数学穷举法有时可以让计算机用循环程序快速办到
会写点过程语言代码,在excel这个环境中就能处理好数据分析
VBA是微软公司visual basic的简版,非常老练、成熟!!!
