首页 > 建设工程> 一级建造师
题目内容 (请给出正确答案)
[主观题]

阅读下列说明和流程图,将应填入(n)处。[流程图说明] 流程图1-1描述了一个算法,该算法将给定的原字

阅读下列说明和流程图,将应填入(n)处。

[流程图说明]

流程图1-1描述了一个算法,该算法将给定的原字符串中的所有前导空白和尾部空白都删除,但保留非空字符之间的空白。例如,原字符串“ File Name ”,处理后变成“File Name”。流程图1-2、流程图1-3、流程图1-4分别详细描述了流程图1-1中的框A,B,C。

假设原字符串中的各个字符依次存放在字符数组ch的各元素ch(1),ch(2),…,ch(n)中,字符常量KB表示空白字符。

流程图1-1的处理过程是:先从头开始找出该字符串中的第一个非空白字符ch(i),再从串尾开始向前找出位于最末位的非空白字符ch(j),然后将ch(i),…,ch(j)依次送入 ch(1),ch(2),…中。如果原字符串中没有字符或全是空白字符,则输出相应的说明。在流程图中,strlen是取字符串长度函数。

阅读下列说明和流程图,将应填入(n)处。[流程图说明] 流程图1-1描述了一个算法,该算法将给定的原

[问题]在流程图1-1中,判断框P中的条件可表示为:

i>(5)

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“阅读下列说明和流程图,将应填入(n)处。[流程图说明] 流程…”相关的问题
第1题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】 编写程序,对于从键盘输入

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。

【函数】

include<sldio.h>

include<sldlib.h>

include<math.h>

Main()

{

float a,b,c,delta,x1,x2;

printf("Enter a,b,c");

scanf("%f%f%f",&a,&b,&c));

if((1))

if((2))

printf("Input error!\n");

else

printf("The single root is%f\n",(3));

else

{

delta=b*b-4*a*c;

if((4))

{

x1=(-b+sqrt(delta))/(2*a);

x2=(-b-sqrt(delta))/(2*a);

printf("x1=%8.2f\nx2=%8.2f\n",x1,x2,);

}

else if(delta==0)

printf("x1=x2=%8.2f\n",(5);

else

{

Printf("z2=%8.2f+%8.2f*i\n",-b/(2*a),sqrt(-delta)/)(2*abs(a)));

Printf("z2=%8.2f-%8.2f*i\n",-b/(2*a),sqrt(-delta)/(2*abs(a)));

}

}

}

