- 日志
- 好友
- 卖家信用
- 买家信用
- 注册时间
- 2019-3-16
- 在线时间
- 小时
|
楼主 |
发表于 2019-4-9 13:43:35
|
显示全部楼层
假设在只能通过攻角传感器判断仰角是否异常的情况下,
对于攻角传感器A,B
程序1:
if(yangJiaoMax(A) && yangJiaoMax(B)){
下压机头();
}
程序2:
if(yangJiaoMax(A) || yangJiaoMax(B)){
下压机头();
}
-----------------------------------
case1(B传感器错误,实际已发生仰角异常):
A仰角异常(正确读数)
B仰角正常(错误读数)
case1测试结果(程序1):
程序运行结果:不发出下压机头指令
飞行结果:仰角异常导致飞机失控坠毁
case1测试结果(程序2):
程序运行结果:发出下压机头指令
飞行结果:纠正了仰角异常,正常飞行。
-------------------------------------
case2(B传感器错误,实际未发生仰角异常):
A仰角正常(正确读数)
B仰角异常(错误读数)
case2测试结果(程序1):
程序运行结果:不发出下压机头指令
飞行结果:正常飞行。
case2测试结果(程序2):
程序运行结果:发出下压机头指令
飞行结果:发出下压机头指令,机长与MCAS进行斗争,斗争失败后飞机坠毁。
-------------------------------------
所以在只有两个传感器并且仰角异常会导致瞬时的飞机失控的情况下,只能选择程序2的写法,就算一个传感器错误导致发出下压机头指令,机长仍有时间与MCAS进行斗争,比如关闭MCAS等。
-------------------------------------
结论:印度程序员可能背了不该背的锅,风险本来就存在,只是管理层迫于市场的压力选择了风险小的case强推。 |
|