南开大学三级PC上机题100例:正负数数组处理
需积分: 6 109 浏览量
更新于2024-08-02
收藏 716KB DOC 举报
本题是一道关于计算机三级PC语言的编程题目,要求考生编写一个程序,将内存中由SOURCE指示的40个有符号数组元素分成正数和负数两个数组,并统计各自元素个数。结果需按照正数个数在前,然后是正数数组元素,接着是负数个数和负数数组元素的顺序存储在RESULT区域。原始数据通过过程LOAD从文件INPUT1.DAT中读入,而最终的结果则保存到OUTPUT1.DAT文件中。
程序设计需要遵循以下步骤:
1. 定义数据段(DATASEGMENT):
- SOURCE数组用于存放原始数据,长度为40个字节,值为1EH,91H,74H,91H,42H,30H,81H,F3H,18H,25H等。
- RESULT数组用于存放分组后的结果,预留空间比正数和负数元素总数多两个元素。
- 文件名变量NAME0和NAME1分别指向INPUT1.DAT和OUTPUT1.DAT。
2. 定义栈段(STACSEGMENT)和代码段(CODESEGMENT)的初始设置,使用标准段寄存器。
3. 编写主程序(STARTPROCFAR):
- 调用LOAD过程从NAME0指定的文件中读取40个字节的数据到SOURCE地址。
- 初始化处理流程,比如清零AX寄存器,设置附加段寄存器ES指向DATA段。
- 在BEGIN标记处,程序应该开始处理数据,检查每个元素的符号,将其放入相应的数组(正数或负数)。
- 使用指针DI和BX,DI指向PDATA(正数数组缓冲区),初始值为OFFSET PDATA,表示从PDATA开始存放正数。
- 当遍历到所有元素后,统计正数和负数的数量,并更新RESULT数组。
- 将正数数组和正数个数、负数数组和负数个数依次存储到RESULT。
- 调用SAVE过程,将RESULT中的数据保存到NAME1指定的OUTPUT1.DAT文件中。
4. 函数调用:
- EXTRN LOAD:FAR 和 SAVE:FAR 表示这两个过程是外部函数,需要链接IO.OBJ文件以生成可执行文件PROG1.EXE。
5. 要求程序进行汇编和链接,最后生成可执行文件并运行。如果调试过程中发现错误,考生需要修正这些错误以确保程序的正确运行。
本题考核了考生对基本数据结构操作、文件I/O、内存管理以及条件判断等计算机基础知识的理解和应用能力。同时,也要求考生具备良好的程序设计习惯,包括清晰的逻辑结构和错误处理。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-03-26 上传
2011-06-01 上传
2010-03-29 上传
2011-04-15 上传
点击了解资源详情
kalinxu
- 粉丝: 3
- 资源: 13
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查