20XX全国计算机等级考试三级数据库技术上机指导考试内.docx

上传人:b****5 文档编号:3973384 上传时间:2022-11-26 格式:DOCX 页数:8 大小:17.91KB
下载 相关 举报
20XX全国计算机等级考试三级数据库技术上机指导考试内.docx_第1页
第1页 / 共8页
20XX全国计算机等级考试三级数据库技术上机指导考试内.docx_第2页
第2页 / 共8页
20XX全国计算机等级考试三级数据库技术上机指导考试内.docx_第3页
第3页 / 共8页
20XX全国计算机等级考试三级数据库技术上机指导考试内.docx_第4页
第4页 / 共8页
20XX全国计算机等级考试三级数据库技术上机指导考试内.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

20XX全国计算机等级考试三级数据库技术上机指导考试内.docx

《20XX全国计算机等级考试三级数据库技术上机指导考试内.docx》由会员分享,可在线阅读,更多相关《20XX全国计算机等级考试三级数据库技术上机指导考试内.docx(8页珍藏版)》请在冰豆网上搜索。

20XX全国计算机等级考试三级数据库技术上机指导考试内.docx

20XX全国计算机等级考试三级数据库技术上机指导考试内

2016全国计算机等级考试三级数据库技术上机指导:

考试内容

上机考试内容

1程序编制调试运行

当试题抽取成功后,上机考试系统已将需编制程序的部分源程序存放到文件PROG1.C中,考生在指定的三级信息管理技术C语言环境中,按照试题给定的要求在PROG1.C文件中进行程序的编写,经过调试和运行,最后得到其运行结果并存放到指定的输出结果文件中。

一般来说输出结果文件格式在程序中已给出,考生不必自行编写,只要调用即可。

程序编制题只有一种题型:

编写部分程序或函数。

那么怎样编制程序呢?

首先在编制程序之前,考生必须要理解试题,并分析出试题要求做什么,得出的结果怎样输出,再编写部分程序并调试运行,直至程序运行得到正确结果为止。

1.评分规则

程序编制、调试运行这一类试题的评分规则是判定最终的运行结果,按正确结果的多少,按比例进行给分。

考生编写的程序方法和内容可以有所不同,但必须得出正确的结果,才能得分。

2.举例

例1:

函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。

替代关系:

f(p)=p*11mod256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:

部分源程序存放在PROG1.C中,原始数据文件存放的格式是:

每行的宽度均小于80个字符。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

部分源程序如下:

#includeTrue

#includeTrue

#includeTrue

#includeTrue

unsignedcharxx[50][80];

intmaxline=0;/*文章的总行数*/

intReadDat(void);

voidWriteDat(void);

voidencryptChar()

{

}

voidmain()

{

clrscr();

if(ReadDat()){

printf(“数据文件ENG.IN不能打开!

\n\007”);

return;}

encryptChar();

WriteDat();

}

intReadDat(void)

{

FILE*fp;

inti=0;

unsignedchar*p;

if((fp=fopen(“n.dat”,r))==NULL)return1;

while(fgets(xx[i],80,fp)!

=NULL){

p=strchr(xx[i],′\n′);

if(p)*p=0;

i++;

}

maxline=i;

fclose(fp);

return0;

}

voidWriteDat(void)

