|
33楼
发表于 2018-1-14 21:25:28
|
只看该作者
广东省东莞市

本帖最后由 574448656 于 2018-1-14 21:27 编辑
.子程序 运算_二分查找, 整数型, 公开 |
(未填写子程序名) | | | | |
|
|
数组 | 文本型 | | | | 待查 | 文本型 | | | | 类型 | 整数型 | | | | 区分大小写 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 位置 | 整数型 | | | 数组总数 | 整数型 | | | 对分 | 整数型 | | | 数值A | 双精度小数型 | | | 数值B | 双精度小数型 | | | 文本 | 文本型 | | |
位置 = 1 数组总数 = 取数组成员数 (数组 ) 如果真 (数组总数 = 0 ) 返回 (1 ) 判断 (类型 = 0 ) 数值A = 到数值 (待查 ) 如果真 (数值A ≥ 到数值 (数组 [数组总数 ]))  返回 (数组总数 + 1 ) 如果真 (数值A ≤ 到数值 (数组 [1 ]))  返回 (1 ) 判断循环首 (位置 < 数组总数 - 1 )  对分 = (位置 + 数组总数 ) \ 2   数值B = 到数值 (数组 [对分 ])  如果真 (数值A = 数值B )   位置 = 对分   跳出循环 ()  如果 (数值A < 数值B )   数组总数 = 对分    位置 = 对分     判断循环尾 () 判断 (类型 = 1 ) 如果真 (文本比较 (待查, 数组 [数组总数 ], 区分大小写 ) ≥ 0 ) 返回 (数组总数 + 1 ) 如果真 (文本比较 (待查, 数组 [1 ], 区分大小写 ) ≤ 0 ) 返回 (1 ) 判断循环首 (位置 < 数组总数 - 1 )  对分 = (位置 + 数组总数 ) \ 2   如果真 (文本比较 (待查, 数组 [对分 ], 区分大小写 ) = 0 )   位置 = 对分   跳出循环 ()  如果 (文本比较 (待查, 数组 [对分 ], 区分大小写 ) < 0 )   数组总数 = 对分    位置 = 对分     判断循环尾 () 判断 (类型 = 2 ) 数值A = 取字节集数据 (到字节集 (到时间 (待查 )), #双精度小数型 ) 如果真 (数值A ≥ 取字节集数据 (到字节集 (到时间 (数组 [数组总数 ])), #双精度小数型 ))  返回 (数组总数 + 1 ) 如果真 (数值A ≤ 取字节集数据 (到字节集 (到时间 (数组 [1 ])), #双精度小数型 ))  返回 (1 ) 判断循环首 (位置 < 数组总数 - 1 )  对分 = (位置 + 数组总数 ) \ 2   数值B = 取字节集数据 (到字节集 (到时间 (数组 [对分 ])), #双精度小数型 )  如果真 (数值A = 数值B )   位置 = 对分   跳出循环 ()  如果 (数值A < 数值B )   数组总数 = 对分    位置 = 对分     判断循环尾 () 返回 (位置 + 1).子程序 运算_函数计算, 文本型, 公开, 求正弦、余弦、正切、余切 变量名 | 类 型 | 静态 | 数组 | 备 注 | TempText | 文本型 | | | FText | 文本型 | | | FNum | 整数型 | | | ZText | 文本型 | | | RetText | 文本型 | | | i | 整数型 | | | Find | 整数型 | | | YFind | 整数型 | | |
TempText = Text 计次循环首 (4, i ) FText = 多项选择 (i, “sin(”, “cos(”, “tg(”, “ctg(”) FNum = 多项选择 (i, 4, 4, 3, 4 ) Find = 寻找文本 (TempText, FText, , 假) 判断循环首 (Find ≠ -1 )  YFind = 寻找文本 (TempText, “)”, Find, 假)   如果真 (YFind ≠ -1 )   ZText = 取文本中间 (TempText, Find + FNum, YFind - Find - FNum )   判断 (ZText = “”)     TempText = 文本替换 (TempText, Find, FNum + 1, )    RetText = 运算_括号计算 (ZText )    如果真 (RetText = “”)     返回 (“”)    判断 (i = 1 )      RetText = 到文本 (求正弦 (选择 (单位, 到数值 (RetText ), 到数值 (RetText ) × #pi ÷ 180 )) )    判断 (i = 2 )      RetText = 到文本 (求余弦 (选择 (单位, 到数值 (RetText ), 到数值 (RetText ) × #pi ÷ 180 )) )    判断 (i = 3 )      RetText = 到文本 (求正切 (选择 (单位, 到数值 (RetText ), 到数值 (RetText ) × #pi ÷ 180 )) )     RetText = 到文本 (1 ÷ 求正切 (选择 (单位, 到数值 (RetText ), 到数值 (RetText ) × #pi ÷ 180 )) )     如果真 (是否运算正确 (到数值 (RetText )) = 假)    返回 (“”)   TempText = 文本替换 (TempText, Find, 取文本长度 (ZText) + FNum + 1, RetText)     Find = 寻找文本 (TempText, FText, , 假) 判断循环尾 () 计次循环尾 ()返回 (运算_括号计算 (TempText ))
|
|