数值在一个边界附近轻微波动时,提示灯可能反复闪烁。使用较高的开启阈值和较低的关闭阈值,可以让两个阈值之间的数值保持原状态。
以下是为了练习规则阅读而设计的独立场景。所有输入在这里完整列出,可以先自己记录结果,再对照后面的计算。它不声称对应某款现成游戏;如果实际说明中的边界或处理顺序不同,应以该说明重新演算。
条件与输入
这是游戏界面的自定义警报,不对应任何真实设备。数值达到高阈值就开启,降到低阈值或更低才关闭,中间区间沿用前一刻状态;开始时关闭。
先判断是否不低于高阈值,再判断是否不高于低阈值,两者皆否则保持。
关闭阈值18,开启阈值36,初始关闭 依次读数[44, 14, 16, 14, 27, 36, 18, 28, 32, 26, 36, 35, 19, 18]
逐项复盘
读数44:此前灭,当前亮;跨过开启线。
读数14:此前亮,当前灭;达到关闭线。
读数16:此前灭,当前灭;达到关闭线。
读数14:此前灭,当前灭;达到关闭线。
读数27:此前灭,当前灭;处于中间带,沿用状态。
读数36:此前灭,当前亮;跨过开启线。
读数18:此前亮,当前灭;达到关闭线。
读数28:此前灭,当前灭;处于中间带,沿用状态。
读数32:此前灭,当前灭;处于中间带,沿用状态。
读数26:此前灭,当前灭;处于中间带,沿用状态。
读数36:此前灭,当前亮;跨过开启线。
读数35:此前亮,当前亮;处于中间带,沿用状态。
读数19:此前亮,当前亮;处于中间带,沿用状态。
读数18:此前亮,当前灭;达到关闭线。
亮灭序列为['亮', '灭', '灭', '灭', '灭', '亮', '灭', '灭', '灭', '灭', '亮', '亮', '亮', '灭']。
如何自行核对
不能只根据当前数字判断亮灭,因为中间区间需要知道此前发生过什么。一个独立检查方法是从当前记录往前找最近一次越过任一阈值的记录,它决定现在的状态。
可以把开启线略调高而保持关闭线,观察从灭到亮的时刻是否推迟;这会改变响应特性,并不是任何情况下都越宽越好。
练习时保留原输入,只改一处条件,再观察哪些结果发生变化。若结果与预期不同,先查编号起点、边界是否包含以及前一步留下的状态。这样的记录能把“感觉不对”变成可复现的问题,也更方便向同伴说明自己的判断依据。
