2023年7月28日发(作者:)
计算机软件专业考试高级程序员级试题及答案
高级程序员级上午试题
试题1
从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内!
一种最早用于科学计算的程序设计语言是_A_;一种提供指针和指外操作且不存在布尔类型蝗、应用广泛的系统程序设计语言是_B_;一种适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是_C_;一种在解决人工智能总是上使用最多的有强的表处理功能的函数程序设计语言是_D_;一种以谓词逻辑为基础的,核心是事实、规则和推理机制的实用逻辑程序设计语言是_E_!
供选择的答案:
A~E: ①PASCAL ②ADA ③SMALLTALK ④SNOBOL
⑤C ⑥ALGOL 68 ⑦JAVA ⑧LISP
⑨PROLOG ⑩ FORTRAN
试题2
从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内!
在有一台处理机CPU和两台输入输出设备IO1和IO2,且能够实现抢先式多任务并行工作的多道程序内,投入运行优先级由高到低P1,P2,P3三个作业 !它们使用设备的先后顺序和占用设备时间分别是:
作业P1:IO2(30毫秒) CPU(10毫秒) IO1(30毫秒) CPU(10毫秒)
作业P2:IO1(20毫秒) CPU(20毫秒) IO2(40毫秒)
作业P3:CPU(30毫秒) IO1(20毫秒)
在对于其它辅助操作时间可以忽略不计的假设下,作业P1,P2,P3从投入到完成所用的时间分别是_A_毫秒,_B_毫秒和__C__毫秒!三个作业从投入运行到全部完成,CPU的利用率约为_D_%,IO1的利用率约为_E_%!假定在系统中仅有这三个作业投入运行,各设备的利用率指该设备的使用时间同作业进程全部完成所占用最长时间的比率!
供选择的答案:
A~E: ①60 ②67 ③70 ④78
⑤80 ⑥89 ⑦90 ⑧100
⑨110 ⑩ 120
试题3
从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内!
当网络用户通过网络与另一台主机X通信,发现响应太慢时,可运行_A_程序,把一个分组发向主机X,通过查看所返回的分组首部的 _B_,发现问题的所在,并采取相应的措施!
对一个大中型网络,需要有一个网络管理系统进行管理!当前流行的各类网管平台软件都支持_C_协议!驻留在_D_上的网管平台软件可通过该协议软件调阅被管理的网络结点内的管理信息库中的内容!有若干常用的网络平台软件,但_E_不是网管平台软件!
供选择的答案:
A: ①BROWSER ②BITWARE ③PINT ④HANDSHAKING
B: ①地址 ②时戳 ③标识码 ④校验码
C: ①MAP ②SNMP ③MHS ④FTAM
D: ①数据库服务器 ②通信服务器 ③主路由器 ④网络管理工作站
E: ①NETMANAGER ②OPENVIEW ③SUNVIEW ④NETVIEW
试题4
从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内!
设数据结构(D,R)由数据结点集合D={DI|1
当R={ 1 当R={ 供选择的答案: A、B、D ①二叉树 ②队列 ③二叉排序树 ④线性表 ⑤无向图 ⑥有向无回路图 C、E: ①前序 ②中序 ③后序 ④深度优先 ⑤广度优先 试题5 从以下叙述中选出5条最确切的叙述,把相应编号依次写在答卷的A~E栏内! ①在数据库系统中,数据独立性指数据之间的相互独立,互不依赖! ②SQL语言的视图定义和视图操作功能不支持逻辑数据的独立性! ③SQL语言中不提供显式地使用索引的功能,支持了物理数据的独立性! ④用户对"脏数据"的读出是由于数据库完整性规则受到了破坏! ⑤在数据库系统中,数据的安全性是指保护数据以防止未被授权用户的蓄意或者无意使用! ⑥实体完整性规则指主关键字值的任何组成部分都不可以是空值;引用完整性规则则不允许引用不存在的实体(即元组)! ⑦在数据库系统中,数据的完整性是指数据的正确性和有效性! ⑧"授权"是数据库系统中采用的完整性措施之一! ⑨事务处理(TRANSACTION)是数据库运行的基本单位!如果一个事务处理成功,则全部数据行到更新和提交;如果失败,则已做的全部更新被恢复成原状,好象整个事务处理未进行过一样!这样使数据库保持了一致性! ⑩对数据库的查找、增添、删除、修改等操作都需由数据库管理员进行完整性定义和完全性授权,由数据库系统具体执行! 试题6 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! 在设计测试用例时,_A_是用得最多的一种黑盒测试方法!在黑盒测试方法中,等价类划分方法设计测试用例的步骤是:根据输入条件把数目极多的输入数据划分成若干个有效等价类和若干个无效等价类;设计一个测试用例,使其覆盖_B_尚未被覆盖的有效等价类,重复这一步,直至所有有效等价均被覆盖!设计一个测试用便,使其覆盖_C_尚未被覆盖的无效等价类,重复这一步,直至所有无效等价均被覆盖!因果图方法是根据_D_之间的因果关系来设计测试用例的!在实际应用中,一旦纠正了程序中的错误后,还应选择部分或全部原先已测试过的测试用例,对修改后的程序重新测试,这种测试称为_E_! 供选择的答案: A: ①等价类划分 ②边值分析 ③因果图 ④判定表 B、C:①1WH ②7个左右 ③一半` ④尽可能少的 ⑤尽可能多的 ⑥全部 D: ①输入与输出 ②设计与实现 ③条件与结果 ④主程序与子程序 E: ①验收测试 ②强试测试 ③系统测试 ④回归测试 试题7 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! 用高级语言编写程序时,子程序调用语名中的实在参数必须与子程序说明中的形式参数在_A_上保持一致在允许子程序递归调用的高级语言环境中,需用动态存储管理方法,它通常使用一个_B_存入子程序的调用记录,调用记录可包括(1)全局量存储区域的_C_(2)调用点所在子程序的_D_;(3)调用点的_E_;(4)形式参数和实在参数的通信区域;(5)返回值;(6)本子程序的局部量和临时变量存储区域等! 供选择的答案: A: ①个数、类型 ②个数、顺序 ③个数和、格式、顺序 ④个数、类型、顺序 B: ①线性表 ②队列 ③堆 ④下推栈 2 C~E:①子程序首地址 ⑤返回地址 ②调用记录首地址 ⑥开始地址 ③参数地址 ④寄存器地址 试题8 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! 某CPU的主振频率为100兆赫,平均每个机器周期包含4个主振周期!各类指令的平均机器周期数和使用频度如下表所示,则该计算机系统的速度为平均约_A_兆指令/秒! 指令类别 平均机器周期数/指令 使用频度 访内存 一般算术逻辑运算 比较与转移等 乘除 其它 2.5 1.25 1.5 15 5 25% 40% 25% 5% 5% 若某项事务处理工作所要执行的机器指令数是:控制程序(以访内、比较与转移等其它指令为主)220000条指令和业务程序(以包括乘除在内的算术逻辑运算为主)90000条指令,且指令使用频度基本如上表所示,则该计算机系统的事务处理能力约为_B_项/秒!若其它条件不变,仅提高主振频率至150兆赫,则此时该计算机速度为平均约_C_兆指令/秒,对上述事务的处理能力约为_D_项/秒!若主频仍为100兆赫,但由于采用了流水线和专用硬件等措施,使各类指令的每条指令平均机器周期数都变为1.25,此时,计算机的速度平均约_E_兆指令/秒! 供选择的答案: A~E: ①1 ②5 ③10 ④15 ⑤20 ⑥33.3 ⑦50 ⑧66.7 ⑨100 ⑩200 试题9 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! SCSI是一种通用的系统级标准输入/输出接口,其口_A_标准的数据宽度16位,数据传送率达20MB/S!大容量的辅助存贮器常采用RAID磁盘阵列!RAID的工业标准共有六级!其中_B_是镜象磁盘阵列,具有最高的安全性;_C_是无独立校验盘的奇偶校验码磁盘阵列;_D_是采用纠错海明码的磁盘阵列;_E_则是既无冗余也无校验的磁盘阵列,它采用了数据分块技术,具有最高的I/O性能和磁盘空间利用率,比较容易管理,但没有容错能力! 供选择的答案: A: ①SCSI-I ②SCSI-II ③FASTSCSI-II ④FAST/WIDESCSI-II B~E:①RAID0 ②RAID1 ③RAID2 ④RAID3 ⑤RAID4 ⑥RAID5 试题10 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! 语言与文字输入技术是研究如何将计算机主要靠键盘输入文字数据的方式逐步改变成人们口述或写入的方式送入信息!语言与文字输入的过包含有_A_、预处理、特征抽取、_B_与分类决策等环节!_A_阶段通过传感器获得的模拟电信号要经过模数转换变成数字信号,它需要对模拟电信号抽样测量,将测量的值_C_,以便用二进制数字信号来表示;预处理的主要任务是进行削弱无用信息和增强有用信息的工作;特征抽取将上述环节产生的输入样本以有利于决策的形式表示出来,典型的常用方法是_D_表示法;_B_又称为分类器学习;分类决策则通过比较和决策来完成对输入信息的_E_! 供选择的答案: A~E: ①辨认识别 ②特征向量 ③频谱分析 ④分级取整 ⑤消除噪声 ⑥模型生成 ⑦数据合成 ⑧信息获取 3 试题11 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! 计算机的发展已进入了网络计算的新时代!INTERNET是目前世界范围内最大的互联网!如此多的各种计算机之所以能通过INTERNET相互通信,是因为它们遵循一了套共同的INTERNET协议!这套协议的核心是_A_,在其上建立的无连接的运输层协议是_B_,万维网WWW上超文本传输遵循_C_,电子邮件传输遵循_D_,ETHERNET与INTERNET连接时要用_E_! 供选择的答案: A~E: ①TCP ②IP ③EDIFACT ④HDLC ⑤ARP ⑥UDP ⑦FTP ⑧ICMP ⑨SMTP ⑩HTTP 试题12 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! The relational database model requires the data be _A_ through programs that don’t rely on the position of the data in the database. This is in direct _B_ to the other database mode, where the program ha to follow a series of pointers to the data it seeks. A program _C_ a relational database simply asks for the data it seeks; the DBMS performs the necessary and _D_ the information. The _E_ on how the search is done arespecific to the DBMS and vary from product to product. 供选择的答案: A: ①accessed ②moved ③read ④wrote B: ①conduct ②contract ③contrast ④construct C: ①consulting ②containing ③querying ④queuing D: ①erases ②provides ③proves ④values E: ①details ②documents ③tails ④tenants 试题13 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! When most people refer to multimedia, they generally mean the combination of two or more continuous media, usually with some user _A_. in practice, the two media are normally audio and video, this is, _B_ plus moving _C_. it should be obvious by now that transmitting multimedia material in uncompressed from iscompletely out of _D_. the only hope is that massive compression is possible. Fortunately a large body of research over the past few decades has nled to many compression thchniquesand algorithms that make multimedia transmission _E_. 供选择的答案: A~C: ①display ②games ③help ④interaction ⑤pictures ⑥sound ⑦web D、E: ①impossible ②fearful ③feasible ④program ⑤question ⑥ting 试题14 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! 包含3个命题变元的命题公式中,能够出现_A_个真值赋值!包含3个命题变元的命题公式可以形成_B_个不同真值的命题公式!公式_C_是予盾式,公式_D_是非重言式的可满足式!公式_E_是析取范式! 供选择的答案: A: ①3 ②8 ③27 ④64 B: ①4 ②16 ③64 ④256 C、D: ①┐(P→Q)∧Q∧R ②P→(P∨Q) ③(P∧Q)∨(P∧┐Q) ④┐(P∧Q)→┐P∨┐Q E: ①┐P∨(Q∧-R)∨(P∧R)Q┐ ②(P∨┐Q)∧(Q∨R)∧┐R ③(P∨Q)∧┐(Q∨┐R) ④(P→Q)∨(P∧R) 4 试题15 从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内! N个未知数的线性方程组的矩形式是AX=B!其中A为N阶矩阵,B和X为N维列向量!高斯一约当法是一种_A_!它是把矩阵A变换成_B_的解法,计算量(乘法或除法)约为_C_!若在计算过程中某对线(例如第K行,第K列)上的元素是0或者接近于0,就无法求解或解的精确度很差,因此往往进行行或列交换,把比X大的行或列中_D_的元素交换到对角线上求解!即使进行这种交换,对角线元素仍近似为0的矩阵称为_E_! 供选择的答案: A: ①直接法 ②间接法 ③迭代法 ④牛顿法 B: ①上三角矩阵 ②下三角矩阵 ③单位矩阵 ④三对角线矩阵 C: ①②③④ D: ①绝对值最大 ②绝对值最小 ③最大 ④最小 E: ①正定矩阵 ②病态矩阵 ③奇异矩阵 5 ④希尔伯特矩 高级程序员级下午试题 从以下的3 道试题(试题一至试题三)中任选2道解答!如果解答的试题数超过2道,则解答的前2道有效! 试题一 阅读以下说明和流程图,回答问题1至问题4,将解答写在答卷的对应栏内! 【说明】 某公司将其生产的商品通过若干个销售点进行销售!销售点在收到商品后的规定时间内把货款汇给公司!流程图描述了该公司发货、收款、催款的处理过程!其中部分文件和单据的格式如下: 商品文件:商品代号,商品名称,单价 销售点文件:销售点代号,销售点名称,地址 发货单:发货日期,销售点代号,商品代号,数量,金额 收款单:收款日期,销售点代号,商品代号,数量,金额,该商品的发货日期 处理1~3把当天的发货单合并到发货文件!处理4~6把当天的收款单合并到收款文件!处理7在发货文件中当天已收款的记录上加上已收款标记!处理8和处理9在月末执行一次,主要用于输出月发货报、催款通知单、月收款报告! 【流程图】 [问题1] 详细写出流程图中商品文件和销售点文件对处理1的作用! [问题2] 说明处理8为何要写发货文件! [问题3] 说明处理9除制作月收款报告外还对收款文件做什么操作! [问题4] 为了提高处理效率,流程图需作何改动! 试题二 阅读以下说明和流程图,回答问题1至问题3,将解答写在答卷的对应栏内! 【说明】 本流程图用来实现一组正整数的加权舍位平衡!已知正整数组A(A1,A2,…,AN)满足条件A1=(N>3)!现将数组A中的每个数舍P位(P为正整数)后,得到另一正整数数组B(B1,B2,…,BN)它满足如下条件: 1.B1是A1舍P位后四舍五入所得,即B1=INT(A1/10P0.5) 2.B1= 3.BI=INT(AI/10P)+EI(I=2,3,…,N),其中EI取值为0或1,当EI=1时,称EI是第I项数据的进位 4.EI(I=2,3,……,N)之值根据余数MOD(AI,10P)乖上权FI(FI>0)后的数值大小来决定(其算法见流程图),权FI存放在数组F中!其中INT是取整数函数,MOD是余数函数!例如正整数78965舍P=3位,则 INT(78965/103)=78 MOD(78965,103)=965 【流程图】 [问题1] 填充流程图中①~④,把解答写在答卷纸的相应位置上! [问题2] 若N=5,P=1,A=(1586,985,26,247,328)F=(1,1,1,1,1)则数组B的值是多少? [问题3] 若N=3,P=1,A=(41,16,25),F=(1,0,0),则数组B的值是多少? 6 试题三 阅读以下说明和流程图,回答问题1至问题3,将解答写在答卷的对应栏内! 【说明】 下面给出的是某房产管理系统的一套分层数据流图!其功能描述如下: 系统随时根据住房送来的入信单更新信户基本信息文件; 每月初系统根据物业管理委员会提供的月附加费(例如清洁费、保安费、大楼管理费等)表和房租调整表,计算每家住户的月租费(包括月附加费),向住户发出交费通知单!住户交费时,系统输入交费凭证,核对后输出收据给住户; 系统定期向物业管理委员会提供住房分配表和交费情况表; 住户因分户或换房,在更新住户基本信息文件的同时,系统应立即对这些住户做月租费计算,以了结分户或换房前的房租! 假定题中提供的顶层图是正确的,请回答下列问题: 【流程图】 [问题1] 指出哪张图中的哪些文件可不必画出! [问题2] 指出在哪些图中遗漏了哪些数据流!回答时请用如下形式之一: ××图中遗漏了××加工(或文件)流向××加工(或文件)的××数据流; ××图中加工××遗漏了输入(或输出)数据流××! [问题3] 指出加工2图中加工2.3能检查出哪些不合格交费凭证! 试题四为必答题! 试题四 在COMET型计算机上可以使用试卷上所附的CASL汇编语言!阅读下列程序说明和CASL程序,将应填入_(N)处的字句,写在答卷的对应栏内! 【程序说明】 本子程序将一个非负二进整数翻译成五位十进整数字符! 进入子程序时,在GR0中给出被翻译的非负二进整数,在GR2中给出存放五位十进整数数字字符的起始地址!十进制数字字符用ASCII码表示!当结果小于五位时,左边无空白符替换;当二进整数为零时,在(GR2)+4中存放0的ASCII码!数字字符0至9的ASCII码是48至57,空白符的ASCII码是32! 【程序】 START LEA GR1,0 LEA GR3,32 L1 __(1)__ JPZ L2 ST GR3,0,GR2 LEA GR2,1,GR2 LEA GR1,1,GR1 JNZ L1 L2 __(2)__ L3 __(3)__ JMI L4 SUB GR0,SN0,GR1 LEA GR3,1,GR3 __(4)__ L4 ST GR3,0,GR2 7 LEA GR2,1,GR2 LEA GR1,1,GR1 __(5)__ JNZ L2 RET SONNC10000 DC1000 DC100 DC10 DC1 END 从以下的4道试题(试题五至试题八)中任选2道解答!如果解答的试题数超过2道,则解答的前2道有效! 试题五 阅读以下程序说明和FORTRAN程序,将应填入_(N)_处的字句,写在答卷的对应栏内! 【程序说明】 对称矩阵通常只需存储其下三角部分,例如,下列对称矩阵可用一维数组(1,2,3,4,5,6,7,8,9,10)存储其下三角部分!N阶对称矩阵下三角部分的元素个数为(N*N+N)/2!本子程序用来计算N阶对称矩阵A的平方B,B也是一个N阶对称矩阵!程序中X,Y是分别存入A,B下三角部分的一维数组! 【程序】 SUBROUTINEP(X,Y,N) INTEGERX(N*N+N)/2,Y(N*N+N)/2),S M=1 DO 10 JJ=_(1)_ DO 10 II=_(2)_ I=II J=JJ L=_(3)_ S=0 DO 30 K=1,N S=S+X(I)*X(J) IF(__(4)__)THEN I=I+L ELSE I=I+1 ENDIF IF(__(5)__)THEN J=J+L ELSE J=J+1 ENDIF L=L-1 30 CONTINUE Y(M)-S M=M+1 10 CONTINUE END 8 试题六 阅读以下程序说明和C程序,将应填入_(N)_处的字句,写在答卷的对应栏内! 【程序说明】 某系统由N个部件组成,这些部件被物理地分成若干个分离的部件组!同一组内的两件部件I和J,它们或直接相连,或间接相连(部件I和部件J间接相连是指在这两件部件之间有一个部件相连序列,其中部件I和J分别与这相连序列中的某个部件直接相连)!系统的N个部件被统一编号为0,1,…,N-1!本程序输入所有直接相连的部件号对,分别求出系统各分离部件组中的部件号并输出! 程序根据输入的直接相连的两件部件号,建立N个链表,其中第I个链表的首指针为S[I],其结点是与部件I直接相连的所有部件号!程序依次处理各链表!在处理S[I]链表中,用TOP工作链表重新构造S[I]链表,使S[I]链表对应系统中的一个部件组,其中结点按部件号从小到大连接! 【程序】 #INCLUDE #DEFINE N 100 TYPEEFSTRUCTNODE{ INTDATA; STRUCTNODE*LINK; }NODE; NODE *S[N]; INT I,J,N,T; NODE *Q,*P,*X,*Y,*TOP; MAIN() {PRINTF("ENTERNUMBEROFPARTS."); SCANF("%D",&N); FOR(I=0;IDATA=J;P->LINK=S[I];S[I]=P; P=(NODE*)MALLOC(SIZEOF(NODE)); P->DATA=I;P->LINK=S[J];S[J];=P; } FOR(I=0;IDATA]!=NULL) {/将J链表也移入工作链表*/ FOR(P=S[J];P->LINK!=NULL;P=P->LINK); P->LINK=TOP;TOP=S[J];__(3)__; } /*在重新生成的第I链表中寻找当前结点的插入点*/ FOR(Y=S[I];__(4)__;X=Y,Y=Y->LINK); IF(Y!=NULL&&Y->DATA==Q->DATA) FREE(Q);/*因重新生成的第I链表已有当前结点,当前结点删除*/ ELSE{/*当前结点插入重新生成的I链表*/ __(5)__; IF(Y==S[I])S[I]=Q; ELSEX->LINK=Q; } } FOR(I=0;IDATA); Q=P->LINK;FREE(P);P=Q; } PRINTF("N"); } } 9 试题七 阅读以下程序说明和FORTRAN程序,将应填入_(N)_处的字句,写在答卷的对应栏内! 【程序说明】 本子程序实现地图的着色!在地图上,一个国家所着的颜色必须与所有相邻的国家所着的颜色不同!现已证明,仅需四种不同的颜色就能解决地图的着色!若地图上有N个国家,分别用1至N编号!子程序中用数组INDEX(N,2)和BORDER(M)存放N个国家的相邻情况!INDEX(I,1)和INDEX(I,2)分别表示与第I国相邻的国家编号在数组BORDER中的起始位置和终止位置,即这些邻国的编号存放在BORDER(INDEX(I,1))至BORDER(INDEX(I,2))中!例如,对应于图1所示的地图,数级INDEX和BORDER具有如下值: INDEX=BORDER-(2,3,4,5,1,3,1,2,4,5,1,3,5,1,3,4) 子程序中分别用1,2,3,4代表四种不同颜色,着色结果存放在数组COLOR中,即数组元素COLOR(I)的值为第I个国家所着的颜色! 子程序采用试控法找解!首先从第I个国家着第一种颜色开始,顺序为各个国家寻找着色方案!对第I个国家,当为它找到一种未被它的相邻国家着色的颜色时,就用该颜色对此国家着色,并准备处理下一国家;当不能为它找到一个未被它的相邻国家着色的颜色时,就回溯即改变第I-1个国家的着色方案!直至最终为全部国家找到着色方案! 【程序】 SUBROUTINEP(INDEX,BORDER,COLOR,N,M) INTEGERINDEX(N,2),BORDER(M),COLOR(N) DO10I=1,N COLOR(I)=0 I=1 IF(_(1)_)THEN K=COLOR(I)+1 IF(_(2)_)THEN J=INDEX(I,1) IF((I,2))THEN IF(_(3)_)THEN J=J+1 GOTO20 ELSE K=K+1 __(4)__ ENDIF __-(5)__ I=I+1 GOTO40 ENDIF COLOR9I)=0 ___(6)___ GOTO40 ENDIF IF(.0)THEN WRITE(*,*)'NOSOLUTION' ENDIF END 10 试题八 阅读以下程序说明和C程序,将应填入_(N)_处的字句,写在答卷的对应栏内! 【程序说明】 一个相连的区域被不规则地分割成N个不同的小区域;每个小区域与若干其它小区域相邻接!现用CN种不同颜色为该区域着色,要求每个小区域着同一种颜色,相邻小区域着不同颜色!设小区域被顺序编号为0,1,…,N-1!每个小区域与其它小区域的邻接关系用两维数组BORDERING表示,元素BORDERING[I][J]表示I号小区域与J号小区域之间的邻接关系: BORDERING[I][J]=0J小区域与I小区域不邻接 BORDERING[I][J]=1J小区域与I小区域相邻接 程序中,把计算结果存入于两维数组COLORED中,颜色编号为0,1,…,CN-1,元素COLORED[COLER][J]的含义是 COLORED[COLOR][J]=0J小区域不用颜色COLOR着色 COLORED[COLOR][J]=1J小区域用颜色COLOR着色 函数COLORCOUNTRY(BORDERING,COLORED,N,CN)根据所给的小区域邻接关系数组BORDERING、小区域个数N、颜色数CN,将找到的着色方案记录在数组COLORED中!函数采用试探法找解!首先从第一个小区域着第一种颜色开始顺序为各小区域找着色方案!对某个小区域,当为它找到一种未被它的相邻小区域着色的颜色时,就用该颜色对该小区域着色,并准备处理下一个小区域!当不能为某个小区域找到一个未被它的相邻小区域着色的颜色时,就回溯!如最终为全部小区域找到着色方案,函数返回1;否则,函数返回0! 程序假定小区域个数不超过20,颜色数为4! 【程序】 #INCLUDE #DEFINE N 20 #DEFINE CN 4 INT COLORCOUNTRY(INTBORDERING[][N],INTCOLORED[][N],INTN,INTCN){INTCOLOR,USED,I,C; FOR(COLOR=0;COLORN;I++)COLORED[COLOR][I]=0; C=0;/*从第1个小区域开始*/ COLOR=0;/*从着第1种颜色开始试控*/ WHILE(CC;I++) IF(__(2)__)USED=1; IF(!USED)BREAK;/*当前颜色未被相邻小区域着色*/ COLOR++ } IF(!USED) {/*找到一种可用颜色,用此色着色,并准备处理下一个小区域*/ __(3)__=1;COLOR=0; }ELSE{/*未找到一种可用颜色,回溯*/ C--;IF(C<0)RETURN0;/*发现没有解的情况*/FOR(COLOR=0;__(4)__;COLOR++);__(5)__=0}}RETURN1;}PRINT(INTCOLORED[][N],INTN,INTCN)/*输出结果*/{CHAR*COLORT[]={"RED","BLUE","GREEN","YELLOW"};INTCOLOR,I;FOR(COLOR=0;COLORN;I++) IF(COLORED[COLOR][I])PRINTF("T%D",I); PRINTF("N"); } } INTCOLORED[CN][N],BORDERING[N][N]; MAIN() {INTC,I,J,N; PRINTF("ENTERNUMBEROFAREAS.");SCANF("%D",&N); PRINTF("ENTERBORDERING:N"); FOR(I=0;IN;J++)BORDERING[I][J]=0; 11 FOR(I=0;I0TONEXT).N",I}; SCANF("&D",&J); WHILE(J>=0) {IF(I!=J)BORDERING[I][J]=BORDERING[J][I]=1; SCANF("%D",&J); } } IF(COLORCOUNTRY(BORDERING,COLORED,N,CN)) PRINT(COLORED,N,CN); ELSEPRINTF("NOSOLUTION.N"); } 12 高级程序员级试题答案 上午试题答案 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 注:*表示可交换 A 10 5 3 4 3* 2 4 3 3 8 2 1 4 2 1 B 5 7 2 1 5* 5 4 6 2 6 6 3 6 4 3 C 7 7 2 2 6* 1 6 4 6 4 10 3 5 1 3 D 8 4 4 6 7* 1 2 7 3 2 9 2 5 3 1 E 9 4 3 5 9* 4 5 5 1 1 5 1 3 1 2 下午试题答案 · 流程图 试题一 1. 检查发货单中非法销售代号,非法商品代号、数量*单价≠金额等错误! 2. "删除发货文件中已做收款标记的所有记录"或 "将未收到款的记录重新组成新发货文件"! 3. "删除收款文件中的所有记录"或"删除已收到款的记录"或 "对收款文件初始化"! 4. 从收款文件到处理7的连线改成从日收款分类文件到处理7的连线! 试题二 1. (1)i:n (2)i:n (3)i:n (4)k:G 或 k:b1-E 2. 159, 98, 3, 25, 33 3. 4, 1, 3 试题三 1. 0层图中的房租文件和交费是局部文件,可不必画出! 2. (1) 加工1子图中,遗漏了从住户基本信息文件到加工1.1(入住单校验)数据流 (2) 加工1 子图中,加工1.6(制作住房分配报告)遗漏了输出数据流:住房分配表!(3) 加工2 子图中,加工2.1(计算月租费)遗漏了输入数据流:月附加费表! 3. 加工2 子图中,加工2.4(制作收据)遗漏了输出数据流:收据! 4. (1) 交费凭证中有非法字符 (2) 交费文件中不存在与之对应的交费凭证 13 · 汇编 试题四 1. CPL GRO SNO GR1 (用CPA指令也可) 2. LEA GR3,4S 3. CPL GRO,SNO,GR1 (用CPA指令也可) 4. JMP L3 答JPZ L3 或 JNZ L3也可 5. LEA GR4,-5,GR1 其中GR4可写成GR3! · C语言 试题六 1. S[i] = NULL 2. Top = top->link 3. S[j] = NULL 4. y !=NULL && y->data 5. q->link = y 试题八 1. color < cn 或 color < 4 2. bordering[c][i] && colored[color][i] 或 bordering[c][i] == 1&&colored[color][i]==1 或bordering[c][i] * colored[color][i] == 1 其中bordering[c][i]可写成bordering [i][c] 3. colored[color][c++] 4. colored[color][c]=0 或!colored[color][c] 或 colored[color] != 1 5. colored[color][c] FORTRAN语言 试题五 1. 1, N 2. JJ, N 3. N-1 4. K. LT. II 5. K. LT. JJ 试题七 1. I . GE. 1 . AND . I . LE . N 2. K . LE. 4 或 K . LT . 5 3. K . NE COLOR(BORDER(J)) 4. GOTO 30 5. COLOR(I0 = K 6. I = I-1 14
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690513893a361945.html
评论列表(0条)