点击查看答案
第2题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明1] 函数void fun(char*w

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

[说明1]

函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。

[C函数1]

void fun(char*W,char x,int*n)

{ int i,P;

p=0;

w[*n]=x;

while(x>w[p]) (1) ;

for(i=*n,i>p;i--)w[i]=(2);

w[p]=x;

++*n;

}

[说明2]

函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。

[C函数2]

void revstr(char*s)

{ char*p,c;

if(s==NULL)return;

p=(3); /*p指向字符串s的最后一个有效字符*/

while(s<p){ /*交换并移动指针*/

C=*s;

(4)=*p;

(5)=c;

}

}

点击查看答案
第3题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】现欲实现一个图像浏览

阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计所得类图如图5—7所示。采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。

【Java代码】

class Matrix{//各种格式的文件最终都被转化为像素矩阵

//gt处代码省略

};

abstract class ImageImp{

public abstract void doPaint(Matrix m); //显示像素矩阵m

};

class WinImp extends ImageImp{

public void doPaint(Matrix m){/*调用windows系统的绘制函数绘制像素矩阵*/}

};

class LinuxImp extends ImageImp{

public void doPaint(Matrix m){/*调用Linux系统的绘制函数绘制像素矩阵*/}

};

abstract class Image{

public void setImp(ImageImp imp){(1) =imp;}

public abstract void parseFile(String fiieName);

protected (2) imp;

};

class BMP extends Image{

public void parseFile(String fiieName){

//此处解析BMP文件并获得一个像素矩阵对象m(3) ;//显示像素矩阵m

}

};

classGIF extends Image{

//此处代码省略

};

class JPEG extends Image{

//此处代码省略

};

publ.ic class j avaMain{

public static v。id main (string[]args) {

//在windows操作系统上查看demO.bmp图像文件

Image imagel= (4) ;

ImageImp imageImpl= (5) ,(6鱼) ;

imagel.parseF’ile(“demo.bmp”);

}

}

现假设该系统需要支持10种格式的图像文件和5种操作系统,不考虑类Matrix和类ja.vaMain,若采用桥接设计模式则至少需要设计 (7) 个类。

点击查看答案
第4题
阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。 【说明】 以字符流形式读入一个文件,

阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。

【说明】

以字符流形式读入一个文件,从文件中检索出6种C语言的关键字,并统计、输出每种关键字在文件中出现的次数。本程序中规定:单词是一个以空格或'\t'、'\n'结束的字符串。其中6种关键字在程序中已经给出。

【程序】

include <stdio.h>

include <stdlib.h>

FILE *cp;

char fname[20], buf[100];

int NUM;

struct key

{ char word[10];

int count;

}keyword[]={ "if", 0, "char", 0, "int", 0,

"else", 0, "while", 0, "return", 0};

char *getword (FILE *fp)

{ int i=0;

char c;

while((c=getc(fp))!= EOF &&(1));

if(c==EOF)

return (NULL);

else

buf[i++]=c;

while((c=fgetc(fp))!=EOF && c!="&& c!='\t' && c!='\n' )

buf[i++]=c;

buf[i]='\0';

return(buf);

}

void lookup(char *p)

{ int i;

char *q, *s;

for(i=0; i<NUM; i++)

{ q=(2);

s=p;

while(*s && (*s==*q))

{ (3))

if((4))

{ keyword[i].count++;

break;

}

}

return;

}

void main()

{ int i;

char *word;

printf("lnput file name:");

scanf("%s", fname);

if((cp=fopen(fname, "r"))==NULL)

{ printf("File open error: %s\n", fname);

exit(0);

}

NUM=sizeof(keyword)/sizeof(struct key);

while((5))

lookup(word);

fclose(cp);

for(i=0;i<NUM;i++)

printf("keyword:%-20s count=%d\n",keyword[i].word,keyword[i].count);

}

点击查看答案
第5题
试题二(共 15分) 阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明 1】 函

试题二(共 15分)

阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明 1】

函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。

例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即 )、w[1]中存入4(即 )、w[2]中存入16(即 )。

1

2 2

2 4

2

【C函数 1】

int Counter(int n, int w[])

{ int i = 0, k = 1;

while ((1) ) {

if (n % 2) w[i++] = k;

n = n / 2; (2) ;

}

return i;

}

【说明 2】

函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。

【C函数 2】

void Smove(int A[], int n)

{ int temp, i = 0, j = n-1;

if (n < 2 ) return;

while (i < j ) {

if (A[i] % 2 == 1 && A[j] % 2 == 1 ) { (3) ; }

else if (A[i] % 2 == 0 && A[j] % 2 == 0 ) { (4) ; }

else {

if ((5) ) {

temp = A[i]; A[i] = A[j]; A[j] = temp;

}

i++, j--;

}

}

}

点击查看答案
第6题
●试题一 阅读下列算法说明和算法,将应填入(n)处的字句写在答题纸的对应栏内。 【算法说明】 为便

●试题一

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

【算法说明】

为便于描述屏幕上每个像素的位置,在屏幕上建立平面直角坐标系。屏幕左上角的像素设为原点,水平向右方向设为X轴,垂直向下方向设为Y轴。

设某种显示器的像素为128×128,即在每条水平线和每条垂直线上都有128个像素。这样,屏幕上的每个像素可用坐标(x,y)来描述其位置,其中x和y都是整数,0≤x≤127,0≤y≤127。

现用一维数组MAP来存储整个一屏显示的位图信息。数组的每个元素有16位二进位,其中每位对应一个像素,"1"表示该像素"亮","0"表示该像素"暗"。数组MAP的各个元素与屏幕上的像素相对应后,其位置可排列如下:

MAP(0),MAP (1) ,…,MAP (7)

MAP (8) ,MAP (9) ,…,MAP (15)

MAP(1016),MAP(1017),…,MAP(1023)

下述算法可根据用户要求,将指定坐标(x,y)上的像素置为"亮"或"暗"。

在该算法中,变量X,Y,V,S,K都是16位无符号的二进制整数。数组BIT中的每个元素BIT(K)(K=0,...,15)的值是左起第K位为1,其余位均为0的16位无符号二进制整数,即BIT(K)的值为215-k。

【算法】

第1步根据用户指定像素的位置坐标(x,y),算出该像素的位置所属的数组元素MAP(V)。这一步的具体实现过程如下:

1.将x送变量X,将y送变量Y;

2.将Y左移 (1) 位,仍存入变量Y;

3.将X右移 (2) 位,并存入变量S;

4.计算Y+S,存入变量V,得到像素的位置所属的数组元素MAP(V)。

第2步算出指定像素在MAP(V)中所对应的位置K(K=0,…,15)。这一步的具体实现过程如下:将变量X与二进制数 (3) 进行逻辑乘运算,并存入变量K。

第3步根据用户要求将数组元素MAP(V)左起第K位设置为"1"或"0"。这一步的具体实现过程如下:

1.为把指定像素置"亮",应将MAP(V)与BIT(K)进行逻辑 (4) 运算,并存入MAP(V)。

2.为把指定像素置"暗",应先将BIT(K)各位取反,再将MAP(V)与BIT(K)进行逻辑 (5) 运算,并存入MAP(V)。

点击查看答案
第7题
阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。[说明] 逻辑覆盖是通过对程序逻辑结构的遍

阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。

[说明]

逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖,是设计白盒测试用例的主要方法之。以下代码由C浯言书写,请按要求回答问题。

void cal (int n)

{

int g, s, b, q;

if((n>1000) && (n<2000) )

{

g=n % 10;

s=n % 100 / 10;

b=n / 100 % 10;

q= n / 1000;

if((q+g) =={ s + b ) )

{

printf("%-5d",n);

}

}

printf("\n");

return;

}

请找出程序中所有的逻辑判断语句。

请分析并给出分别满足100%DC(判定覆盖)和100%CC(条件覆盖)时所需的逻辑条件。

假设n的取值范围是0<n<3000,请用逻辑覆盖法为n的取值设计测试用例,使用例集满足基本路径覆盖标准。

请帮忙给出每个问题的正确答案和分析,谢谢!

点击查看答案
第8题
阅读下列说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 已知某企业欲开发一家用电器遥

阅读下列说明和C++代码,将应填入(n)处的字句写在对应栏内。

【说明】

已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器的开与关。遥控器如左下所示。该遥控器共有4个按钮,编号分别是0至3,按钮0和2能够遥控打开电器1和电器2,按钮1和3则能遥控关闭电器1和电器2。由于遥控系统需要支持形式多样的电器,因此,该系统的设计要求具有较高的扩展性。现假设需要控制客厅电视和卧室电灯,对该遥控系统进行设计所得类图如右下所示。

右上图中,类RomoteController的方法onPressButton(int button)表示当遥控器按键按下时调用的方法,参数为按键的编号;Command接口中on和off方法分别用于控制电器的开与关;Light中turnLight(int degree)方法用于调整电灯灯光的强弱,参数 degree值为0时表示关灯,值为100时表示开灯并且将灯光亮度调整到最大;TV中 setChannel(int channel)方法表示设置电视播放的频道,参数channel值为0时表示关闭电视,为1时表示开机并将频道切换为第1频道。

【C++代码】

class Light{ //电灯类

public:

void trunLight(int degree){//调整灯光亮度,0表示关灯,100表示亮度最大);

};

class TV{//电视机类

public:

vold setChannel(int channel]{//调整电视频道,0表示关机,1表示开机并切换到1频道};

};

class Command{//抽象命令类

public:

virtual void on()=0;

virtual void off()=0;

};

class RemoteController{ //遥控器类

protected:

Command* commands [4];//遥控器有4个按钮,按照编号分别对应4个Command对象

public:

void onPressButton(int button){ //按钮被按下时执行命令对象中的命令

if(button % 2==0)commands[button]->on();

else commands[button]->off();

}

void setCommand(int button,Command* command){

(1)=command;//设置每个按钮对应的命令对象

}

};

class LightCommand:public Command{ //电灯命令类

protected: Light* light; //指向要控制的电灯对象

public:

void On(){light->trunLight(100););

void off()[light->(2););

LightCommand(Light * light){this->light=light;);

};

class TVCommand:public Command{//电视机命令类

protected: TV*tv; //指向要控制的电视机对象

public:

void on(){tv->(3);};

void off(){tv->setChannel(0););

TVCommand(TV *tv){this->tv=tv;);

};

void main(){

Light light; TV tv;//创建电灯和电视对象

LightCommand lightCommand (&light);

TVCommand tVCommand(&tv);

RemoteController remoteController;

remoteController. setCommand(0,(4)); //设置按钮0的命令对象

…//此处省略设置按钮1、按钮2和按钮3的命令对象代码

}

本题中,应用命令模式能够有效让类(5)和类(6)、类(7)之间的耦合性降至最小。

点击查看答案
第9题
●试题三阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。[说明]在一台计算机上安

●试题三

阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。

[说明]

在一台计算机上安装完成Windows 2000服务器及相应的服务组件。

[问题1]

安装Windows服务器时,通常将分区格式化为NTFS格式,NTFS的主要优点有哪三个方面?

[问题2]

Windows 2000默认的超级用户名是什么?

[问题3]

如果发现操作系统存在安全漏洞,应该如何解决?

[问题4]

为什么要关闭那些不需要的服务和不用的端口?

[问题5]

局域网的IP地址范围限定在192.168.10.33~192.168.10.47之间,子网掩码应设置为多少?

点击查看答案
第10题
阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。[说明] 某网上书店后台数据库的部分关系模

阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。

[说明]

某网上书店后台数据库的部分关系模式如下:

会员(会员编号,用户名,密码,姓名;地址,邮编,电话,消费额,积分)

图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,ISBN,价格)

订单(订单编号,用户名,销售额,订购日期,出货日期)

订单明细(订单明细编号,订单编号,图书编号,数量)

下面是创建订单关系的SQL语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。

CREATE TABLE 订单(

订单编号 CHAR(6) (a)

用户名VARCHAR(40)NOT NULL (b),

销售额FLOAT,

订购日期DATE NOT NULL,

出货日期DATE (c));

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