计算机软件水平考试程序员模拟试题Word格式文档下载.docx

上传人:b****6 文档编号:17945705 上传时间:2022-12-12 格式:DOCX 页数:9 大小:18.83KB
下载 相关 举报
计算机软件水平考试程序员模拟试题Word格式文档下载.docx_第1页
第1页 / 共9页
计算机软件水平考试程序员模拟试题Word格式文档下载.docx_第2页
第2页 / 共9页
计算机软件水平考试程序员模拟试题Word格式文档下载.docx_第3页
第3页 / 共9页
计算机软件水平考试程序员模拟试题Word格式文档下载.docx_第4页
第4页 / 共9页
计算机软件水平考试程序员模拟试题Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

计算机软件水平考试程序员模拟试题Word格式文档下载.docx

《计算机软件水平考试程序员模拟试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机软件水平考试程序员模拟试题Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

计算机软件水平考试程序员模拟试题Word格式文档下载.docx

  流程图描述了该厂发货、收款、催款的处理过程。

其中商品文件和销售点文件的记录格式如下:

  商品文件:

  

  销售点文件:

  发货单的格式如下:

  收款单的格式如下:

  处理1~3把当天的发货单合并到发货文件。

处理4~6把当天的收款单合并到收款文件。

每天在处理3和处理5做过之后,由处理7在发货文件中当天已收款的记录上加上已收款标记。

处理8在月末执行一次,它有三个功能:

  

(1)汇总输出本月发货清单;

  

(2)删除发货文件中已收款的所有记录,形成一个新的发货文件,作为下月初处理时的初始文件;

  (3)产生催款通知单,以便对那些一个月以前已发货但至今仍未收到货款的销售点催款。

  处理9也每月末执行一次,除耩班本月收款报告外,还删除收款文件中的所有记录。

现假定不会有完全相同的发货单。

  指出流程图中应在哪几个处理框中检查发货单和收款单的错误,并分别指出它们各能指出什么错误。

  如果把流程图中从日收款分类文件到处理7的连线改成从日收款文件到处理7的连线,则有什么缺点,理由是什么?

  如果把流程图中从日收款分类文件到处理7的连线改成从收款文件到处理7的连线,则有什么缺点,理由是什么?

  试题3

  阅读下列说明和流程图,回答问题1和2,把解答写在答卷的对应栏内。

  

(1)流程图描述某大型百货商店商品销售的数据处理流程。

  

(2)商店设有若干柜台,同一种商品可能在几个柜台上销售,各柜台每天提供一组日销售数据,其格式如下:

  日期,柜台号,商品代码,销售数量,商品代码,销售数量,…

  (3)数据处理系统每日产生一份反映各柜台当日销售金额和商店日销售金额的“日销售金额报告”,必要时还产生一份“商品请购报告”,给出那些低于最低库存量的商品代码、商品名称、最低库存量和实际库存量。

处理过程中产生存档的“日销售文件”和临时工作文件“日销售量文件”和“日销售金额文件”。

  (4)系统中所用到的数据均来自数据文件。

  (5)流程图中的商品库存文件的记录已按关键宇“商品代码”排序。

  ①指出商品库存文件的记录中必须包括哪些数据项?

  ②分别指出在日销售文件,日销售量文件和日销售金额文件的记录中至少应包括哪些数据项,同时不产生数据冗余?

  ③错误清单可能指出哪些错误?

  简要叙述处理6的主要内容。

  如果删除流程图中的虚框A部分,日销售文件的记录中应增加什么数据项。

  试题4

  阅读下列说明和流程图,回答问题,把解答填入答卷的对应栏内。

  [问题]

  将一个m×

n的矩阵X转置后存放到矩阵Y中,其计算复杂度为O(m*n)。

对稀疏矩阵来说,能够用紧凑的存贮方式来减少所需的存贮量,并降低计算复杂度。

  已知有t(t>

0)个非零元素的m×

n稀疏矩阵W(每行每列至少有一个非零元素)以紧凑方式存放在数组X[l:

t,1:

3]中。

X中某行的三个值为(i,j,v)时表示在W的第i行第j列有一个非零元素v。

假定X中的元素已按行号列号递增排序。

现要求将X转置后以紧凑表示形式存放在数组Y[l:

3]中,并且Y也按行号列号递增排序。

  下面描述了两种紧凑的稀疏矩阵的转置算法:

  算法一见流程图a

  算法二见流程图b。

争扣外图中:

数组元素S[i]用来存放X中列号为i的元素个数,数组元素U[j]用来计算X中第j列元素在Y中的行号。

  填充流程图a和流程图b中的①~⑤,使之实现相对应的算法。

  分别写出算法一和算法二的计算复杂度。

  试题5

  阅读下列说明和流程图。

回答问题1和2,把解答填入答卷的对应栏内。

  有一个集合,集合中有n个元素,每个集合元素都是正整数,它们存放在一维数组A中,每个数组元素存放一个集合元素。

对给定的整数total(假定集合中每个元素的值均小于total),流程图求出所有满足下列条件的子集:

子集中各元素之和等于total。

  本题在使用试探法找出全部解答的过程中,依次选择当前的候选元素,尝试组成一个小于total的部分和,如果合适,则选择下一元素试探;

若不合适,则回溯取另一个候选元素尝试,题中利用s栈存放候单元素的下标,用它实现回溯。

