全国计算机等级三级PC技术上机试练习习题(17)
来源:优易学  2010-1-14 15:29:58   【优易学:中国教育考试门户网】   资料下载   IT书店

  第17套上机试题及答案详解
  请编制程序,其功能是:内存中存放着由20个16位有符号整数组成的序列,求出该序列中的最小值和最大值。结果存放形式为,先按原顺序存放20个需处理的有符号整数,后跟该序列中的最小值和最大值(最小值在前,最大值在后)。
  例如:
  内存中有:8100H,0002H,0300H…
  结果为:8100H,0002H,0300H…(由20个16位有符号整数组成的原序列),结果的后面跟该序列中的最小值和最大值(最小值在前,最大值在后)。
  部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。
  请填空BEGIN和END之间已给出的源程序使其完整,空自已用横线标出,每个空自一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
  对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
  【试题程序】
  
  

  【参考答案】:
  (1)MOV DX,[SI]
  (2)MOV CX,N-1
  (3)MIN
  (4)JGE
  (5)MOV[DI],DX
  (6)MOV[DI],BX
  【解析】
  本题是一道最值计算题。最值计算包括求最大值和最小值两种情况,通常采用的方法是将第一个数假设为最大值和最小值,分别保存到表示最大值和最小值的变量中,再将后续数据分别与最大值数据和最小值数据进行比较,如果发现比最大值更大的数,则用新的数替换原来的最大值,如果发现比最小值更小的数,则用新的数替换最小值,直到处理完最后一个数为
  止,便可以同时得到最大值和最小值。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训