易语言判断勾股数解直角三角形

易语言找出100以内的所有能组成直角三角形的数值,并显示出来。
在直角三角形中,两个直角边的平方和等于斜边的平方,也就是非常著名的"勾股定理",那么这100以内的数字中,就存在着这样的一些数,比如:3,4,5,3的平方加上4的平方等于5的平方,这三个数就可以组成一个直角三角形。
首先设法得到从3到100之间的数的两组合。利用二重循环可以达到这一目的。令外循环变量为A,A从1到99。令内循环的循环变量为B,B从A+1到100。然后在循环体内判断A和B是否满足等式(1)。
将满足等式的A和B及C打印出来。为了缩短机器运算时间,我们可以利用勾股数的奇偶特性。即在A和B中一个是奇数,另一个必定是偶数。那么可以让B从A+1开始,每次增加步长为2。因为A若是奇数,A+1就是偶数。以后步长是2,B总是为偶数。如果A是偶数,A+1就是奇数。以后步长是2,B总为奇数。我们用整形变量I、J、L分别代表A、B、C

易语言判断勾股数解直角三角形 配图1

执行

.版本 2
.支持库 iext
 
.子程序 _计算图形按钮_被单击
.局部变量 循环变量1, 整数型, , , 代表直角边A
.局部变量 循环变量2, 整数型, , , 代表直角边B
.局部变量 平方根, 小数型, , , 存放平方根值
.局部变量 平方和, 小数型, , , 存放两个数的平方和
.局部变量 变量, 整数型, , , 存放平方根取整之后的数,也就是斜边
.局部变量 表项位置, 整数型, , , 存放插入的表项的位置
 
显示结果超级列表框.全部删除 ()
' 设置初值为3,因为勾数从3开始
循环变量1 = 3
' 这里的“循环变量1”为勾数,“循环变量2”为股数
.判断循环首 (循环变量1 ≤ 99)
    循环变量2 = 循环变量1 + 1
    .判断循环首 (循环变量2 ≤ 100)
        ' 求出勾数和股数两个数的平方之和
        平方和 = 循环变量1 × 循环变量1 + 循环变量2 × 循环变量2
        ' 求出勾数和股数两个数的平方之和的平方根
        平方根 = 求平方根 (平方和)
        ' 对平方根取整,就是取出平方根的整数部分
        变量 = 取整 (平方根)
        ' 判断取整后的平方根是否在100以内并且是否等于直接取出的平方根
        .如果真 (变量 ≤ 100 且 变量 = 平方根)
            ' 如果符合上面的条件,就是要找的数,然后将它们显示出来
            表项位置 = 显示结果超级列表框.插入表项 (, , , , , )
            显示结果超级列表框.置标题 (表项位置, 0, 到文本 (循环变量1))
            显示结果超级列表框.置标题 (表项位置, 1, 到文本 (循环变量2))
            显示结果超级列表框.置标题 (表项位置, 2, 到文本 (变量))
        .如果真结束
        循环变量2 = 循环变量2 + 2
    .判断循环尾 ()
    循环变量1 = 循环变量1 + 1
.判断循环尾 ()

显示结果超级列表框

窗口放置一个用来显示的超级列表框。

.版本 2
.支持库 iext
 
.子程序 _显示结果超级列表框_当前表项被改变, , , 当单击列表框中的一行数值后,在画板中画出相应的直角三角形
.局部变量 直角边A, 整数型
.局部变量 直角边B, 整数型
.局部变量 斜边C, 整数型
 
三角形画板.清除 (, , , )
' 绘制选择的直角三角形
直角边A = 到数值 (显示结果超级列表框.取标题 (显示结果超级列表框.现行选中项, 0))
直角边B = 到数值 (显示结果超级列表框.取标题 (显示结果超级列表框.现行选中项, 1))
斜边C = 到数值 (显示结果超级列表框.取标题 (显示结果超级列表框.现行选中项, 2))
三角形画板.画直线 (10, 10, 10, 10 + 直角边A)
三角形画板.画直线 (10, 10 + 直角边A, 10 + 直角边B, 10 + 直角边A)
三角形画板.画直线 (10 + 直角边B, 10 + 直角边A, 10, 10)

分享到:

用微信扫一扫,分享给朋友


发布日期:

所属分类: 编程 标签: