表达式求值程序设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言实训课程设计任务书
题目:表达式求值程序班级:计算机科学与技术一班
学生姓名:赵旭尧学号: 14730141 题目类型:软件工程(R)指导教师:刘树群
一.题目简介
该设计要求学生使用汇编语言,设计并开发出针对四则运算表达式进行求
值的命令行或窗口程序。
通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对汇
编语言基本语言要素和流程结构的理解,针对汇编语言中的重点和难点内容进
行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
得到软件工程的综合训练,提高解决实际问题的能力。
二.设计任务
1、查阅文献资料,一般在5篇以上;
2、通过键盘输入表达式,进行针对整数的“加减乘除”四则运算表达式
进行求值,有良好的界面;
3、完成软件结构设计和算法设计;
4、完成系统的软件开发和测试工作;
5、撰写设计说明书;
6、做好答辩工作。
三.主要内容、功能及技术指标
1、实现功能及指标:①使用Win32的窗口程序模式,实现表达式求值程序
及测试界面程序的设计与开发;②支持整数的四则运算、位运算和小括号等;
③使用文本框对表达式进行交互式编辑和输出。
2、问题分析及解决方案框架确定:充分地分析和理解问题本身,弄清要求
做什么。在确定解决方案框架过程中,综合考虑系统功能,考虑怎样使系统结
构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及
过程(或函数)之间的调用关系,并画出函数之间的调用关系图。
3、详细设计和编码:定义相应的存储结构,确定各个函数的算法,并画出
流程图,在此基础上进行代码设计,每个明确的功能模块程序一般不超过200
行,否则要进一步划分。
4、完成课程设计报告
①需求和规格说明:设计题目和问题描述:题目要解决的问题是什么;
②设计思路:主要算法思想,程序功能图,函数之间的调用关系图;
设计表示:每个函数或过程的功能,列出每个过程或函数所调用的过程或函数,并画出各函数的流程图;
详细设计:主要算法的伪代码;
③调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等;
④程序实现注释;
⑤附录:源程序清单和结果。如果题目规定了测试数据,则结果要求包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。
四.提交的成果
1. 设计说明书一份,内容包括:
1) 中文摘要100字;关键词3-5个;
2) 前言;
3) 系统分析(包含需要的系统流程图);
4) 系统总体设计(包含总体软件结构图、总体数据结构);
5) 详细设计;
6) 系统测试(包含测试方案、测试用例、测试结果及软件可靠性分
析);
7) 软件使用说明书(核心界面说明);
8) 设计总结、参考文献、致谢等。
2. 刻制光盘一张。
五.主要参考文献
1 王爽.汇编语言(第二版).清华大学出版社, 2008。
2 沈美明,温冬婵.IBM-PC汇编语言程序设计(第二版).清华大学出版社, 2001。
3[美]Kip R.Irvine著,温玉洁,等译.Intel汇编语言程序设计(第五版).电子工业出版社, 2007。
4 钱晓捷.汇编语言程序设计(第二版). 电子工业出版社, 2003。
5 罗云彬.Windows环境下32位汇编语言程序设计(第二版).电子工业出版社,
2006。
6Windows API函数参考手册.人民邮电出版社, 2002。
六.各阶段时间安排(共1周):
摘要
随着时代的进步,人们不再使用古代的计算器。取而代之的是现今利用计算机编程技术的产品——计算器,这节省了人们大量的计算时间。通过电流在晶体管等上面的存储信息,将人们想要计算的数字,通过重复的加减乘除运算从而计算实现出来。
本程序是利用汇编语言的编译环境masmplus来实现的。程序通过将读入的中缀表达式转换为后缀表达式,然后读取后缀表达式,输出结果。
关键字:汇编语言;Masmplus;中缀表达式;后缀表达式
目录
1 概述 (1)
1.1课程了解 (1)
1.2 课程设计目的 (1)
1.3 课程设计内容 (1)
1.4系统功能模块的划分 (1)
2 系统需求分析 (3)
2.1 系统目标 (3)
2.2 主体功能 (3)
2.3 开发环境 (3)
2.4系统功能模块的分析 (3)
3系统分析 (4)
3.1系统总体分析 (4)
3.2优先级的判断 (5)
3.3表达式的四则运算 (5)
4系统详细设计 (6)
4.1在汇编环境下输入并保存操作数 (6)
4.2保存运算符和比较运算符的优先级 (6)
4.3表达式的四则运算 (9)
4.4算法的清零和回车换行 (9)
4.5输出计算结果 (11)
4.6括号和负号的细节问题 (13)
5系统测试 (15)
5.1加法运算 (15)
5.2减法运算 (15)
5.3乘法运算 (15)
5.4除法运算 (16)
5.5混合运算 (16)
6软件使用说明 (17)
设计总结 (18)
参考文献 (19)
致谢 (20)
附录 (21)