阅读下列算法说明和流程图1,回答问题1至问题3。
[算法说明]
某旅馆共有N间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或1(占用)。客房是以房间(不是床位)为单位出租的。
本算法根据几个散客的要求预订一间空房。程序的输人为:人数M,房间等级要求R(R =0表示任意等级都可以)。程序的输出为:所有可供选择的房间号。
流程图1描述了该算法。
假设当前该旅馆各个房间的情况见表3。
当输入M=4,R=0时,该算法的输出是什么?
第1题:
阅读下列算法说明和流程图1,回答问题1至问题3,将解答填入答题纸的对应栏内。
【算法说明】
某旅馆共有N间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或1(占用)。客房是以房间(不是床位)为单位出租的。
本算法根据几个散客的要求预订一间空房。程序的输入为:人数M,房间等级要求R(R=0表示任意等级都可以)。程序的输出为:所有可供选择的房间号。
流程图1描述了该算法。
【问题1】
假设当前该旅馆各个房间的情况见表3。
当输入M=4,R=0时,该算法的输出是什么?
【问题2】
如果等级为r的房间每人每天的住宿费为RATE(r),RATE为数组。为使该算法在输出每个候选的房间号RM(J)后,再输出这批散客每天所需的总住宿费DAYRENT(J),流程图1的β所指框中的最后处应增加什么处理?
【问题3】
如果限制该算法最多输出K个可供选择的房间号,则在流程图1的α所指的判断框应改成什么处理?
【流程图1】(如图2所示)
图2
●试题一
[问题1]
【答案】101,301
【解析】当M=4,R=0表示客人数为4,对房间等级没有要求,根据流程图,依次判断各个房间是否满足要求,101有4张床且房间空闲,满足要求;102、202已被占用,排除,201床数为3<4,排除;301有6张床,且未被占用,满足条件,所以,输出结果为:101,301。
[问题2]
【答案】RATE(RANK(I))*M->DAYRENT(J)
【解析】房间的费用是根据房间的等级和房间所住客人的数量决定,所以在β框中应加入RATE(RANK(I))*M->DAYRENT(J)。
[问题3]
【答案】I>N||j=K,其中,J=K也可写成JK
【解析】若要限制算法最多输出K个房间号,也就是说,该程序执行输出结果的条件应为:(1)所有房间都已检查完,且满足条件的房间数小于等于K。(2)没有检查完但满足条件的房间数已等于K,所以α框中的条件应该改为I>N||j=K。
第2题:
阅读下列说明和图,回答问题1至问题3。
[说明]
某大型旅店为了便于管理,欲开发一个客房管理系统。希望实现客房预定、入住登记、帐务结算、退房,以及将服务项目记入客人帐单。
旅客包括散客和团体,散客预定或入住时需要提供姓名、性别、身份证和联系电话,团体则提供团体名称、负责人的姓名、性别、身份证和联系电话,以及团体人数。对于散客,还要提供换房。
旅店还提供了很多服务项目,比如早餐。对每一个入住客人,服务列表记录了住宿期间的各项服务,包括服务类型、日期、数量等。当然,客人也可以不要任何服务。
旅店的客房有一个唯一的房间号,分为不同的类别,不同的房间床位数和价格不同。
为了有效的管理,需要记录每天的客房状态。客房的状态有:空闲、占用、已预定和维修。
. 客人入住后,客房处于占用状态;
. 客人退房后,客房处于空闲状态;
. 客人预定后,客房处于已预定状态;
. 预定客人入住后,客房处于占用状态;
. 预定客人取消预定后客房处于空闲状态;
. 需要维修时客房处于维修状态;
. 维修完成后客房处于空闲状态。
该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-1是该系统的类图的一部分,图3-2描述了客房状态的转变情况。
[图3-1]
[图3-2]
请用图3-1的属性和方法的名称给出客人类的属性和方法。(注意:团体类中的负责人姓名等与散客的对应属性含义相同,不必区分)
第3题:
某宾馆一层客房比二层客房少5间,某旅游团48人,若全安排在第一层,每间4人,房间不够,每间5人,则有房间住不满;若全安排在第二层,每间3人,房间不够,每间住4人,则有房间住不满,该宾馆一层有客房多少问?
A.9
B.10
C.11
D.13
第4题:
阅读以下说明,回答问题1至问题4。
【说明】
某宾馆需要建立一个住房管理系统,部分的需求分析结果如下:
(1)一个房间有多个床位,同一房间内的床位具有相同的收费标准,不同房间的床位收费标准可能不同;
(2)每个房间有房间号(如201、202等)、收费标准、床位数目等信息:
(3)每位客人有身份证号码、姓名、性别、出生日期和地址等信息;
(4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息;
(5)管理系统可查询出客人所住房间号。
根据以上的需求分析结果,设计一种关系模型如图14-4所示:
根据上述说明和实体-联系图,得到该住房管理系统的关系模式如下所示,请补充住宿关系。
房间(房间号,收费标准,床位数目)
客人(身份证号,姓名,性别,出生日期,地址)
住宿((1),入住日期,退房日期,预付款额)
第5题:
阅读以下某旅馆客房管理系统的算法说明和程序流程图,根据要求回答问题1~问题4。
[算法说明]
某旅馆共有N间客房。每间客房的房间号、房间等级、床位数及占用状态分别存放在数组ROOM、RANK、NBED和 STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或1(占用)。客房是以房间(不是床位)为单位出租的。
程序流程图(见图6-21)所反映的算法是,根据几个散客的要求预订一间空房。程序的输入为:人数M,房间等级要求 R(R=0表示任意等级都可以)。程序的输出为:所有可供选择的房间号。
在程序流程图(见图6-21)中,若要某个房间I被选中,则需要满足什么条件?