首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
(62) 可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。
查看本题答案
包含此试题的试卷
初级程序员《单项选择》真题及答案
点击查看
你可能感兴趣的试题
1可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描述
实体
关系
属性
方法
在系统分析中对数据流程图中的数据元素组合数据数据流和数据存储的具体描述的工具是______
加工说明用于描述数据流图的哪个成分______
数据流
数据源点和终点
数据变换
数据存储
30可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工
实体
关系
属性
方法
在系统分析中对数据流程图中的数据元素组合数据数据流和数据存储的具体描述的工具是
可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来
实体
关系
属性
方法
可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来
实体关系图
数据字典
IPO 图
判定表
27可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描
实体
关系
属性
方法
30可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描
实体关系图
数据字典
IPO图
判定表
数据流图可用于抽象描述一个软件的逻辑模型并由若干种基本的图形符号组成下述图名Ⅰ.加工Ⅱ.数据流Ⅲ.数
Ⅰ、Ⅱ和Ⅲ
Ⅱ、Ⅲ和Ⅳ
Ⅱ和Ⅲ
全是
数据流图可用于抽象描述一个软件的逻辑模型并由若干种基本的图形符号组成下述图名Ⅰ.加工Ⅱ.数据流Ⅲ.数
Ⅰ、Ⅱ和Ⅲ
Ⅱ、Ⅲ和Ⅳ
Ⅱ和Ⅲ
全是
8可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描述
实体关系图
数据字典
IPO图
判定表
在结构化分析中用数据流图描述
数据对象之间的关系,用于对数据建模
数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模
系统对外部事件如何响应,如何动作,用于对行为建模
数据流图中的各个组成部分
1可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描述
实体关系图
数据字典
IPO图
判定表
8可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描述
实体
关系
属性
方法
关于数据流表示的描述以下描述有误的是______
两个不同的数据流在结构上允许相同
两个加工处理之间只能有唯一的数据流
数据流不允许同名
流进流出数据存储的数据流不需要标注名字
可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计
实体-关系图
数据字典
IPO图
判定表
27可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描
实体关系图
数据字典
IPO图
判定表
30可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工
实体关系图
数据字典
IPO图
判定表
30可用于描述数据流图中数据存储及其之间的关系最初用于数据库概念设计在某学生选课系统中使用该工具来描
实体
关系
属性
方法
热门试题
更多
阅读以下说明和Java程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的Java程序代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能己知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!---------------------------------------这是票据的抬头!这是票据的脚注![Java程序代码]publicclassSalesTicketpublicvoidprintTicketSystem.out.println这是票据正文!;publicclassDecoratorextendsSalesTicketSalesTicketticket;publicDecoratorSalesTickettticket=tpublicvoidprintTicketifticket!=nullticket.printTicket;publicclassHeadDecoratorextendsDecoratorpublicHeadDecoratorSalesTickett1;publicvoidprintTicketSystem.out.rintln这是票据的抬头!;Super.printTicket;publicclassFootDecoratorextendsDecoratorpublicFootDecoratorSalesTickett2;publicvoidprintTicketsuper.printTicket;System.out.println这是票据的脚注!;publicclassMainpublicstaticvoidmainString[]argsDecoratorT=newHeadDecorator3;T.4;System.out.println-----------------------------------------;T=newFootDecorator5;T.printTicket;
阅读以下说明和C++代码将解答写入对应栏内[说明]类Stock的定义中有三处错误分别在代码的第040610行请补齐下述代码中的空缺1~3修改错误并给出修改后该行的完整代码最后完善程序运行后的输出结果[C++程序]01#include<iostream.h>02usingnamespacestd;03classStock04protected:05Stockshares=0;share_val=0.0;Output;06Stockintn=0doublepr=3.5:1//初始化shares值为n07share_val=pr;08Output;09;10void~Stock;11voidOutputcout<<shares<<’;’<<shareval<<endl;12public:13//成员函数14private:15//成员变量16intshares;17doubleshare_val;18;1920voidmain//构造三个Stock对象abC21Stocka1;22Stockb;23StockCStock;24//其他代码省略且代码无输出25程序运行后的输出结果为1:3.523
阅读以下说明和算法完善算法并回答问题将解答写在对应栏内[说明]假设以二维数组G[1..m1..n]表示一幅图像各像素的颜色则G[ij]表示区域中点ij]处的颜色颜色值为0到k的整数下面的算法将指定点i0j0所在的同色邻接区域的颜色置换为给定的颜色值约定所有与点i0j0同色的上下左右可连通的点组成同色邻接区域例如一幅8×9像素的图像如图1-1所示设用户指定点35其颜色值为0此时其上方25下方45右方36邻接点的颜色值都为0因此这些点属于点35所在的同色邻接区域再从上下左右四个方向进行扩展可得出该同色邻接区域的其他点见图1-1中的阴影部分将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示[算法]输入矩阵G点的坐标i0j0新颜色值newcolor输出点i0j0所在同色邻接区域的颜色置换为newcolor之后的矩阵G算法步骤为规范算法规定该算法只在第七步后结束第一步若点i0j0的颜色值与新颜色值newcolor相同则1第二步点i0j0的颜色值→oldcolor创建栈S并将点坐标i0j0入栈第三步若2则转第七步第四步栈顶元素出栈→xy并3第五步1若点xy-1在图像中且G[xy-1]等于oldcolor则xy-1入栈S2若点xy+1在图像中且G[xy+1]等于oldcolor则xy+1入栈S3若点x-1y在图像中且G[x-1y]等于oldcolor则x-1y入栈S4若点x+1y在图像中且G[x+1y等于oldcolor则x+1y入栈S第六步转4第七步算法结束[问题]是否可以将算法中的栈换成队列回答5
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某班级有N名学生他们可根据自己的情况选修名称和数量不尽相同的课程设N等于6学生信息所选课程及成绩用链表结构存储如图5-1所示程序中相应的类型定义如下#defineN6structnodecharcname[5];/*课程名*/intgrade;/*成绩*/structnode*next;/*指针指示某学生选修的下一门课程及成绩*/;structstudentcharxh[5];/*学号*/charname[20];/*姓名*/structnode*link;/*指针指示出选修的课程及成绩链表*/stud_info[n];Stud_info[]为一个全局数组函数funccharkc[]int*num的功能是统计选修了课程名为kc的学生的人数并返回该课程的平均成绩若无人选修该课程则平均成绩为0参数num带回选修课程kc的学生人数[C语言函数]doublefunccharkc[]int*numinticount=0sum=0;/*count用于记录选修课程名为kc的学生的人数*/doubleavg=0.0;structnode*p;fori=0;i<N;i++p=1;/*取第土个学生所修课程链表的头指针*/whilepif2sum=3;count++;break;;/*if*/p=p->next;/*while*/4;if5avg=doublesum/count;/*计算平均成绩*/returnavg;/*func*/从下列的2道试题试题六至试题七中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效
阅读以下说明和C语言函数将应填入n处的字句写在答题纸的对应栏内[说明]假设一个剧场有N*N个座位顾客买票时可以提出任意有效的座号请求下面用二维数组a[N][N]模拟剧场中的座位a[i][j]等于0表示第i排第j列0≤ij≤N-1的票尚未售出函数intFindinta[][N]intRint*rowint*col的功能是在部分票已售出的情况下找出剧场中的R*R个空座位要求这些座位的排列形成一个正方形若找到满足要求的一个座位排列则函数返回1并算出该正方形左上角的行列号若未找到则返回0例如一个7×7个座位的剧场如下图a所示已售出部分座位的剧场如下图b所示图中阴影部分表示已售出的座位从图b中找出的3×3正方形空座位如图c中斜线区所示[C语言函数]intFindinta[][N]intRint*rowint*colintijkct;intFOUND=0;fori=0;!FOUND&&i<N-R+1;i++/*从第0排开始查找*/1;whilej<N-R+1&&!FOUNDfork=0;2&&a[i][j+k]==0;k++;/*查找第i排连续的R个座位*/ifk>=R/*找到第i排连续的R个空座位*/forc=0;c<R;c++/*查找其余的R*R-1个座位*/fort=1;t<R;t++ifa[3][j+c]!=0break;ift<Rbreak;/*for*/if4FOUND=1;/*if*/5;/*while*//*fori*/ifFOUND*row=i-1;*col=j-1;/*计算正方形区域的左上角坐标*/return1;return0;
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]这是一个求解Josephus问题的函数用整数序列123n表示顺序围坐在圆桌周围的人并采用数组表示作为求解过程中使用的数据结构Josephus问题描述设n个人围坐在一个圆桌周围现在从第s个人开始报数数到第m个人让他出局然后从出局的下一个人重新开始报数数到第m个人再让他出局如此反复直到所有的人全部出局为止[C函数]voidJosephusintA[]intnsmintijktemp;ifm==Oprintfm=0是无效的参数!/n;return;fori=0;i<n;i++A[i]=i+1;/*初始化执行n次*/i=1/*报名起始位置*/fork=n;k>1;k-if2i=0;i=3/*寻找出局位置*/ifi!=k-1tmp=A[i];forj=i;J<k-1;j++4;5;fork=0;k<n/2;k++tmp=A[k];A[k]=A[n-k+1];A[n-k+1]=tmp;
[函数2.1说明]下面程序的功能是将由键盘输入的某个十进制数转换成对应的R进制数并输出这里R是2到16的整数由键盘输入例如输入n=128base=13后的输出为9B[函数2.1]#include<stdio.h>maincharb[16]=’0’’1’’2’’3’’4’’5’’6’’7’’8’’9’’A’’B’’C’’D’’E’’F’;intc[64]ni=0base;printfEnteranumber:;scaaf%d&n;printfEnternewbase:;scanf%d&base;doc[i]=1;i++;n=n/base;while2;printfTransmitnewbase:;for--i;i>=0;--iprintf%c3;[函数2.2说明]所谓回文字符中是指正序和逆序拼写相同的字符串例如astrtsaadgdtdgda等下面函数intfunchar*str的功能是判断字符串str是否是回文当字符串是回文时函数返回1否则返回0[函数2.2]intfunchar*strintijl;fori=0;str[i]!=’/0’;i++;l=i/2;forj=0i--;j<=1;4if5return0;return1;
[说明]Kruskal算法是一种构造图的最小生成树的方法设G为一无向连通图令T是由G的顶点构成的于图Kmskal算法的基本思想是为T添加适当的边使之成为最小生成树初始时T中的点互相不连通考察G的边集E中的每条边若它的两个顶点在T中不连通则将此边添加到T中同时合并其两顶点所在的连通分量如此下去当添加了n-1条边时T的连通分量个数为1T便是G的一棵最小生成树下面的函数voidKruskalEdgeTypeedges[]intn利用Kruskal算法构造了有n个顶点的图edges的最小生成树其中数组father[]用于记录T中顶点的连通性质其初值为father[i]=-1i=01n-1表示各个顶点在不同的连通分量上若有father[i]=jj>-1则顶点ij连通函数intFindintfather[]intv用于返回顶点v所在树形连通分支的根结点[函数]#defineMAXEDGE1000typedefstructintv1;intv2;EdgeType;voidKruskalEdgeTypeedges[]intnintfather[MAXEDGE];intijvf1vt2;fori=0;i<n;i++father[i]=-1;i=0;j=0;whilei<MAXEDGE&&j<1vf1=Findfatheredges[i].v1;vf2=Findfatheredges[i].v2;if23=vf1;4;printf%3d%3d/nedges[i].v1edges[i].v2;5;intFindintfather[]intvintt;t=v;whilefather[t]>=0t=father[t];returnt;
阅读以下说明和C语言函数将应填入n处的字句写在答题纸的对应栏内[说明]假设一个剧场有N*N个座位顾客买票时可以提出任意有效的座号请求下面用二维数组a[N][N]模拟剧场中的座位a[i][j]等于0表示第i排第j列0≤ij≤N-1的票尚未售出函数intFindinta[][N]intRint*rowint*col的功能是在部分票已售出的情况下找出剧场中的R*R个空座位要求这些座位的排列形成一个正方形若找到满足要求的一个座位排列则函数返回1并算出该正方形左上角的行列号若未找到则返回0例如一个7×7个座位的剧场如下图a所示已售出部分座位的剧场如下图b所示图中阴影部分表示已售出的座位从图b中找出的3×3正方形空座位如图c中斜线区所示[C语言函数]intFindinta[][N]intRint*rowint*colintijkct;intFOUND=0;fori=0;!FOUND&&i<N-R+1;i++/*从第0排开始查找*/1;whilej<N-R+1&&!FOUNDfork=0;2&&a[i][j+k]==0;k++;/*查找第i排连续的R个座位*/ifk>=R/*找到第i排连续的R个空座位*/forc=0;c<R;c++/*查找其余的R*R-1个座位*/fort=1;t<R;t++ifa[3][j+c]!=0break;ift<Rbreak;/*for*/if4FOUND=1;/*if*/5;/*while*//*fori*/ifFOUND*row=i-1;*col=j-1;/*计算正方形区域的左上角坐标*/return1;return0;
[说明]下面的词典类Dic实现了简单的英译汉功能程序运行后的输出为我是一个学生[C++程序]#include<iostream.h>#include<string.h>#defineMax100classDicinttop;charwords[Max][12];charmean[Max][20];public:Dietop=0;voidaddcharw[]charm[]strcpywords[top]w;strcpymean[top]m;1;voidtranscharstr[]inti=0j=0k=0s;charw[12]h[200];whilelifstr[i]!=’’&&str[i]!=’/0’w[j++]=str[i];//读取单词的一个字符记录在w中elsew[j]=’/0’;fors=0;s<top;s++ifstrcmpwords[s]w20break;ifs<top//找到了翻译成对应的mean[s]strcpywmean[s];j=3;else//未找到翻译成unknownstrcpywunknown;j=9;fors=0;s<j;s++h[k++]=w[s];ifstr[i]==’/0’4;break;j=0;i++;cout<<h<<endl;;voidmainDicobj;obj.addI我;obj.addam是;obj.addstudent学生;obj.adda一个;obj.trans5;
[函数2.1说明]Fibonacci数列中头两个数均为1从第三个数开始每个数等于前两个数之和下述程序计算Fibonacci数列中前15个数并以每行5个数的格式输出[函数2.1]#include<stdio.h>mainintiff1=1f2=1;printf%5d%5df1f2;fori=3;i<=15;i++f=1;printf%5df;if2==0printf/n;f1=12;3;[试题一流程图][函数2.2说明]函数funchar*str1char*str2的功能是将字符串str2拼接到str1之后[函数2.2]funchar*str1char*str2intij;fori=0;str1[i]!=’/0’;i++;forj=0;str2[j]!=’/0’;j++4;5;
阅读以下说明和Java程序将应填入n处的字句写在对应栏内[说明]下面程序实现十进制向其它进制的转换[Java程序]ClasSNodeintdata;Nodenext;classTransformprivateNodetop;publicvoidprintNodep;whiletop!=nullP=top;ifP.data>9System.out.printcharP.data+55;elseSystem.out.printp.data;top=p.next;publicvoidTransintdinti//d为数字;i为进制intm;1n=false;Nodep;whiled>02;d=d/i;p=newNode;if3p.data=m;4;top=P;n=true;elsep.data=m;5top=P
阅读以下说明和Java程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的Java程序代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能己知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!---------------------------------------这是票据的抬头!这是票据的脚注![Java程序代码]publicclassSalesTicketpublicvoidprintTicketSystem.out.println这是票据正文!;publicclassDecoratorextendsSalesTicketSalesTicketticket;publicDecoratorSalesTickettticket=tpublicvoidprintTicketifticket!=nullticket.printTicket;publicclassHeadDecoratorextendsDecoratorpublicHeadDecoratorSalesTickett1;publicvoidprintTicketSystem.out.rintln这是票据的抬头!;Super.printTicket;publicclassFootDecoratorextendsDecoratorpublicFootDecoratorSalesTickett2;publicvoidprintTicketsuper.printTicket;System.out.println这是票据的脚注!;publicclassMainpublicstaticvoidmainString[]argsDecoratorT=newHeadDecorator3;T.4;System.out.println-----------------------------------------;T=newFootDecorator5;T.printTicket;
阅读以下说明和C程序将应填入n处的字句写在答题纸的对应栏内[说明]下面的程序按照以下规则输出给定名词的复数形式a.若名词以y结尾则删除y并添加iesb.若名词以sch或sh结尾则添加esc.其他所有情况直接添加s[C语言程序]#include<stdio.h>#include<string.h>char*pluralchar*wordintn;char*pstr;n=strlenword;/*求给定单词的长度*/pstr=char*mallocn+3;/*申请给定单词的复数形式存储空间*/if!pstr||n<2returnNULL;strcpypstrword;/*复制给定单词*/if1pstr[n-1]=’i-’;pstr[n]=’e’;pstr[n+1]=’s’;2;elseifpstr[n-1]==’s’||pstr[n-1]==’h’&&3pstr[n]=’e’;pstr[n+1]=’s’;pstr[n+2]=’\0’;elsepstr[n]=’s’;pstr[n+1]=’\0’;4maininti;char*ps;charwc[9][10]=chairdairybosscircusflydogchurchcluedish;fori=0;i<9;i++ps=5printf%s:%s\nwc[i]ps;/*输出单词及其复数形式*/freeps;/*释放空间*/systempause;
阅读以下说明和C函数将应填入n处的字句写在对应栏内[说明]若一个矩阵中的非零元素数目很少且分布没有规律则称之为稀疏矩阵对m行n列的稀疏矩阵M进行转置运算后得到n行m列的矩阵MT如图3-1所示为了压缩稀疏矩阵的存储空间用三元组即元素所在的行号列号和元素值表示稀疏矩阵中的一个非零元素再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表例如图3-1所示的矩阵M相应的三元组顺序表如表3-1所示其转置矩阵MT的三元组顺序表如表3-2所示函数TransposeMatrixMatrixM的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算对M实施转置运算时为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置需先计算M中每一列非零元素的数目即MT中每一行非零元素的数目并记录在向量num中然后根据以下关系计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置cpot[0]=0cpot[j]=cpot[j-1]+num[j-1]/*j为列号*/类型ElemTypeTriple和Matrix定义如下typedefintElemType;typedefstruct/*三元组类型*/intrc;/*矩阵元素的行号列号*/ElemTypee;/*矩阵元素的值*/Triple;typedefstruct/*矩阵的元组三元组顺序表存储结构*/introwscolselements;/*矩阵的行数列数和非零元素数目*/Tripledata[MAXSIZE];Matrix;[C语言函数]intTransposeMatrixMatrixMintjqt;int*num*cpot;MatrixMT;/*MT是M的转置矩阵*/num=int*mallocM.cols*sizeofint;cpot=int*mallocM.cols*sizeofint;if!num||cpotreturnERROR;MT.rows=1;/*设置转置矩阵MT行数列数和非零元素数目*/MT.cols=2;MT.elements=M.elements;ifM.elements>0forq=0;q<M.cols;q++num[q]=0;fort=0;t<M.elements;++t/*计算矩阵M中每一列非零元素数目*/num[M.data[t].c]++;/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/3;forj=1;j<M.cols;j++cpot[j]=4;/*以下代码完成转置矩阵MT三元组顺序表元素的设置*/fort=0;t<M.elements;t++j=5;/*取矩阵M的一个非零元素的列号存入j*//*q为该非零元素在转置矩阵MT三元组顺序表中的位置下标*/q=cpot[j];MT.data[q].r=M.data[t].c;MT.data[q].c=M.data[t].r;MT.data[q].e=M.data[t].e;++cpot[j];/*计算M中第j列的下一个非零元素的目的位置*//*for*//*if*/freenum;freecpot;/*此处输出矩阵元素代码省略*/returnOK;/*TransposeMatrix*/
阅读以下说明和C程序将应填入n处的字句写在答题纸的对应栏内[说明]下面的程序按照以下规则输出给定名词的复数形式a.若名词以y结尾则删除y并添加iesb.若名词以sch或sh结尾则添加esc.其他所有情况直接添加s[C语言程序]#include<stdio.h>#include<string.h>char*pluralchar*wordintn;char*pstr;n=strlenword;/*求给定单词的长度*/pstr=char*mallocn+3;/*申请给定单词的复数形式存储空间*/if!pstr||n<2returnNULL;strcpypstrword;/*复制给定单词*/if1pstr[n-1]=’i-’;pstr[n]=’e’;pstr[n+1]=’s’;2;elseifpstr[n-1]==’s’||pstr[n-1]==’h’&&3pstr[n]=’e’;pstr[n+1]=’s’;pstr[n+2]=’\0’;elsepstr[n]=’s’;pstr[n+1]=’\0’;4maininti;char*ps;charwc[9][10]=chairdairybosscircusflydogchurchcluedish;fori=0;i<9;i++ps=5printf%s:%s\nwc[i]ps;/*输出单词及其复数形式*/freeps;/*释放空间*/systempause;
阅读以下说明和算法完善算法并回答问题将解答写在对应栏内[说明]假设以二维数组G[1..m1..n]表示一幅图像各像素的颜色则G[ij]表示区域中点ij]处的颜色颜色值为0到k的整数下面的算法将指定点i0j0所在的同色邻接区域的颜色置换为给定的颜色值约定所有与点i0j0同色的上下左右可连通的点组成同色邻接区域例如一幅8×9像素的图像如图1-1所示设用户指定点35其颜色值为0此时其上方25下方45右方36邻接点的颜色值都为0因此这些点属于点35所在的同色邻接区域再从上下左右四个方向进行扩展可得出该同色邻接区域的其他点见图1-1中的阴影部分将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示[算法]输入矩阵G点的坐标i0j0新颜色值newcolor输出点i0j0所在同色邻接区域的颜色置换为newcolor之后的矩阵G算法步骤为规范算法规定该算法只在第七步后结束第一步若点i0j0的颜色值与新颜色值newcolor相同则1第二步点i0j0的颜色值→oldcolor创建栈S并将点坐标i0j0入栈第三步若2则转第七步第四步栈顶元素出栈→xy并3第五步1若点xy-1在图像中且G[xy-1]等于oldcolor则xy-1入栈S2若点xy+1在图像中且G[xy+1]等于oldcolor则xy+1入栈S3若点x-1y在图像中且G[x-1y]等于oldcolor则x-1y入栈S4若点x+1y在图像中且G[x+1y等于oldcolor则x+1y入栈S第六步转4第七步算法结束[问题]是否可以将算法中的栈换成队列回答5
阅读以下说明和Java程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的Java程序代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能己知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!---------------------------------------这是票据的抬头!这是票据的脚注![Java程序代码]publicclassSalesTicketpublicvoidprintTicketSystem.out.println这是票据正文!;publicclassDecoratorextendsSalesTicketSalesTicketticket;publicDecoratorSalesTickettticket=tpublicvoidprintTicketifticket!=nullticket.printTicket;publicclassHeadDecoratorextendsDecoratorpublicHeadDecoratorSalesTickett1;publicvoidprintTicketSystem.out.rintln这是票据的抬头!;Super.printTicket;publicclassFootDecoratorextendsDecoratorpublicFootDecoratorSalesTickett2;publicvoidprintTicketsuper.printTicket;System.out.println这是票据的脚注!;publicclassMainpublicstaticvoidmainString[]argsDecoratorT=newHeadDecorator3;T.4;System.out.println-----------------------------------------;T=newFootDecorator5;T.printTicket;
[说明]有若干教师每个教师只有姓名一个教师可以指导多名研究生每名研究生有姓名和研究方向程序最后输出每个教师指导的所有研究生的姓名和研究方向[Java程序]publicclassTeacherStringname;inttop=0;Student[]student=newStudent[20];publicTeacherpublicTeacherStringnamethis.name=name;booleanaddStudentstuintlen=this.student.length;iftop<len-1this.student[top]=siu;1;returntrue;elsereturn2;voiddispSystem.out.println指导老师+this.name;System.out.println研究生:;forinti=0;i<3;i++System.out.println姓名:+this.student[i].name+/t研究方向:+this.student[i].search;publicstaticvoidmainString[]argsTeachert[]=newTeacher李明newTeacher王华;Students1=newStudent孙强数据库;Students2=newStudent陈文软件工程;Students3=newStudent章锐计算机网络;if!t[0].adds1System.out.println每个老师最多只能指导20个学生!;if!t[0].adda2System.out.println每个老师最多只能指导20个学生!;if!t[1].adds3System.out.println每个老师最多只能指导20个学生!;forinti=0;i<2;i++4;class5Stringname;Stringsearch;publicStudentpublicStudentStringnameStringsearchthis.name=name;this.search=search;StringgetNamereturnthis.name;StringgetSearchreturnthis.search;
阅读以下说明和C++程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的C++代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能已知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!--------------------------------------这是票据的抬头!这是票据的脚注![C++程序代码]#include<iostream>usingnamespacestd;classSalesTicketpublic;1printTicketcout<<这是票据正文!<<endl;;classDecoratorpublicSalesTicketSalesTicket*ticket;publicDecoratorSalesTicke*tticket=t;voidprintTicketifticket!=NULLticket->printTicket;;classHeadDecorator:publicDecoratorpublic:HeadDecoratorSalesTicket*t:2voidprintTicketcout<<这是票据的抬头!<<endl;Decorator::printTicket;;classFootDecorator:publicDecoratorpublic:FootDecoratorSalesTicket*t:3voidprintTicketDecorator::printTicket;cout<<这是票据的脚注!<<endl;;voidmainvoidSalesTickett;FootDecoratorf&t;HeadDecoratorh4;h.printTicket;cout<<---------------------<<endl;FootDecoratoraNULL;HeadDecoratorb5;b.printTicket;
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]本程序实现对指定文件内的单词进行计数其中使用二叉树结构来保存已经读入的不同单词并对相同单词出现的次数进行计数此二叉树的左孩子结点的字符串值小于父结点的字符串值右孩子结点的字符串值大于父结点的字符串值函数getwordchar*filenamechar*word是从指定的文件中得到单词char*strdupchar*S是复制S所指向的字符串并返回复制字符串的地址[C程序]#include<stdio.h>#include<ctype.h>#include<string.h>#defineMAXWORD100structnodechar*word;intcount;structnode*left;structnode*right;structnode*addtreestructnode*Pchar*wintcond;ifp==NULL/*向树中插入结点*/P=structnode*mallocsizeofstructnode;P->word=strdupw;P->count=1;1;elseifoond=strcmpwp->word==02;elseifcond<0p->left=3;elsep->right=4;returnp;mainStructnode*root;charword[MAXWORD];root=NULL;filename=example.dat;whilegetwordfilenameword!=EOFroot=5;
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某班级有N名学生他们可根据自己的情况选修名称和数量不尽相同的课程设N等于6学生信息所选课程及成绩用链表结构存储如图5-1所示程序中相应的类型定义如下#defineN6structnodecharcname[5];/*课程名*/intgrade;/*成绩*/structnode*next;/*指针指示某学生选修的下一门课程及成绩*/;structstudentcharxh[5];/*学号*/charname[20];/*姓名*/structnode*link;/*指针指示出选修的课程及成绩链表*/stud_info[n];Stud_info[]为一个全局数组函数funccharkc[]int*num的功能是统计选修了课程名为kc的学生的人数并返回该课程的平均成绩若无人选修该课程则平均成绩为0参数num带回选修课程kc的学生人数[C语言函数]doublefunccharkc[]int*numinticount=0sum=0;/*count用于记录选修课程名为kc的学生的人数*/doubleavg=0.0;structnode*p;fori=0;i<N;i++p=1;/*取第土个学生所修课程链表的头指针*/whilepif2sum=3;count++;break;;/*if*/p=p->next;/*while*/4;if5avg=doublesum/count;/*计算平均成绩*/returnavg;/*func*/从下列的2道试题试题六至试题七中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效
阅读以下说明和Java程序将应填入n处的字句写在对应栏内[说明]以下程序的功能时三角形矩形和正方形的面积输出程序由5个类组成areatest是主类类TriangleRectangle和Square分别表示三角形矩形和正方形抽象类Figure提供了一个计算面积的抽象方法[Java程序]publicclassareatestpublicstaticviodmainstringargs[]Figure[]Figures=Newtriangle233newrectangle58newsquare5;forinti=0;i<Figures.length;i++system.out.printlnFigures+area=+Figures.getarea;publicabstractclassfigurepublicabstractdoublegetarea;publicclassrectangleextends1doubleheight;doublewidth;publicrectangledoubleheightdoublewidththis.height=height;this.width=width;publicstringtostringreturnrectangle:height=+height+width=+width+:;publicdoublegetareareturn2publicclasssquareexends3publicsquaredoublewidth4;publicstringtostringreturnsquare:width=+width:;publicclasstriangleentends5doublela;doublelb;doublelc;publictriangledoubleladoublelbdoublelcthis.la=la;this.lb=lb;this.lc=lc;publicstringtostringreturntriangle:sides=+la++lb++lc+:;publicdoublegetareadoubles=la+lb+lc/2.0;returnmath.sqrts*s-la*s-lb*s-lc;
阅读以下说明和算法完善算法并回答问题将解答写在对应栏内[说明]假设以二维数组G[1..m1..n]表示一幅图像各像素的颜色则G[ij]表示区域中点ij]处的颜色颜色值为0到k的整数下面的算法将指定点i0j0所在的同色邻接区域的颜色置换为给定的颜色值约定所有与点i0j0同色的上下左右可连通的点组成同色邻接区域例如一幅8×9像素的图像如图1-1所示设用户指定点35其颜色值为0此时其上方25下方45右方36邻接点的颜色值都为0因此这些点属于点35所在的同色邻接区域再从上下左右四个方向进行扩展可得出该同色邻接区域的其他点见图1-1中的阴影部分将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示[算法]输入矩阵G点的坐标i0j0新颜色值newcolor输出点i0j0所在同色邻接区域的颜色置换为newcolor之后的矩阵G算法步骤为规范算法规定该算法只在第七步后结束第一步若点i0j0的颜色值与新颜色值newcolor相同则1第二步点i0j0的颜色值→oldcolor创建栈S并将点坐标i0j0入栈第三步若2则转第七步第四步栈顶元素出栈→xy并3第五步1若点xy-1在图像中且G[xy-1]等于oldcolor则xy-1入栈S2若点xy+1在图像中且G[xy+1]等于oldcolor则xy+1入栈S3若点x-1y在图像中且G[x-1y]等于oldcolor则x-1y入栈S4若点x+1y在图像中且G[x+1y等于oldcolor则x+1y入栈S第六步转4第七步算法结束[问题]是否可以将算法中的栈换成队列回答5
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明1]L为一个带头结点的循环链表函数LinkListdeletenodeLinkListLintc的功能是删除L中数据域data的值大于C的所有结点并由这些结点组建成一个新的带头结点的循环链表其头指针作为函数的返回值[C函数1]LinkListdeletenodeLinkListLintcLinkListLcPpre;pre=L;p=1;Lc=LinkListmallocsizeofListnode;Lc->next=Lc;whileP!=Lifp->data>C2;3;Lc->next=p;p=pre->next;elsepre=p;p=pre->next;returnLc;[说明2]递归函数dec_to_k_2intnintk的功能是将十进制正整数n转换成[*]进制数并打印[C函数2]dectok2intnintkifn!=Odectok24k;printf%d5;
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明1]函数voidfunchar*wcharxint*n用来在w数组中插入xw数组中的数已按由小到大顺序存放n指存储单元中存放数组中数据的个数插入后数组中的数仍有序[C函数1]voidfunchar*Wcharxint*nintiP;p=0;w[*n]=x;whilex>w[p]1;fori=*ni>p;i--w[i]=2;w[p]=x;++*n;[说明2]函数voidrevstrchar*s将字符串s逆置例如字符串abcde经过逆置后变为edcba[C函数2]voidrevstrchar*schar*pc;ifs==NULLreturn;p=3;/*p指向字符串s的最后一个有效字符*/whiles<p/*交换并移动指针*/C=*s;4=*p;5=c;
阅读以下说明和C函数将应填入n处的字句写在对应栏内[说明]若一个矩阵中的非零元素数目很少且分布没有规律则称之为稀疏矩阵对m行n列的稀疏矩阵M进行转置运算后得到n行m列的矩阵MT如图3-1所示为了压缩稀疏矩阵的存储空间用三元组即元素所在的行号列号和元素值表示稀疏矩阵中的一个非零元素再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表例如图3-1所示的矩阵M相应的三元组顺序表如表3-1所示其转置矩阵MT的三元组顺序表如表3-2所示函数TransposeMatrixMatrixM的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算对M实施转置运算时为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置需先计算M中每一列非零元素的数目即MT中每一行非零元素的数目并记录在向量num中然后根据以下关系计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置cpot[0]=0cpot[j]=cpot[j-1]+num[j-1]/*j为列号*/类型ElemTypeTriple和Matrix定义如下typedefintElemType;typedefstruct/*三元组类型*/intrc;/*矩阵元素的行号列号*/ElemTypee;/*矩阵元素的值*/Triple;typedefstruct/*矩阵的元组三元组顺序表存储结构*/introwscolselements;/*矩阵的行数列数和非零元素数目*/Tripledata[MAXSIZE];Matrix;[C语言函数]intTransposeMatrixMatrixMintjqt;int*num*cpot;MatrixMT;/*MT是M的转置矩阵*/num=int*mallocM.cols*sizeofint;cpot=int*mallocM.cols*sizeofint;if!num||cpotreturnERROR;MT.rows=1;/*设置转置矩阵MT行数列数和非零元素数目*/MT.cols=2;MT.elements=M.elements;ifM.elements>0forq=0;q<M.cols;q++num[q]=0;fort=0;t<M.elements;++t/*计算矩阵M中每一列非零元素数目*/num[M.data[t].c]++;/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/3;forj=1;j<M.cols;j++cpot[j]=4;/*以下代码完成转置矩阵MT三元组顺序表元素的设置*/fort=0;t<M.elements;t++j=5;/*取矩阵M的一个非零元素的列号存入j*//*q为该非零元素在转置矩阵MT三元组顺序表中的位置下标*/q=cpot[j];MT.data[q].r=M.data[t].c;MT.data[q].c=M.data[t].r;MT.data[q].e=M.data[t].e;++cpot[j];/*计算M中第j列的下一个非零元素的目的位置*//*for*//*if*/freenum;freecpot;/*此处输出矩阵元素代码省略*/returnOK;/*TransposeMatrix*/
阅读以下说明和C++程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的C++代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能已知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!--------------------------------------这是票据的抬头!这是票据的脚注![C++程序代码]#include<iostream>usingnamespacestd;classSalesTicketpublic;1printTicketcout<<这是票据正文!<<endl;;classDecoratorpublicSalesTicketSalesTicket*ticket;publicDecoratorSalesTicke*tticket=t;voidprintTicketifticket!=NULLticket->printTicket;;classHeadDecorator:publicDecoratorpublic:HeadDecoratorSalesTicket*t:2voidprintTicketcout<<这是票据的抬头!<<endl;Decorator::printTicket;;classFootDecorator:publicDecoratorpublic:FootDecoratorSalesTicket*t:3voidprintTicketDecorator::printTicket;cout<<这是票据的脚注!<<endl;;voidmainvoidSalesTickett;FootDecoratorf&t;HeadDecoratorh4;h.printTicket;cout<<---------------------<<endl;FootDecoratoraNULL;HeadDecoratorb5;b.printTicket;
阅读以下说明和C函数将应填入n处的字句写在对应栏内[说明]若一个矩阵中的非零元素数目很少且分布没有规律则称之为稀疏矩阵对m行n列的稀疏矩阵M进行转置运算后得到n行m列的矩阵MT如图3-1所示为了压缩稀疏矩阵的存储空间用三元组即元素所在的行号列号和元素值表示稀疏矩阵中的一个非零元素再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表例如图3-1所示的矩阵M相应的三元组顺序表如表3-1所示其转置矩阵MT的三元组顺序表如表3-2所示函数TransposeMatrixMatrixM的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算对M实施转置运算时为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置需先计算M中每一列非零元素的数目即MT中每一行非零元素的数目并记录在向量num中然后根据以下关系计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置cpot[0]=0cpot[j]=cpot[j-1]+num[j-1]/*j为列号*/类型ElemTypeTriple和Matrix定义如下typedefintElemType;typedefstruct/*三元组类型*/intrc;/*矩阵元素的行号列号*/ElemTypee;/*矩阵元素的值*/Triple;typedefstruct/*矩阵的元组三元组顺序表存储结构*/introwscolselements;/*矩阵的行数列数和非零元素数目*/Tripledata[MAXSIZE];Matrix;[C语言函数]intTransposeMatrixMatrixMintjqt;int*num*cpot;MatrixMT;/*MT是M的转置矩阵*/num=int*mallocM.cols*sizeofint;cpot=int*mallocM.cols*sizeofint;if!num||cpotreturnERROR;MT.rows=1;/*设置转置矩阵MT行数列数和非零元素数目*/MT.cols=2;MT.elements=M.elements;ifM.elements>0forq=0;q<M.cols;q++num[q]=0;fort=0;t<M.elements;++t/*计算矩阵M中每一列非零元素数目*/num[M.data[t].c]++;/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/3;forj=1;j<M.cols;j++cpot[j]=4;/*以下代码完成转置矩阵MT三元组顺序表元素的设置*/fort=0;t<M.elements;t++j=5;/*取矩阵M的一个非零元素的列号存入j*//*q为该非零元素在转置矩阵MT三元组顺序表中的位置下标*/q=cpot[j];MT.data[q].r=M.data[t].c;MT.data[q].c=M.data[t].r;MT.data[q].e=M.data[t].e;++cpot[j];/*计算M中第j列的下一个非零元素的目的位置*//*for*//*if*/freenum;freecpot;/*此处输出矩阵元素代码省略*/returnOK;/*TransposeMatrix*/
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某班级有N名学生他们可根据自己的情况选修名称和数量不尽相同的课程设N等于6学生信息所选课程及成绩用链表结构存储如图5-1所示程序中相应的类型定义如下#defineN6structnodecharcname[5];/*课程名*/intgrade;/*成绩*/structnode*next;/*指针指示某学生选修的下一门课程及成绩*/;structstudentcharxh[5];/*学号*/charname[20];/*姓名*/structnode*link;/*指针指示出选修的课程及成绩链表*/stud_info[n];Stud_info[]为一个全局数组函数funccharkc[]int*num的功能是统计选修了课程名为kc的学生的人数并返回该课程的平均成绩若无人选修该课程则平均成绩为0参数num带回选修课程kc的学生人数[C语言函数]doublefunccharkc[]int*numinticount=0sum=0;/*count用于记录选修课程名为kc的学生的人数*/doubleavg=0.0;structnode*p;fori=0;i<N;i++p=1;/*取第土个学生所修课程链表的头指针*/whilepif2sum=3;count++;break;;/*if*/p=p->next;/*while*/4;if5avg=doublesum/count;/*计算平均成绩*/returnavg;/*func*/从下列的2道试题试题六至试题七中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效
热门题库
更多
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术