微机前四章答案(楼顺天版)(10)
START 初始化 E 调用子程序MENU 设置光标位置(41,10) 带回显的控制台输入 (AL) ← 输入字符 Y (AL) < ‘1’ N (AL) > ‘5’ N 将跳转表TABLE的偏移地址送入(BX) (AL) ← (AL) – ‘1’ (AL) ← (AL) * 2 AL按符号扩展成AX (BX) ← TABLE (BX) ← (BX) + (AX) Y N=1 A B N=2 N=5 C N=3 D N=4 END 图3-1 主程序流程框图
- 45 -
A 调用子程序CHGLTR 带回显的控制台输入 (AL) ← 输入字符 N B 调用子程序MAXLTR 带回显的控制台输入 (AL) ← 输入字符 N (AL) = ESC ? Y E C 调用子程序SORTNUM 带回显的控制台输入 (AL) ← 输入字符 (AL) = ESC ? Y E D 调用子程序TIMCHK 带回显的控制台输入 (AL) ← 输入字符 (AL) = ESC ? Y E N (AL) = ESC ? Y E N 图3-1(续) 主程序流程框图
※子程序MENU的编程思路:
设置显示器显示方式为80*25彩色文本方式,清屏。逐行设置光标位置,使提示文档左对齐整体居中。输出1-5的提示文档,再输出输入N的提示。其流程框图见图3-2。
START 初始化 清屏 设置光标位置(5,5) 显示提示字符串STRING1 设置光标位置(5,6) 显示提示字符串STRING2 M 图3-2 子程序MENU流程框图
- 46 -
M 设置光标位置(5,7) 显示提示字符串STRING3 设置光标位置(5,8) 显示提示字符串STRING4 N N 设置光标位置(5,9) 显示提示字符串STRING5 设置光标位置(5,10) 显示提示字符串子程序MENU返回
※子程序CHGLTR的编程思路: 设置显示器显示方式为80*25彩色文本方式,清屏。设置光标位置,使提示文档左对齐整体居中。输出输入字符串提示文档,读取输入字符串并将其放入KEYBUF。在输入字符串尾加结束标志$,输出输入字符串。从前往后,依次取字符串中的每个字符,若其为小写字母,则将其ASCII码减去20H。输出变换后的字符串。最后输出说明文档。 其流程框图见图3-3。
START 初始化 清屏 设置光标位置(5,5) 显示提示字符串IN_STR 设置光标位置(5,6) KEYBUF ← 输入字符串 (AL) ← 输入字符串长度 AL按符号扩展成AX (CX) ← (AX) 在字符串尾加结束标志’$’ 设置光标位置(5,7) 显示提示字符串PRESTR 显示输入的字符串 (BX) ← KEYBUF + 2 ((BX)) ≥ ‘a’ Y ((BX)) ← ((BX)) ∧ 0DFH N (BX) ← (BX) + 1 N (CX) ← (CX) – 1 (CX) = 0 ? Y 设置光标位置(5,8) 显示提示字符串NEWSTR 显示变换后的字符串 设置光标位置(5,9) 显示提示字符串HINSTR 子程序CHGLTR返回 图3-3 子程序CHGLTR流程框图
- 47 -
※子程序MAXLTR的编程思路: 设置显示器显示方式为80*25彩色文本方式,清屏。设置光标位置,使提示文档左对齐整体居中。输出输入字符串提示文档,读取输入字符串并将其放入KEYBUF。在输入字符串尾加结束标志$,输出输入字符串。预设字符串中最大值为0。从前往后,依次取字符串中的每个字符,若其大于当前最大值,则进行替换,即可得到字符串中的最大值,并输出。最后输出说明文档。 其流程框图见图3-4。
START 初始化 清屏 设置光标位置(5,5) 显示提示字符串IN_STR 设置光标位置(5,6) KEYBUF ← 输入字符串 (AL) ← 输入字符串长度 AL按符号扩展成AX (CX) ← (AX) 在字符串尾加结束标志’$’ 设置光标位置(5,7) 显示提示字符串OUT_STR 显示输入的字符串 设置光标位置(5,8) 显示提示字符串MAXCHR (DL) ← 0 (BX) ← KEYBUF + 2 N ((BX)) > (DL) Y (DL) ← ((BX)) (BX) ← (BX) + 1 N (CX) ← (CX) – 1 (CX) = 0 ? Y 显示字符(DL) 设置光标位置(5,9) 显示提示字符串HINSTR 子程序MAXLTR返回 图3-4 子程序MAXLTR流程框图
- 48 -
※子程序SORTNUM的编程思路: 设置显示器显示方式为80*25彩色文本方式,清屏。设置光标位置,使提示文档左对齐整体居中。输出输入数据组提示文档,读取输入数据组字符串并将其放入KEYBUF。调用子程序CIN_INT,将字符串转换成数据串。判断数据串是否有错误或者为空,若是,则重新输入数据组。调用子程序MPSORT,采用冒泡法对数据串进行排序。再调用子程序INT_OUT,输出排序后的数据组。最后输出说明文档。
其流程框图见图3-5。
START 初始化 清屏 设置光标位置(5,5) 显示提示字符串IN_NUM 设置光标位置(5,6) KEYBUF ← 输入字符串 调用子程序CIN_INT Y (AL) = 0 ? N 设置光标位置(5,7) 显示提示字符串OUT_NUM 设置光标位置(5,8) 调用子程序MPSORT 调用子程序INT_OUT 设置光标位置(5,9) 显示提示字符串HINSTR 子程序SORTNUM返回 图3-5 子程序SORTNUM流程框图
※子程序CIN_INT的编程思路:
入口参数为:无;出口参数为:AL(有无错误标志,0为有,1为无)。从前往后,依次取字符串中的每个字符进行判断。CH表示数据组数据个数,AL表示当前数据x,DL作为有无数据标志。若当前字符为空格,则转到ADDNUM,判断DL是否为1,若为1,则CH增1,调用子程序ADDNEW,增加新数x,然后DL、AL清零;否则判断当前字符c是否在‘0’-‘9’之间,若不是,则判错,将AL置0,子程序CIN_INT返回;否则,DL置1,x=x*10+c-‘0’,判断x是否超过255,若是,则判错,将AL置0,子程序CIN_INT返回;否则,对下一个字符进行操作。字符串判断结束后,若DL为1,则有新数x未加至数据组,调用子程序ADDNEW,增加新数x。将数据组个数CH放入NUMBUF,将AL置1。
其流程框图见图3-6。
※子程序ADDNEW的编程思路:
入口参数为:CH(数据组数据个数)、AL(当前数据x);出口参数为:无。取出数据组NUMBUF的首地址,加上数据组数据个数,即为当前数据x的地址,将x放入该地址。
- 49 -
…… 此处隐藏:1242字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文




