首页 > 软考
题目内容 (请给出正确答案)
[主观题]

阅读下列算法说明和流程图,根据要求回答问题1~问题3。 [说明] 某机器上需要处理n个作业job1,job2,

阅读下列算法说明和流程图,根据要求回答问题1~问题3。

[说明]

某机器上需要处理n个作业job1,job2,…,jobn,其中:

(1)每个作业jobi(1≤i≤n)的编号为i,jobi有一个收益值P[i]和最后期限值d[i];

(2)机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;

(3)job1~jobn的收益值呈非递增顺序排列,即p[1]≥p[2]≥…≥p[n];

(4)如果作业jobi在其期限之内完成,则获得收益p[i];如果在其期限之后完成,则没有收益。

为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图3-25是基于贪心策略求解该问题的流程图。

(1)整型数组J[]有n个存储单元,变量k表示在期限之内完成的作业数,J[1..k]存储所有能够在期限内完成的作业编号,数组J[1..k)里的作业按其最后期限非递减排序,即d[J[1]]≤…≤d[J[k]]。

(2)为了便于在数组J中加入作业,增加一个虚拟作业job0,并令d[0]=0,J[0]=0。

(3)算法大致思想是:先将作业job1的编号1放入J[1],然后,依次对每个作业jobi(2≤i≤n)进行判定,看其能否插入到数组J中。若能,则将其编号插入到数组J的适当位置,并保证J中作业按其最后期限非递减排列;否则不插入。

jobi能插入数组J的充要条件是:jobi和数组J中已有作业均能在其期限之内完成。

(4)流程图中的主要变量说明如下。

i:循环控制变量,表示作业的编号;

k:表示在期限内完成的作业数;

r:若jobi能插入数组J,则其在数组J中的位置为r+1;

q:循环控制变量,用于移动数组J中的元素。

阅读下列算法说明和流程图,根据要求回答问题1~问题3。 [说明] 某机器上需要处理n个作业job1,

