问题 问答题


阅读以下某旅馆客房管理系统的算法说明和程序流程图,根据要求回答问题1~问题4。
[算法说明]
某旅馆共有N间客房。每间客房的房间号、房间等级、床位数及占用状态分别存放在数组ROOM、RANK、NBED和 STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或1(占用)。客房是以房间(不是床位)为单位出租的。
程序流程图(见图6-21)所反映的算法是,根据几个散客的要求预订一间空房。程序的输入为:人数M,房间等级要求 R(R=0表示任意等级都可以)。程序的输出为:所有可供选择的房间号。

[问题2]
假设该旅馆当前各个房间的情况如表6-14所示。

表6-14 某旅馆房间的情况表

序号iROOMRANKNBEDSTATUS
11101260
21102361
31201120
41202330
51301121
61302230

当输入M=3,R=0时,该算法的输出是 (1)
当输入M=2,R=1时,该算法的输出是 (2)

答案

参考答案:

解析:[问题2] 当输入M=3,R=0时,表示客人的人数为3,对房间的等级没有要求,因此,只要房间的床铺足够且房间未被占用即可满足要求。换言之,在表6-14中NBED列中的值大于等于3,STATUS列中的值为0即可满足条件,因此输出的结果为:1101 1202 1302。 当输入M=2,R=1时,表示客人的人数为2,要求房间的等级为1级,因此,在房间的床铺足够且房间未被占用时,还要求房间的等级为1级才可满足要求。换言之,表6-14中RANK列中的值等于1,NBED列中的值大于等于2,STATUS列中的值为0即可满足条件,因此,输出的结果为:1201。

名词解释
单项选择题