1主观题1 / 6
试题一
阅读下列算法说明和流程图1,回答问题1至问题3,将解答填入答题纸的对应栏内。
[算法说明]
某旅馆共有N间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或l(占用)。客房是以房间(不是床位)为单位出租的。
本算法根据几个散客的要求预订一间空房。程序的输入为:人数M,房间等级要求R(R=0表示任意等级都可以)。程序的输出为;所有可供选择的房间号。
流程图1描述了该算法。
[问题1]
假设当前该旅馆各个房间的情况如下表:
当输入M=4,R=0时,该算法的输出是什么?
[问题2]
如果等级为r的房间每人每天的住宿费为RATE(r),RATE为数组。为使该算法在输出每个候选的房间号RM(J)后,再输出这批散客每天所需的总住宿费DAYRENT(J),流程图1的β所指框中的最后处应增加什么处理?
[问题3]
如果限制该算法最多输出K个可供选择的房间号,则在流程图1的α所指的判断框应改成什么处理?
阅读下列算法说明和流程图1,回答问题1至问题3,将解答填入答题纸的对应栏内。
[算法说明]
某旅馆共有N间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或l(占用)。客房是以房间(不是床位)为单位出租的。
本算法根据几个散客的要求预订一间空房。程序的输入为:人数M,房间等级要求R(R=0表示任意等级都可以)。程序的输出为;所有可供选择的房间号。
流程图1描述了该算法。
[问题1]
假设当前该旅馆各个房间的情况如下表:
| 序号i | ROOM | RANK | NBED | STATUS |
| 1 | 101 | 3 | 4 | 0 |
| 2 | 102 | 3 | 4 | 1 |
| 3 | 201 | 2 | 3 | 0 |
| 4 | 202 | 2 | 4 | 1 |
| 5 | 301 | 1 | 6 | 0 |
当输入M=4,R=0时,该算法的输出是什么?
[问题2]
如果等级为r的房间每人每天的住宿费为RATE(r),RATE为数组。为使该算法在输出每个候选的房间号RM(J)后,再输出这批散客每天所需的总住宿费DAYRENT(J),流程图1的β所指框中的最后处应增加什么处理?
[问题3]
如果限制该算法最多输出K个可供选择的房间号,则在流程图1的α所指的判断框应改成什么处理?
查看答案
[ 问题 1] 101 , 301
[ 问题 2] RATE(RANK(I)) * M → DAYRENT(J)
或 M * RATE(RANK(I)) → DAYRENT(J)
[ 问题三 ]
I > N OR J=K, 其中, I > N 也可以写成 I = N+1 ; J = K 也可以写成 J ≥ K 。
[ 问题 2] RATE(RANK(I)) * M → DAYRENT(J)
或 M * RATE(RANK(I)) → DAYRENT(J)
[ 问题三 ]
I > N OR J=K, 其中, I > N 也可以写成 I = N+1 ; J = K 也可以写成 J ≥ K 。