如果候选元素加上部分和等于total,则表示找到一个解答,然后通过回溯,再试探寻找其它的解答。

  问流程图中的④应与A~D中的那一点相连,并填充图中的①~③,使之成为完整的流程图。

  设total=10,n=6,数组A中各元素的值为(8,4,1,2,5,3)。

  若图中的

(1)框改为sp:

0,则执行该流程图后输出什么结果。

  [流程图]

  试题6

  在COMET型计算机上能够使用试卷上所附的CASL汇编语言。

阅读下列程序说明和CASL程序,把应填入其中__n__处的字句,写在答卷的对应栏内。

  [程序说明]

  本程序完成两个4位十进制数相加,并输出两数之和。

  例:

输入'

5794+6438'

  输出'

12232'

  

(1)必须按上述要求输入,否则输出'

INPUTERROR'

信息,并重新输入。

  

(2)从低位开始,逐位实行十进制相加。

  (3)若输入长度为0时,本程序结束。

  在程序中的①~⑦处各填入一条准确指令,以完成此程序。

除非必要,标号栏不要填写。

  [程序]

  标号      指令码      操作数

  START

  BEGIN     ST        GR4,SPW

  RETRY     IN        INBUF,LENG1

  LEA        GR1,0

  CPA        GR1,LENG1

  JZE        HALT

  LEA        GR2,9

  CPA        GR2,LENG1

  JNZ        ERROR

  LEA        GR3,4

  __①__

  CPL        GR0,SING

  JZE        PASS1

  ERROR     OUT        INERR,LENG2

  JMP        RETRY

  PASS1     LD        GR1,SM

  ST        GR1,INBUF,GR3

  LEA        GR1,0

  LOOPl     LD        GR3,INBUF,GR1

  LEA        GR1,1,GR1

  CPL        GR3,SM

  JMI        ERROR

  CPA        GR3,LM

  JPZ        ERROR

  AND        GR3,BCD

  PUSH       0,GR3

  __②__

  JNZ        LOOP1

  ST        GR2,CY

  LEA        GRl,4

  __③__

  ADD        GR3,__④__

  ADD        GR3,CY

  CPA        GR3,TEN

  JMI        LABl

  ADD        GR3,SIX

  __⑤__

  JMP        LAB2

  LAB1     LEA        GR0,0

  LAB2     ST        GR0,CY

  OR        GR3,SM

  ST        GR3,OUTBUF,GRl

  __⑥__

  JNZ        LOOP2

  OR        GR0,SM

  __⑦__

  OUT        OUTBUF,LENG3

  JMP        RETRY

  HALT     LD        GR4,SPW

  EXIT

  SPW      DS        1

  INBUF     DS        80

  LENG1     DS        1

  INERR     DC         '

INPUTERROR'

  LENG2     DC        11

  SING     DC        '

+'

  SM      DC        '

0'

  LM      DC        '

'

  BCD      DC        #000F

  CY      DS        1

  TEN      DC        10

  SIX      DC        6

  OUTBUF    DS        5

  LENG3     DC        5

  END

  从下列的4道试题(试题7至试题10)中任选l道解答。

如果解答的试题数超过1道,则解答的前1道有效。

  试题7

  阅读下列程序说明和C程序,把应填入其中__n__处的字句,写在答卷的对应栏内。

  设对于一个n×

n的上三角矩阵a,为节约存贮,只将它的上三角元素按行主序连续存放在数组b中。

下面的函数trans在不引入工作数组的情况下,实现将a改为按列主序连续存放在数组b中。

  设n=5,

  b=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)

  经调用trans函数后,b变为

  b=(1,2,6,3,7,10,4,8,11,13,5,9,12,14,15)

  函数tans对数组元素的存贮位置作调整。

调整过程中存有若干个循环传送链:

  b(i1)→b(i2)→…→b(ij)→b(i1)1≤j

  例如,考察调整后的数组元素b

(2)(值为6),与该元素相关的位置调整将形成下面的循环传送链:

  b

(2)→b(3)→b(6)→…→b(12)→b(9)→b(5)→b

(2)

  关键是确定循环传送链的下标i1,i2,…,ij,以及在考察调整后的元素b(k)(k;

3,4,…)时能判定b(k)是已被传送过的某传送链上的元素。

  函数ctr(k,n)计算调整后的数组b的第k个元素b(k)在原数组b中的位置,该位置作为函数ctr(k,n)的返回值。

函数ctr根据k确定它在矩阵中的行号i和列号j(注意行号和列号均从0算起),然后按矩阵存放原则计算出它在b中的位置。

  trans(b,n)

  intn,b[]

  {intm,k,r,cc,rr;

intw;

  m=(n+1)*n/2-4;

  k=2

  while(m>

0)

  {r=ctr(k,n);

  if(r==k)

  m--;

  else

  {cc=k;

rr=r;

  while(__①__)

  {CC=rr,rr=ctr(cc,n);

  }

  if(__②__

w=b[k];

  while(__③__)

  {b[cc]=b[rr];

m--;

  cc=rr,rr=ctr(cc,n);

  b[cc]-w;

__④__;

  k++;

  ctr(k,n)

  intk,n;

  {inti,j;

  i=k;

j=0;

  while(__⑤__)

  i-=++j;

  return(i*n+j-i*(i+1)/2);

  试题8~10略(COBOL、FORTRAN、PASCAL)

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

当前位置:首页 > 自然科学 > 物理

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

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