窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
原始值 | 整数型 | 0 |
数据组 | 文本型 | 0 |
调整记录 | 文本型 | |
原始值 =
{ 0.3, 0.5, 5, 0.8, 3, 0.2, 1
}数据组 =
{ “A”,
“B”,
“C”,
“D”,
“E”,
“F”,
“G” }调整处理 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
总量溢出 | 小数型 | | |
需要分配量 | 小数型 | | |
最小值索引 | 整数型 | | |
可接受增量 | 小数型 | | |
实际增量 | 小数型 | | |
调整记录 =
“【初始数据】” +
#换行符 显示当前状态 ()
计次循环首 (取数组成员数 (原始值
), i
)
如果真 (原始值
[i
] ≥ 3
)

总量溢出 = 总量溢出 + 原始值
[i
] - 2.99


调整记录 = 调整记录 + 数据组
[i
] +
“:” +
到文本 (原始值
[i
]) +
“-” +
到文本 (原始值
[i
] - 2.99
) +
#换行符 

原始值
[i
] = 2.99


计次循环尾 ()
判断循环首 (总量溢出 > 0.001
) 
最小值索引 =
取最小值索引 ()
可接受增量 = 2.99 - 原始值
[最小值索引
]
实际增量 =
取最小值 (可接受增量, 总量溢出
)
原始值
[最小值索引
] = 原始值
[最小值索引
] + 实际增量

调整记录 = 调整记录 + 数据组
[最小值索引
] +
“+” +
到文本 (实际增量
) +
“ ”
总量溢出 = 总量溢出 - 实际增量

如果真 (原始值
[最小值索引
] ≥ 3
)

调整记录 = 调整记录 +
#换行符 +
“?发现新溢出项:” + 数据组
[最小值索引
] +
#换行符 

总量溢出 = 总量溢出 + 原始值
[最小值索引
] - 2.99


调整记录 = 调整记录 + 数据组
[最小值索引
] +
“:” +
到文本 (原始值
[最小值索引
]) +
“-” +
到文本 (原始值
[最小值索引
] - 2.99
) +
#换行符 

原始值
[最小值索引
] = 2.99


处理事件 ()
判断循环尾 ()调整记录 = 调整记录 +
#换行符 +
“【最终结果】” +
#换行符 调试输出 (调整记录
)显示当前状态 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
当前总和 | 小数型 | | |
信息文本 | 文本型 | | |
i | 整数型 | | |
信息文本 =
“”
计次循环首 (取数组成员数 (原始值
), i
)
信息文本 = 信息文本 + 数据组
[i
] +
“:” +
到文本 (原始值
[i
]) +
“ ”
当前总和 = 当前总和 + 原始值
[i
]
计次循环尾 ()调整记录 = 调整记录 + 信息文本 +
#换行符 调整记录 = 调整记录 +
“当前总和:” +
到文本 (当前总和
) +
#换行符 调试输出 (调整记录
)变量名 | 类 型 | 静态 | 数组 | 备 注 |
最小值 | 小数型 | | |
索引 | 整数型 | | |
i | 整数型 | | |
最小值 = 999
索引 = 1
计次循环首 (取数组成员数 (原始值
), i
)
如果真 (原始值
[i
] < 最小值
)

最小值 = 原始值
[i
]

索引 = i


计次循环尾 ()返回 (索引
)
窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
原始数据 | 文本型 | 0 |
字母标签 =
{ “A”,
“B”,
“C”,
“D”,
“E”,
“F”,
“G” }按钮1.标题 =
“检查第一组数据”按钮2.标题 =
“检查第二组数据”编辑框1.内容 =
“A:0.3 B:0.5 C:5 D:0.8 E:3 F:0.2 G:1”编辑框2.内容 =
“A:0.3 B:0.5 C:5 D:0.5 E:3 F:0.2 G:1”原始数据 =
分割文本 (编辑框1.内容,
“ ”,
)处理数据 ()原始数据 =
分割文本 (编辑框2.内容,
“ ”,
)处理数据 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
i | 整数型 | | |
总和 | 双精度小数型 | | |
调整量 | 双精度小数型 | | |
需要调整 | 逻辑型 | | |
输出文本 | 文本型 | | |
最小索引 | 整数型 | | |
最小值 | 双精度小数型 | | |
调整后数据 | 整数型 | | 7 |
j | 整数型 | | |
字母标签 | 文本型 | | 7 |
计次循环首 (7, i
)
调整后数据
[i
] =
取数值 (取文本右边 (原始数据
[i
],
取文本长度 (原始数据
[i
]) - 2
))
计次循环尾 () 需要调整 = 假
计次循环首 (7, i
)
如果 (调整后数据
[i
] ≥ 3
)

需要调整 = 真


调整量 = 调整后数据
[i
] - 2.99


调整后数据
[i
] = 2.99



最小值 = 调整后数据
[1
]

最小索引 = 1


计次循环首 (7, j
)


如果 (调整后数据
[j
] < 最小值
)



最小值 = 调整后数据
[j
]



最小索引 = j














计次循环尾 ()

调整后数据
[最小索引
] = 调整后数据
[最小索引
] + 调整量


输出文本 = 输出文本 + 字母标签
[i
] +
“:” +
到文本 (调整后数据
[i
] + 调整量
) +
“-” +
到文本 (调整量
) +
“ ” + 字母标签
[最小索引
] +
“:” +
到文本 (调整后数据
[最小索引
] - 调整量
) +
“+” +
到文本 (调整量
) +
#换行符 +
“调整后: ” + 字母标签
[i
] +
“=” +
到文本 (调整后数据
[i
]) +
“ ” + 字母标签
[最小索引
] +
“=” +
到文本 (调整后数据
[最小索引
]) +
#换行符 +
#换行符 







计次循环尾 () 总和 = 0
计次循环首 (7, i
)
总和 = 总和 + 调整后数据
[i
]
计次循环尾 () 输出文本 = 输出文本 +
“当前总和: ” +
到文本 (总和
) +
#换行符
如果 (总和 > 10.5
)
输出文本 = 输出文本 +
“提示: 总和” +
到文本 (总和
) +
“ 已超出10.5”
如果 (总和 < 9.5
)

输出文本 = 输出文本 +
“提示: 总和” +
到文本 (总和
) +
“ 低于9.5”

输出文本 = 输出文本 +
“提示: 总和” +
到文本 (总和
) +
“ 可匹配”

信息框 (输出文本, 0,
“处理结果”,
)
计次循环首 (取文本长度 (文本
), i
)
如果 (取代码 (文本, i
) ≥ 48
且 取代码 (文本, i
) ≤ 57
或 取代码 (文本, i
) = 46
)

结果 = 结果 +
取文本中间 (文本, i, 1
)





计次循环尾 ()返回 (到数值 (结果
))