请将图3-25中的(1)~(3)空缺处的内容填写完整。

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“阅读下列算法说明和流程图,根据要求回答问题1~问题3。 [说…”相关的问题
第1题
阅读下列算法说明和流程图1,回答问题1至问题3。 [算法说明] 某旅馆共有N间客房。每间客房的房间号、

阅读下列算法说明和流程图1,回答问题1至问题3。

[算法说明]

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

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

流程图1描述了该算法。

阅读下列算法说明和流程图1,回答问题1至问题3。 [算法说明] 某旅馆共有N间客房。每间客房的房间号

假设当前该旅馆各个房间的情况见表3。

阅读下列算法说明和流程图1,回答问题1至问题3。 [算法说明] 某旅馆共有N间客房。每间客房的房间号

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

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

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

[算法说明]

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

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

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

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

点击查看答案
第3题
阅读下列算法说明和流程图,将应填入(n)处的字句写在对应栏内。 【算法说明】 本算法按照算符优先关

阅读下列算法说明和流程图,将应填入(n)处的字句写在对应栏内。

【算法说明】

本算法按照算符优先关系,实现对算术四则混合运算表达式(可含小括号)的求值。处理对象是以字符串形式给出的、语法正确且不含变量的整数表达式。

算符优先关系见表5.1(§1,§2为按顺序出现的两个运算符)

阅读下列算法说明和流程图,将应填入(n)处的字句写在对应栏内。 【算法说明】 本算法按照算符优先关阅

说明:“”是假设的表达式开始符和结束符,不可用。

为实现算法,使用了两个堆栈分别寄存运算符和运算数(中间结果值)。算法基本思路如下:首先置操作数栈S1为空,表达式起始符“”设为运算符栈S2的栈底元素;依次读入表达式的各符号,若是数字字符则连接在一起转换为int型操作数进S1栈;若是运算符§2,则和S2栈的栈顶运算符51比较优先级后作相应操作,直至整个表达式求值结束。算法流程图5.1如下:

阅读下列算法说明和流程图,将应填入(n)处的字句写在对应栏内。 【算法说明】 本算法按照算符优先关阅

【问题】请将流程图补充完整。

点击查看答案
第4题
●试题一 阅读以下算法说明和流程图,回答问题1和问题2。 【算法说明】 下面是一段插入排序的程序,

●试题一

阅读以下算法说明和流程图,回答问题1和问题2。

【算法说明】

下面是一段插入排序的程序,将R[k+1]插入到R[1…k]的适当位置。 R[0]=R[k+1]; j=k;

while (R[j]>R[0])

{

R[j+1]=R[j]; j--;

}

R[j+1]=R[0];

【流程图】

●试题一 阅读以下算法说明和流程图,回答问题1和问题2。 【算法说明】 下面是一段插入排序的程序,●

【测试用例设计】

(while循环次数为0、1、2次)

●试题一 阅读以下算法说明和流程图,回答问题1和问题2。 【算法说明】 下面是一段插入排序的程序,●

【问题1】

指出算法的流程图中 (1) ~ (3) 处的内容。

【问题2】

指出测试用例设计中 (4) ~ (9) 处的内容。

点击查看答案
第5题
阅读下列说明和流程图,将应填入(n)处的语句写在对应栏内。【说明】 下列流程图用泰勒(Taylor)展开式

阅读下列说明和流程图,将应填入(n)处的语句写在对应栏内。

【说明】

下列流程图用泰勒(Taylor)展开式y=ex=1+x+x2/2!+x3/3!+…+xn/n!+…计算并打印ex的近似值,其中用ε(>0)表示误差要求。

【流程图】

阅读下列说明和流程图,将应填入(n)处的语句写在对应栏内。【说明】 下列流程图用泰勒(Taylor)

点击查看答案
第6题
阅读下列说明和流程图,将应填入(n)的字句写在对应栏内。【说明】 下列流程图(如图4所示)用泰勒(Tayl

阅读下列说明和流程图,将应填入(n)的字句写在对应栏内。

【说明】

下列流程图(如图4所示)用泰勒(Taylor)展开式

sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…

【流程图】

阅读下列说明和流程图,将应填入(n)的字句写在对应栏内。【说明】 下列流程图(如图4所示)用泰勒(T

计算并打印sinx的近似值。其中用ε(>0)表示误差要求。

点击查看答案
第7题
阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。 【流程图说明】 下图所示的流程图5.

阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。

【流程图说明】

下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。

阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。 【流程图说明】 下图所示的流程图5

【算法说明】

将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。

【算法】

void sort(int Array[],int L,int H){

if (L<H) {

k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/

sort((4));/*小于基准数的元素排序*/

sort((5));/*大于基准数的元素排序*/

}

}

点击查看答案
第8题
阅读下列说明和流程图,将应填入(n)的语句写在对应栏内。 【流程图说明】 下面的流程(如图1所示)用N-

阅读下列说明和流程图,将应填入(n)的语句写在对应栏内。

【流程图说明】

下面的流程(如图1所示)用N-S盒图形式描述了在一棵二叉树排序中查找元素的过程,节点有3个成员:data, left和right。其查找的方法是:首先与树的根节点的元素值进行比较:若相等则找到,返回此结点的地址;若要查找的元素小于根节点的元素值,则指针指向此结点的左子树,继续查找;若要查找的元素大于根节点的元素值,则指针指向此结点的右子树,继续查找。直到指针为空,表示此树中不存在所要查找的元素。

【算法说明】

【流程图】

将上题的排序二叉树中查找元素的过程用递归的方法实现。其中NODE是自定义类型:

阅读下列说明和流程图,将应填入(n)的语句写在对应栏内。 【流程图说明】 下面的流程(如图1所示)用

typedef struct node {

int data;

struct node * left;

struct node * right;

}NODE;

【算法】

NODE * SearchSortTree(NODE * tree, int e)

{

if(tree!=NULL)

{

if(tree->data<e)

(4); //小于查找左子树

else if(tree->data<e)

(5); //大于查找左子树

else return tree;

}

return tree;

}

点击查看答案
第9题
阅读以下说明和流程图,回答问题将解答填入对应栏内。[说明] 已知递推数列:a(1)=1,a (2s)= a (s),a

阅读以下说明和流程图,回答问题将解答填入对应栏内。

[说明]

已知递推数列:a(1)=1,a (2s)= a (s),a(2s+1)=a (s)+a (s+1)(s 为正整数)。试求该数列的第n项与前n项中哪些项最大?最大值为多少?

算法分析:该数列序号分为奇数或偶数两种情况做不同递推,所得数列呈大小有规律的摆动。设置a数组,赋初值a (1)=1。根据递推式,在循环中分项序号s (2~n)为奇数或偶数作不同递推:每得一项 a (s),即与最大值max 作比较,如果a (s)>max,则max=a(i)。最后,在所有项中搜索最大项(因最大项可能多于一项),并打印最大值max。

[问题]

将流程图中的(1)~(5)处补充完整。

注:流程图中(1)循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。

[流程图]

阅读以下说明和流程图,回答问题将解答填入对应栏内。[说明] 已知递推数列:a(1)=1,a (2s)

点击查看答案
第10题
●试题一 阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。 【说明】 下列流程图(

●试题一

阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。

【说明】

下列流程图(如图4所示)用泰勒(Taylor)展开式

sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x 2n+1/(2n+1)!+…

【流程图】

●试题一 阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。 【说明】 下列流程图(●

图4

计算并打印sinx的近似值。其中用ε(>0)表示误差要求。

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改