2022年四川省攀枝花市全国计算机等级考试数据库技术预测试题(含答案).docx
2022年四川省攀枝花市全国计算机等级考试数据库技术预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1.设事务T1和T2,对数据库中的数据X进行操作,可能有如下几种情形,请问哪一种情形不会发生冲突操作?A.T1正在读X时,T2也要读XB.T1正在读X时,T2要写XC.T1正在写X时,T2也要写XD.T1正在写X时,T2要读X2 .计算机硬件系统中,完成解释指令、执行指令的部件是A.运算器B.控制器C.存储器D.输入/输出设备3 .若用如下的SQL语句创建一个表S :CREATE TABLE S(S# char (16)NOT NULL; SNAME char(8) NOT NULL, SEX char(2), AGE integer)向表S中插入如下行时,哪一行可以被插入?A(99ioor李明芳女,23)B.C990746张民NULL, NULL)C.(NULLJ 陈道明、男 1 35)D.(,992345', NULL,女,25)些数的和sumo请编写函数countValue实现程序的要求。最后main函数调用函数writeDAT把结果crlt和sum输出到out . dat文件中。注意,部分源程序存放在teste文件中.请勿改动主函数main。和输出数黑函数wrhcDAT。的内容.345678910111213141516171819202122finclude <stdioeh>int cntr sum; /定义餐型全局受做enu加8g void writeDAT();void countValue()void main()( 二ent - sum = 0; 蛤全局变cnc. sumM初值为Q countvalue O ; 调用由数countvaluo ().实叫8 H要求的功能 print ”满足条件的自然数的个数,%dn% ent); prints 满足条件的自然数值的和 %dnMr sum);writeDAT();void writeDAT() (FILE ,fpjfp fopen("out.daL. F”); fprintf(fprn%dn%dnH, ent, sum);f close (fp);34.已知数据文件in .dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把千位数 字和个位数字重新组成一个新的含有两位数字的数(新数的十位数字是 原四位数的千位数字,新数的个位数字是原四位数的个位数字),以及把 百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数 字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如 果两个新组成的数均是奇数并且至少有一个数能被5整除,同时两个新 数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存 入数组b中,并要计算满足上述条件的四位数的个数ent。最后main函数调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出 到Out . dat文件中。注意:部分源程序存在8.C文件中.程序中已定义数组;a|200), b200p已定义变IL ent请勿改动数据文件in.dal中的任何数据.函数mainOw读函数readDatO和写函船writeDaU)的内容.*include <stdio.h> fdefine MAX 200 int a|MAX/ “MAX, ent 0; void writeDat();void jsVal()7S910111415161718192021void readDat () 从 in.dat200 个四便故存入政 a中( int 1;FILE wfp? fp fopen(Rin.datnFRrM); for(X 0; i < MAX;:fscanf(fp9fi);fclose(fp);I_void main() ( int i; readDat (); isvaio;用雄敛,实现Utl求的功候23242526272829303132333435363738print”满足条件的数NdS". ent);for(i 0; 1 < ent;printf (*td * b(i);printf (wn*);writeDat (); )void writeDat () 把计算能果b仅及数组b中希合条件的四位数出XMdai文件中 (FILS wfp;int i;fp fopen("out.datfprlntf(fp *%dn*# cnE);for(1 0; i < ent;fpnntf (fp wtdn*f b(i);fclose(fp);35.已知数据文件in .dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出所有这 些四位数是素数的个数ent,再求出所有满足此条件的四位数平均值pjzl, 以及所有不满足此条件的四位数平均值Pjz2o最后main函数调用写函 数writeDat把结果ent, pjzl, pjz2输出到out . dat文件中。Mta:5501 /Z gft,该数滴足条件.参加计IT平均Wpjzl. H个数 9812足集K数,谟数不满足条件.参加计算平均值pjz2.注意*解分源程序行在lew c文件中程序中已定义数组i M3001.已定义变量i cm, pjzl. pjz2情?改动IftlK文件in dal中的任何敷虬 主函数nuin().说於畋readDitO和"东数wnsDatO的内机1 ; <include <atdio.h> mdu&句史朝必收庠中叔畲e60中第精依人出I谓敦2 - int a |300h cnt-0; 定义。平敷出 a33P)和安st麦enc M初(ft力。3 ! double pjl-O.O, pz2»0.0; 瞪文受力xl. >白川 初公力 0.04 ; void writeDat (); *出雄Ittift叨明旬void readDat (): *入呱数设瞰遇何w) /tt upcint际diR古力敷,皿果是腐敏川越网1柠剜通同oIntm;1 f (sn Q 1 , 0)11 : return 0;12 return 1;13n I14 « void )sValue() 函依"viuo()的定义词句 I”-17 |18 ! maln()19 j («i. .;?-;20 ; readDat O ; ,用皿陋此从in&t文件中偷入300个K付也存入敷帽中21 ! jsValued ; 用jWu.o女数,女JUUIIKT丈理的功胧22 ;writeDat (); writt <)leitWttt cm.取1庐出文付中23; prxntf (Hcnt-%dn满足条件的平均值pzjl-%7.21fn不满足条件的平均值pz j2-i7 <21fnH. ! cntrpjzl,pjz2); 在扉,示iiIT的纳累24 M25 void readDat O 从m3女竹中灌入300个内价IS存入伯中.中26 E(27 ;FILE *fp; /定文文件指甘麦28 ;int 1;定义殳工29 | tp - fopen("ln.dat* "rH); 以只请方K打开文件in.dai月且文的推针fp指向文利 -r I30 i ford - 0; i < 300;、*)环变* % 从。依次揄N7”31 fscanf (fpr fd,; 从文件Ln.da1中入300个内口数存入做通.中32 ! fclose(fp); 关用文ffrn.dat331 »R34 : void writeDat () 总计“彷桌耳jtfl35 ; I':36 i FILE *fp; 定义文件向更 fp37 - fp - fopen (*out.dat"e -W); 以 RU 方式打科文告 gt.dat. # RZ偿折角文件 o<R.&t38 fprintf(fp, -%dn»7»21 An%7.21fnR. ent. pjzl, pjz2); 塞醉上星制IT站里39 I fclose(fp) j 大用文件 wt.dnz40 ; |36.函数ReadDat实现从文件in .dat中读取一篇英文文章,存入到字符 串数组XX中;请编制函数eneryptChar,按给定的替代关系对数组XX 中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数 WriteDat把结果xX输出到文件out . dat中。替代关系:f(p)=P*H mod 256, mod为取余运算,P是数组XX中某一 个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义 成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是大写 字母,则该字符不变,否则用f(p)替代所对应的字符。注意:部分源程序存放在test .c文件中,原始数据文件存放的格式是: 每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系 进行处理。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。45678910111213141516:i18 !19 ;20 :21 ;,22 !23 i24 :25 ;26 ;27 :28 ;29 ;30 :31 I33 ;34 ;35 !36 ;37 ;38 :39 ; a .404142434445464748495051includeincludeincludeunsigned char xx(50BO;int maxline 0; /文章的总行数/ int ReadDat(void);void WriteDat(void);void encryptChar O 二unsigned int val;void mam ()r厂.if (ReadDatO)printif ("数据文件m.dat不能打开! n007R); return; encryptChar(); WriteDat O;I;'/从文件ndiu中it取一般芟文文荣,存入到字符中敷用xx中” Xnt ;ReadDat(void)I FILE *fp; int i » 0; unsigned char *p;if (fp*fopen (“in.dau", "r") -NULL) return 1;while(fgets(xx(i)r 80,fp) !, NULL)<: .p strchr(xx(i)#1n*); if(p) ep - 0;)'二.1 -:maxline « i;fcloae(fp); return 0;>r ,/1E结果XX m出到文件OUt.dAi中/void WriteDat(void) ( :FILE *fp; int i;fp - fopen(Hout.daf,、”); for (i = 0; i < maxline; ") (printf(RlsnHr xxij);fprintf (fp, Fsn”,xxi);f) fclose(fp);37 .已知数据文件in .dat中存有200个四位数,并已调用读函数readDatO 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数 组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数 且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此 条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后 调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出到 Out . dat文件中。注意:部分源程序存在test . C文件中。程序中已定义数组:a200, b200,已定义变量:ent请勿改动数据文件in . dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。2 345 678linclude <stdio.h> tdeflne MAX 200 tnt afMAX, bMAXl, ent void writeDat();void jsVal()/readDAt 从数飙文件tn.dai中读取200个四位故存入数姐中/ void readDat()10int i;FILE efp;1314151617fp - fopen("in.daL, "r");for (i 0; i < MAX; if fscanf (fp,fclose(fp);void main()19202122232425262728int 1;readDat ();JsValO ; 调用病数,实现眩!1 要米的功健 printf (”满足条件的数=SdrT, ent);for(i » 0; i < ent; i+)printf(H%d ”, bji);prlntf (HnH>writeDat();29void writeDat()/Rfift writcDrtHe雄果cm以及效川b中符合条件的四位败出现outdat文件中/30 ;(31 FILE *fp;32 ; int i;333435363738fp => fopen (Hout .dat"/ vwH); fprintf (fp/ *%dnt ent); for(1 « 0; i < ent;fprintf(fp#M%dnwr bi1); fclose(fp);38 .将文件in . dat中的200个整数读至数组XX中。请编制jsValue函 数,要求:求出数组XX中的数值为奇数的个数cntl和数值为偶数的个 数cnt2以及数组XX下标为奇数的元素值的算术平均值pjo结果cntl, cnt2, pj输出到out . dat中。注意:部分源程序存在test . c 文件中。请勿改动数据文件in . dat中的任何数据、主函数main、读函 数read_dat和输出函数writeDat的内容。12345678910II141516171819202122232425linclude <stdio.h> define N 200 lot cntl, cnt2r xx(N); float pj; 平均值 void writeDat();void jsValue()/ road_<Ut (int唯数相文件iiuht中的200个数it至故fit u中/void read_dat(int xxfN) (int i.jj;,_;FILE efp;fp fopen(win.datM4 *rH); for(x 0; i < 20;一、.一 二 for(j 0; j < 10;fscanf (fp, 7d. xx(ie10>jJ); 从文件ndai中球取一个散入敷爆元素xx建中 printf(R%d , xxin0*jJ);I、printf(#n*);262728void main()read dat(xx); fclose(fp);2930313233343536373839jsValue();printf (XnXncntl-ld,cnt2«%df pj«%6.2fn*/ cntl# cnt2r pj); writeDat ();1/将计算结果 cntl cnt2« pj "出JN out.da!中/void writeDat()IFILE *fw;;"fw - fopen(*out.dat* www);fprintf (fw R%dn%dn%6.2fnw9 cntl, cnt2. pj); /cnth cm2.0月人到outdat 中 fclose(fw);39 .函数readDat是从文件in . dat中读取20行数据存放到字符串数组 XX中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能 是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍 按行重新存入字符串数组XX中,最后调用函数writeDat把结果XX输出到文件out . dat中。条件:字符串从中间一分为二,左边部分按字符的ASCII值升序排序, 右边部分不变,左边经排序后再与右边部分进行交换。如果原字符串长 度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。例如F位置源字符中012345678 dcbahgfe 432198765则处理后字符中hgfcibcd876591234注意I磔分源程序存在teste文件中.,纱彳动数据/件m.而中的任何数据.主曲敷皿.读函数m3)和写函数wnteDag的内容. 1 ! include <stdio.h>2 ;*include <string.h> 3 void readDat();4 ; void writeDat(); 5 « char xx(20 80; 6 ; void jsSort() 7 i(I e i 9 * 10 ; void main() 114( 12 " readDat ();jsSort ();14writeDat();j,从文件mdM中请取20 fj数据存放字符小散机xx中/16 void readDat()17 ?(181920212223FILE *injint i - 0;char *p;in fopen(winedatwr Hrw);while(i < 20 " fgets(xxi)r 80, in) NULL)2425262728 ;P - strchr(xx(i). 1n,); if<p) ep , 0;fclose (in);1/纪砧果u 0出到文件out&r中/3031323334353637383940void writeDat()(FILE out;;,int i;out - fopcn(wout.dafr 3);ford - 0; i < 20; +)* ' "printf("IsSn-, xxfi);fprintf (cut, 78n,xxfil);Ifclose(out);40.函数ReadDat实现从文件in . dat中读取一篇英文文章存入到字符 串数组XX中,请编制函数ConvertCharA,其函数的功能是:以行为单 位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母4 . PC机通过下列哪一条途径启动硬件中断服务程序执行?A.主程序中安排的中断指令B.中断控制器发出的中断请求信号C.主程序中安排的转移指令D.主程序中安排的调用指令5 .在分区存储管理中,系统提供一对硬件寄存器,它们是()。A.基址寄存器和限长寄存器B.直接地址寄存器和间接地址寄存器C. 上界寄存器和下界寄存器D.A或C6 .数据库的数据独立性是指()。A.不会因为数据的数值变化而影响应用程序B.不会因为系统数据存储结构和逻辑结构变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他存储结构7 .下面系统中不属于关系型数据库管理系统的是A.Oracle B.MS_QL Server C.IMS D.DB28 .在数据仓库中,下画哪一种说法是关于分析型数据的?A.当前的、准确的B.重复的、简单事务C.面向主题D.一次操作数据量 比较少9 .以下关于数据的存储结构的叙述中哪一条是正确的?oA.数据的存储结构是数据间关系的抽象描述B.数据的存储结构是逻辑结构在计算机存储器中的实现z-则改写成字母a,大写字母和其他字符保持不变。把已处理的字符串 仍按行重新存入字符串数组XX中。最后main函数凋用函数WriteDat 把结果XX输出到文件Out . dat中。例i 朦文Adb.Bcdzaabck.LLhj站果:Aec.Bdcabhrrfl ( I ik23456789101112131415161718192021222324252627282930313233343536373839404142434445 46474849原始数据文件存放的格式是r每行的窗度均小于80个字符.含标点符号和空格. 注部分源程序存放在testc文件中请勿改动主函数main。、读函数ReadDaU)和输出函数WriteDtt。的内容.;linclude <stdio.h>include <string<h>;char xx50J80J;;int maxline , 0; /*文门的总行数/ int ReadDat(void);void WriteDat(void);! void ConvertCharA(void)void main()i I- .if(ReadDat();<;printf L数据文件in.dat不能打开! n007");!return;i I ConvertCharAO;WriteDat();h!"从文件m.(tet中澹取一英文文章存入到字符小Dtttl u中/;int ReadDat(void) ! ( FILE *fp;int i - 0; j char *p;! if (fp-fopen(Hin.datRrwrH)-NULL) return 1;: while(fgets(xx(i/ 60r fp) !- NULL)I <*;p strchr(xx(ij rif (p) ep 0; if, 一maxline i;fclose(fp);return 0;I/纪蛤果U 出到文件M&t中void WriteDat(void)FILE #fp;int 1;fp = fopen(wout.datHr *ww);ford - 0; i < maxline; (printf(w%sn-r xx(ij);fprintf (fp, *%snwr xx(iH ;fclose(fp);五、设计与应用题(2题)41 .设在SQLServer2008某数据库中,已建立了四个文件组:fgl、f92、 f93和f94,以及一个分区函数RangePFl。RangePFl的定义代码如下: CREATE PARTITION FUNCTION RangePFl (int) AS RANGE LEFT FOR VALUES (100, 200, 300) (1)请基于 RangePFl 创建一个分区方案 RangePSl,每个分区对应一个文件组。(5分)(2)请使用RangePSl创 建一个分区表 PartitionT (Gid, GoodName, Price),该表基于 Gid 列创 建分区。其中Gid :int类型,取值大于等于1 ; GoodName :统一字符编 码可变长类型,最多可存储20个汉字;Price :定点小数类型,小数部 分1位,整数部分到千位。(5分)42 .在SQL Server 2008中,设有教师表(教师号,姓名,所在部门号, 职称)和部门表(部门号,部门名,高级职称人数)。请编写满足下列要 求的后触发型触发器(设触发器名字为tri_zc)。每当在教师表中插入一 名具有高级职称(“教授”或“副教授”)的教师时,或者将非高级职称教 师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。(假设一次操作只插入或更改一名教师的职称)(10分)六、单选题1分(2题)43 .下列关于SQL Server 2008数据库文件的说法,错误的是()。A.一个数据库可以包含多个数据文件,但这些数据文件不能放置在同 个物理磁盘上B.数据库的数据文件和日志文件最好分别存放在不同的物理磁盘.二 C用户数据库中包含很多系统信息,这些系统信息必须存储在主要数据 文件中D.数据库的主要数据文件必须存放在PRIMARY文件组中44.数据库管理员是数据库的主要维护者,设有如下针对数据库的工作: I .数据库的转储和恢复n .数据库的安全性、完整性控制ni.数据库 性能的监控分析和改进w.数据库的重组和重构以上工作属于数据库管 理员职责的是()0a.仅 I 和 II b.仅 I 和ni c.仅 II 和 w d. I、II、in和 w参考答案1.A解析:只有在两个事务都在进行读操作时才肯定不会发生冲突。否 则就会发生丢失更新问题。2.B解析:以存储程序原理为基础的冯诺依曼结构的计算机,一般由五 大功能部件组成,它们是:运算器、控制器、存储器、输入设备和输出 设备。运算器是用于对数据进行加工的部件;控制器用于控制计算机的 各部件,并按照从存储器取出的指令,向各部件发出操作命令;另一方 面它又不停地接收由各部件传来的反馈信息,并对这些信息进行分析, 决定下一步操作,如此反复直至运行结束,因此本题的答案是选项B ; 存储器用于存放原始数据、中间数据、程序以及最终结果的部件;输入 设备用于接收用户提交给计算机的源程序、数据及各种信息,并把它们 转换成计算机能识别的二进制代码,传送给存储器。输出设备用于将计 算机内部的二进制信息转换为人和设备能识别的信息。3.B解析:根据该表的语法,S#, SName不能为空,因此选项C), D)不 能被插入。在选项A)中,由于各列均为字符,所以应用引号表示,而该 选项中的“女”没加弓I号,所以选项A)也不能被插入。4.B解析:在不同类型的中断中,软中断(也称内中断)是由于执行程序中 某些指令引起的;而硬中断(也称外中断)则是由处理器以外的其他控制 电路发出的中断请求信号引起的。5.D6.B解析:在集中式数据库系统中,数据独立性包括两个方面:数据的 逻辑独立性与数据的物理独立性。应用程序是依据外模式编写的,从而 应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑 独立性;当数据库的存储结构改变了,由数据库管理员对模式/内模式映 象作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证 了数据与程序的物理独立性,简称数据的物理独立性。7 .C解析我们常用的关系数据库管理系统主要有Oracle, MSSQLServer, IBMDB2, Sybase 等。8 .C解析:数据仓库是一个用以更好地支持企业或组织的决策分析处理 的、面向主题的、集成的、相对稳定的、体现历史变化的数据集合。9 .B解析:数据的存储结构是逻辑结构在计算机存储器中的实现,分为 顺序储存结构和链式存储结构。数据的逻辑结构是数据间关系的描述, 所以选项A不对;数据的存储结构分为顺序储存结构和链式存储结构, 所以选项C不对;数据的存储结构对数据运算的具体实现有影响,确定 数据查询时所采用的方法时就要考虑这一点,因此选项D也不对。本题 正确答案为B。10 .A解析:实体是客观存在并可相互区分的事物,在概念模型中的事物 叫做实体,最常用的表示方法是实体-联系的方法。11 .端到端(或End.tO.End)【解析】传输层的主要任务是向用户提供可靠 的端到端服务,透明地传送报文。它向高层屏蔽了下层数据通信的细节, 因而是计算机通信体系结构中最关键的一层。12 .实现无损联接;或无损联接;或不丢失数据实现无损联接;或无损联 接;或不丢失数据解析:为了提高规范化程度,常把低一级的关系模式 分解为若干高一级的关系模式。分解时应保证分解后产生的模式与原来 的模式等价。常用的等价标准有要求分解具有无损联接性并要求分解保 持函数依赖的两种。13 .EXEC SQLEXEC SQL解析:把SQL嵌入主语言使用时必须解决3 个问题:区分SQL语句与主语言语句这是对通过在所有的SQL语句前加前缀EXEC SQL来解决的。数据库工作单元和程序工作单元之间的通信嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据。把 SQL语句中使用的主语言程序变量简称为主变量。一个SQL语句原则上可产生或处理一组记录,而主语言一次只能处 理一个记录,为此必须协调两种处理方式。这是用游标来解决的。14 .基于IP广播组【解析基于IP广播组的虚拟局域网是动态建立的, 由代理对虚拟局域网中的成员进行管理。15 .数据控制数据控制解析:SQL语言功能极强,但由于设计巧妙,语 言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了 9 个动词,如下: 数据查询:SELECT ; 数据定义:CREATE DROP ALTER ; 数据操纵:INSERT UPDATE DELETE ; 数据控制:GRANT REVOKEo因此本题填数据控制。16.可串行化的或可串行化可串行化的或可串行化 解析:本题考察调度 可串行化的概念。如果多个事务在某个调度下的执行结果与这些事务在某串行调度下的 执行结果一致,则称该调度为可串行化的调度。可串行化是多个事务并 发执行的正确性准则。所以答案为:可串行化的。17.4NF4NF解析:若关系模式R£ 1NF,且对于每一个非平凡的多值依 赖X-Y(Y不属于X),都有X包含码,贝IJR&4NF。4NF就是限制关 系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。18.S.S#=SC.S#ANDSC.C#=C.C#数据库技术为C表中的属性,学生名为 S表中的属性,成绩为SC表中的属性。因此要将三张表关联起来19 .不相交条件不相交条件解析:分布式数据库中的数据分片是通过关 系代数的基本运算实现的,数据分片的主要方法有3种:水平分片、垂 直分片和混合型分片。在定义各种分片时必须遵守3个条件,即完备性 条件、重构条件和不相交条件。20 .误码率【解析】描述通信系统的基本技术参数是数据传输速率和误 码率。21 .A解析:本题是对计算机的系统软件和应用软件特性的考查。系统软 件应提供友好的人机界面;系统软件与硬件密切相关而与具体应用领域 无关;应用软件是在系统软件基础上开发的。所以选项A所述是错误 的,正确答案为A。22 .C23 .A24.B解析:根据数据库的定义可知,数据库是长期储存在计算机内的、 有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、 描述和存储,具有较小的冗余度、较高的数据独立性、和易扩展性,并 可为各种用户所共享。25.C26.B27.B28 .C解析:对具有相同关键字的关系模式,如果他们的处理主要是查询 操作,且常在一起,可将这列关系模式进行合并。掌握关系数据库的逻 辑结构设计过程,如何正确运用模式评价、优化模式、分解。29 .A解析:概念模型用于信息世界的建模,是将现实世界的客观对象抽 象为某种信息结构。这种结构不依赖于具体的计算机系统,不是某一个 DBMS支持的数据模型。实际上是现实世界到机器世界的一个中间层次。30.B31 .n【审题关键句】计算金额,按金额从大到小进行排列,相同的则按产品代码从大到小排列,结果存入结构数组。n【解题思路】n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要 求有所不同,参考答案的第8行进行修改即可。n【参考答案】nnn32 .n【审题关键句】按每个数的后三位降序排列,然后取出满足此条件 的前10个数依次存入数组;如果后三位的数值相等,则按原先的数值 进行升序排列。n【解题思路】本题类似第7套试题,通过审题可以发现主要有两个不 同点:按每个数的后三位降序排列,参考答案的第5条语句,修改两 数组元素的大小比较符即可;后三位的数值相等则按原先的数值进行 升序排列,参考答案的第13条语句,同样也是修改两数组元素的大小 比较符即可。n【参考答案】nnn33 .n【审题关键句】千位+百位等于十位十个位,且千位+百位等于个 位.千位的10倍。计算并输出这些四位自然数的个数ent以及这些数的 和。n【解题思路】W首先定义一个循环变量i,以及分别用来存放四位数分解之后各位 数的变量qw(千位)、bw(百位)、SW(十位)和gw(个位)。W通过for循环依次对数组中的每个四位数进行分解,循环初值为 1000,终值为5000,每循环一次,循环变量i的值加1。每分解一个四 位数,根据题目要求,判断其“千位十百位二十位十个位”的条件是否满足, 同时判断“(千位+百位)=(个位-于位)*10"的条件是否满足,两个条件之间 用运算符进行连接。当同时满足以上两个判断条件时,计数变量ent的 值加1,同时将该四位数累加到求和变量sum中,最终得到满足条件的 四位自然数个数ent及它们的和sum0n本题中ent和sum变量在源程序中已经定义,在该子程序中就不需要 再重新定义了。n【参考答案】n n34 .n【审题关键句】千位十个位与百位+十位,奇数,整除,从大到小排 序。n【解题思路】n本题类似第27套试题,通过审题可以发现主要是对四位数的筛选条 件有所不同,体现在两个方面:分解后重新组合成两位数的方式不同, 参考