{

FILE*fp;

inti;

fp=fopen(“out.dat“,w);

for(i=0;imaxline;i+[+){

printf(“%s\n“,xx[i]);

fprintf(fp,“%s\n“,xx[i]);

}

fclose(fp);

}

分析:

根据题意分析得出:

本题主要考查考生的字符串指针或字符串数组以及根据公式进字符的ASCII值运算,再根据运算结果和条件进行相应的替代操作,要求考生仅编写函数encryptChar()实现转换功能。

其中输入及输出函数给出且已调用,考生不必自己编写。

编写函数encryptChar()的程序内容如下:

voidencryptChar()

{inti,j,val;

for(i=0;i

for(j=0;j

val=(xx[i][j]*11)%256;

if(!

(val=32||val130))xx[i][j]=val;

}

}

数据文件IN.DAT内容如下:

YoumayWANTAFIELDinfieldineachrecordtouniquelyidentifythat1234

recordfromallotherrecordsINTHEFILE.Forexample,theEmployee123456

NumberfieldisuniqueifyouDONOTASSIGNthesamenumbertotwo12345678

differentemployees,andyouneverreassignTHESENUMBERStoother12345678

employees.IfyouwishtoFINDORMODIFYtherecordbelongingtoa11111111

specificemployee,thisuniqueFIELDSAVESthethoubleofdetermining22222

whetheryouhavethecorrectrecord.123*********234567

Ifyoudonothaveauniquefield,YOUMUSTFINDTHEfirstrecord123456787

thematchesyourkeyanddeterminewhetherTHENRECORDistheoneyou33333

want.IfitisnottheCORRECTONE,youmustsearchagaintofindothers.4

结果文件OUT.DAT内容如下:

Youm+3WAZTAF#EDDinbiWlLinW+AxrWAorLtouniquWl3iLWntib3tx+t11rWAorLbrom+llotxWrrWAorLs#ZTHEF#DE.ForW(+mplW,txWEmplo3WW11

True

例2:

True文件in.dat中有200个正整数,且每个数均在1000至9999之间。

函数readDat()是读取这200个数存放到数组aa中。

请编制函数jsSort(),其函数的功能是:

要求按每个数的后三位的大小进行升序排列,将排序后的前10个数存入数组b中,如果数组b中出现后三位相等的数值,则对这些数值按原始4位数据进行降序排列。

最后调用函数writeDat()把结果bb输出到文件out.dat中。

例:

处理前60125099901270258088

处理后90126012702580885099

注意:

部分源程序存在文件PROG1.C文件中。

请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

部分源程序如下:

#include

#include

#include

intaa[200],bb[10];

voidjsSort()

{

}

voidmain()

{

readDat();

jsSort();

writeDat();

}

readDat()

{

FILE*in;

inti;

in=fopen(“in.dat“,r);

for(i=0;i200;i+[KG-*3]+)fscanf(in,“%d,“,aa[i]);

fclose(in);

}

writeDat()

{

FILE*out;

inti;

clrscr();

out=fopen(“out.dat“,w);

for(i=0;ii+[KG-*3]+){

printf(“i=%d,%d\n“,i+1,bb[i]);

fprintf(out,“%d\n“,bb[i]);

}

fclose(out);

}

True

分析:

根据题意分析得出:

本题主要考查考生的运用数组和排序的能力,要求考生仅编写函数jsSort实现此功能。

其中输出函数给出且已调用,考生不必自己编写。

编写函数jsSort的程序如下:

voidjsSort()

{

inti,j,m;

for(i=0;i199;i++)

for(j=i+1;j200;j++){

if((aa[i]%1000)(aa[j]%1000)){

m=aa[i];

aa[i]=aa[j];

aa[j]=m;

}

elseif((aa[i]%1000)==(aa[j]%1000)){

if(aa[i]

m=aa[i];

aa[i]=aa[j];

aa[j]=m;

}

}

}

for(i=0;ii++)bb[i]=aa[i];

}

数据文件IN.DAT内容如下:

1862,8281,6183,5180,1217

8215,8865,7110,1870,4373

7447,8420,8252,8809,7968

7331,3472,4126,8101,5576

7397,2066,5940,9779,7947

2912,1226,2238,4122,6210

2020,3721,1646,8324,2351

2345,1862,5186,7573,8949

3211,2103,6695,7968,6157

9956,2998,4063,6096,9432

6452,2422,1382,5813,8138

7486,1178,7650,1687,5012

4845,1428,3197,6077,4650

6641,2695,5758,8855,5321

1337,5323,9154,6419,8044

3654,2246,1890,3250,5542

1976,5986,5051,8053,7377

3726,6189,9483,5874,9246

2522,1020,3492,4032,4367

9784,4746,3130,8521,7837

6521,7917,6240,1225,4092

8022,6893,2075,8043,7409

3316,5688,4600,6016,2953

6206,4100,8947,6264,1986

4933,6105,7054,9121,5318

3164,9609,5784,4178,4906

3731,2996,4218,3498,3849

3835,5491,3890,3531,1475

8219,3720,8585,9616,6539

4961,8850,5822,2769,1269

2171,2104,3681,9291,5768

3582,3035,7212,8313,5669

4782,7545,7917,8561,5447

4912,7624,1343,8579,5639

5745,1833,7948,4321,3090

9389,2796,8073,7806,4910

7970,2808,8109,8664,5963

3660,1396,1380,5705,7269

7417,5590,2823,6308,1754

5467,8126,9822,6737,1023

结果文件OUT.DAT的内容如下:

5012

6016

2020

1020

8022

1023

4032

3035

8043

8044

True

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1