读懂情境并设计算法
此页面需较新浏览器(支持 SharedArrayBuffer)。请升级 Chrome、Edge、Firefox 或 Safari 至最新版本。
从情境到输入输出要求
订座系统读取组人数,须整组接受或拒绝;拒绝不能改变剩余座位。Remaining 与 Size 为 INTEGER,Accepted 为 BOOLEAN。区分输入、判断、状态更新与输出。恰好用完剩余座位仍应接受。
例题:一次申请
剩余七座、申请七座。将申请人数与当前余量比较,再更新状态。
DECLARE Remaining, Size : INTEGER
Remaining ← 7
Size ← 7
IF Size <= Remaining THEN
Remaining ← Remaining - Size
OUTPUT "accepted"
ELSE
OUTPUT "rejected"
ENDIF
OUTPUT Remaining
输出 accepted、0。Size 改为 8 时 Remaining 应保持 7;这检查拒绝分支。
先引导,再独立
先完成订座算法,再从空白编辑器解决电梯问题。在思路框中解释超量申请为何不能改变总量,并跟踪恰好到达上限的申请。
订座申请包含姓名、整数数量与是否接受状态,从 STRING、INTEGER、BOOLEAN、REAL 中按序选择三字段类型。
完成代码:输入 N 个正整数人数,容量为 15。能容纳则接受,每组输出 accepted/rejected,最后输出剩余座位。
点击“运行”查看此处输出。
电梯总重量上限 300。输入 N(1 至 5)及 N 个正整数重量,输出接纳人数与最终重量。跳过会超限的人,后续人仍可能进入。
点击“运行”查看此处输出。
解释数据结构与循环选择,指出一个边界用例并预测结果。对子程序,解释返回值或调用方变化。
本次答案保存在本浏览器。请自行或与老师复核;文字解释不自动评分。
按要点复核解释
- 类型与数据结构符合数据及要求。
- 已解释循环选择并检查首末次。
- 初值与被拒操作保持正确状态。
- 测试包含输入、用途与预期结果。
- 区分了返回、输出与改变调用方状态。