|
发表于 2025-4-8 20:22:54
|
显示全部楼层
浙江省衢州市
优化说明:- 封装重复代码:将分割文本并转换为整数数组的逻辑封装到 分割文本并转换 子程序中,将获取数组号的逻辑封装到 获取数组号 子程序中,将获取和数的逻辑封装到 获取和数 子程序中,减少代码重复。
- 提前进行边界检查:在 获取和数 子程序中,对 成员号 进行边界检查,避免访问越界。
- 减少内存分配:在 分割文本并转换 子程序中,使用 重定义数组 一次性分配足够的内存,避免在循环中频繁使用 加入成员 函数。
- 优化循环条件:将 判断循环首 (真) 改为 判断循环首 (循环次数 < 67277),避免不必要的循环判断。
通过这些优化,可以减少不必要的计算和内存分配,电脑和你不一样,不知是否减少了运行时间?
变量名 | 类 型 | 静态 | 数组 | 备 注 | 输入组件 | 文本型 | | 9 | 分割后数组 | 文本型 | | 9 | 整数数组 | 整数型 | | 9 | 数组 | 文本型 | | 0 | 成员 | 文本型 | | 0 | 运行时间 | 整数型 | | | 循环常量 | 整数型 | | | 循环次数 | 整数型 | | | 数据总和 | 整数型 | | | i | 整数型 | | | 第几位 | 整数型 | | | 对数组号 | 整数型 | | | 对成员号 | 整数型 | | |
输入组件 [1 ] = q1.内容 输入组件 [2 ] = q2.内容 输入组件 [3 ] = q3.内容 输入组件 [4 ] = q4.内容 输入组件 [5 ] = q5.内容 输入组件 [6 ] = q6.内容 输入组件 [7 ] = q7.内容 输入组件 [8 ] = q8.内容 输入组件 [9 ] = q9.内容 分割文本并转换 (输入组件, 分割后数组, 整数数组 ) 计次循环首 (2, 循环常量 ) 运行时间 = 取启动时间 () 文本_逐字分割 (指定数组 (), 数组 ) 循环次数 = 0  判断循环首 (循环次数 < 67277 )  循环次数 = 循环次数 + 1  文本_逐字分割 (指定成员 (), 成员 )  数据总和 = 0   计次循环首 (200, i )   计次循环首 (取数组成员数 (成员 ), 第几位 )    对数组号 = 获取数组号 (数组, 第几位 )    对成员号 = 到整数 (成员 [第几位 ]) + i - 1     数据总和 = 数据总和 + 获取和数 (整数数组, 对成员号 )   计次循环尾 ()  计次循环尾 () 判断循环尾 () 编辑框1. 加入文本 (到文本 (循环常量 ) + “轮:” + 到文本 (取启动时间 () - 运行时间 ) + #换行符 ) 计次循环尾 ()|
分割文本并转换 | | | |
输入组件 | 文本型 | | | | 分割后数组 | 文本型 | | | | 整数数组 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | i | 整数型 | | | j | 整数型 | | | 成员数 | 整数型 | | |
计次循环首 (9, i ) 分割后数组 = 分割文本 (输入组件 [i ], #换行符, ) 成员数 = 取数组成员数 (分割后数组 ) 重定义数组 (整数数组, 真, 成员数 ) 计次循环首 (成员数, j )  整数数组 [j ] = 到整数 (分割后数组 [j ]) 计次循环尾 () 计次循环尾 () 如果 (第几位 = 6 ) 返回 (1 ) 返回 (到整数 (数组 [第几位 ]))  如果 (成员号 > 0 且 成员号 ≤ 取数组成员数 (目标数组 )) 返回 (目标数组 [成员号 ]) 返回 (0 )
|
|