早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读以下某旅馆客房管理系统的算法说明和程序流程图,根据要求回答问题1~问题4。 [算法说明] 某旅

题目

阅读以下某旅馆客房管理系统的算法说明和程序流程图,根据要求回答问题1~问题4。

[算法说明]

某旅馆共有N间客房。每间客房的房间号、房间等级、床位数及占用状态分别存放在数组ROOM、RANK、NBED和 STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或1(占用)。客房是以房间(不是床位)为单位出租的。

程序流程图(见图6-21)所反映的算法是,根据几个散客的要求预订一间空房。程序的输入为:人数M,房间等级要求 R(R=0表示任意等级都可以)。程序的输出为:所有可供选择的房间号。

在程序流程图(见图6-21)中,若要某个房间I被选中,则需要满足什么条件?

参考答案
正确答案:在程序流程图(见图6-21)中I表示房间序号(需注意不是房间的编号)。当I>N时表示所有的房间都检查过了若STATUS(I)[*]0表示房间已被占用则检查下一个房间;否则查看房间的床铺是否足够。若NBED(I)M表示房间床铺不够则检查下一个房间;若床铺足够则需看客人对房间等级是否有要求。若R!=0表示客人对房间等级有要求则检查RANK(I)是否等于R。若不等于则检查下一个房间;若RANK(I)==R或者R==0分别表示房间等级满足要求和客人对房间等级无要求则当前的房间I满足所有的条件。接着可将房间I的房间编号ROOM(I)存放到RM(J)中然后检查下一个房间。 综合以上分析结果某个房间I要满足下列条件才可被选中: ①房间未被占用即STATUS(I)==0; ②房间的床铺要足够即NBED(I)>=M; ③若客人要求特定的房间等级R(R!=0)则RANK(I)==R否则RANK(I)的值不做考虑。
在程序流程图(见图6-21)中,I表示房间序号(需注意不是房间的编号)。当I>N时表示所有的房间都检查过了,若STATUS(I)[*]0,表示房间已被占用,则检查下一个房间;否则查看房间的床铺是否足够。若NBED(I)M表示房间床铺不够,则检查下一个房间;若床铺足够,则需看客人对房间等级是否有要求。若R!=0,表示客人对房间等级有要求,则检查RANK(I)是否等于R。若不等于,则检查下一个房间;若RANK(I)==R或者R==0,分别表示房间等级满足要求和客人对房间等级无要求,则当前的房间I满足所有的条件。接着可将房间I的房间编号ROOM(I)存放到RM(J)中,然后检查下一个房间。 综合以上分析结果,某个房间I要满足下列条件才可被选中: ①房间未被占用,即STATUS(I)==0; ②房间的床铺要足够,即NBED(I)>=M; ③若客人要求特定的房间等级R(R!=0),则RANK(I)==R,否则RANK(I)的值不做考虑。