niusouti.com

某五星级宾馆共有H间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中。房间等级用整数表示。房间状态有:空闲(0表示)和占用(1表示)。客房以房间为单位出租。试设计一个算法,依据散客的要求预定房间,要求输入为:人数M,房间等级要求R(R为0表示任意等级均可);输出为:可供选择的房间号。要求用程序流程图描述算法。

题目
某五星级宾馆共有H间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中。房间等级用整数表示。房间状态有:空闲(0表示)和占用(1表示)。客房以房间为单位出租。试设计一个算法,依据散客的要求预定房间,要求输入为:人数M,房间等级要求R(R为0表示任意等级均可);输出为:可供选择的房间号。要求用程序流程图描述算法。


相似考题
参考答案和解析
参考答案:
更多“某五星级宾馆共有H间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中。房间等级用整数表示。房间状态有:空闲(0表示)和占用(1表示)。客房以房间为单位出租。试设计一个算法,依据散客的要求预定房间,要求输入为:人数M,房间等级要求R(R为0表示任意等级均可);输出为:可供选择的房间号。要求用程序流程图描述算法。 ”相关问题
  • 第1题:

    读下列算法说明和图4-5,回答问题1至问题3。

    【算法说明】

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

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

    图4-5描述了该算法。

    假设当前该旅馆各个房间的情况如表4-3所示。

    当输入M=4,R=0时,该算法的输出是什么?


    正确答案:101301。
    101,301。

  • 第2题:

    阅读以下某旅馆客房管理系统的算法说明和程序流程图,根据要求回答问题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)的值不做考虑。

  • 第3题:

    下列某旅馆房间的室内净高,哪一条不符要求?( )

    A.有空调的客房间,室内净高2.4m
    B.无空调客房间,室内净高2.6m
    C.客房内卫生间,室内净高2.2m
    D.客房层公共走道,净高2.0m

    答案:D
    解析:
    《旅馆规范》4.2.9客房室内净高应符合下列规定:①客房居住部分净高,当设空调时不低于2.4m;不设空调时不应低于2.60m;②利用坡屋顶内空间作为客房时,应至少有8 ㎡面积的净高不低2.40m;③卫生间净高不应低于2.20m;④客房层公共走道及客房内走道净高不低于2.10m。

  • 第4题:

    阅读下列算法说明和流程图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

    【答案】101301

    【解析】当M=4,R=0表示客人数为4,对房间等级没有要求,根据流程图,依次判断各个房间是否满足要求,1014张床且房间空闲,满足要求;102202已被占用,排除,201床数为3<4,排除;3016张床,且未被占用,满足条件,所以,输出结果为:101301

    [问题2

    【答案】RATERANKI))*M->DAYRENTJ

    【解析】房间的费用是根据房间的等级和房间所住客人的数量决定,所以在β框中应加入RATERANKI))*M->DAYRENTJ)。

    [问题3

    【答案】I>N||jK,其中,J=K也可写成JK

    【解析】若要限制算法最多输出K个房间号,也就是说,该程序执行输出结果的条件应为:(1)所有房间都已检查完,且满足条件的房间数小于等于K。(2)没有检查完但满足条件的房间数已等于K,所以α框中的条件应该改为I>N||jK

  • 第5题:

    如果等级为r的房间每人每天的住宿费为RATE(r),其中RATE为数组,则为使该算法在输出每个候选的房间号RM(J)后,再输出这批散客每天所需的总住宿费DAYRENT(J),在程序流程图(见图6-21)中“ROOM(I)→RM(J)”(b所指向的方框中)之后应增加的处理语句是(3)。


    正确答案:结合常识可知由于房间的费用是根据房间的等级和房间所住客人的数量决定的因此在等级为r的房间每人每天的住宿费为RATE(r)的前提下为使该算法在输出每个候选的房间号RM(J)后再输出这批散客每天所需的总住宿费DAYRENT(J)在图6-21中“ROOM(I)→RM(J)”之后应增加的处理语句如下。
    结合常识可知,由于房间的费用是根据房间的等级和房间所住客人的数量决定的,因此在等级为r的房间每人每天的住宿费为RATE(r)的前提下,为使该算法在输出每个候选的房间号RM(J)后,再输出这批散客每天所需的总住宿费DAYRENT(J),在图6-21中“ROOM(I)→RM(J)”之后应增加的处理语句如下。