- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年春季学期
算法与数据结构 课程设计
题 目:迷你计算器设计
专业班级:计算机科学与技术
姓 名:
学 号:
指导教师:
成 绩:
目 录
TOC \o 1-3 \h \z HYPERLINK \l _Toc328645274 摘 要 PAGEREF _Toc328645274 \h 1
HYPERLINK \l _Toc328645275 前 言 PAGEREF _Toc328645275 \h 2
HYPERLINK \l _Toc328645276 正 文 PAGEREF _Toc328645276 \h 3
HYPERLINK \l _Toc328645277 1. 采用类c语言定义相关的数据类型 PAGEREF _Toc328645277 \h 3
HYPERLINK \l _Toc328645278 2. 各模块的伪码算法 PAGEREF _Toc328645278 \h 5
HYPERLINK \l _Toc328645279 3. 函数的调用关系图 PAGEREF _Toc328645279 \h 10
HYPERLINK \l _Toc328645280 4. 调试分析 PAGEREF _Toc328645280 \h 10
HYPERLINK \l _Toc328645281 5. 测试结果 PAGEREF _Toc328645281 \h 11
HYPERLINK \l _Toc328645282 总 结 PAGEREF _Toc328645282 \h 14
HYPERLINK \l _Toc328645283 参考文献 PAGEREF _Toc328645283 \h 15
HYPERLINK \l _Toc328645284 致 谢 PAGEREF _Toc328645284 \h 16
HYPERLINK \l _Toc328645285 附件:源程序代码(带注释) PAGEREF _Toc328645285 \h 17
PAGE 1
摘 要
目前,计算器应用很广泛,本程序是关于这方面的,其主要功能是进行简单的四则运算 ,其特点之一是支持带括号的四则运算;二是用到栈的一些相关操作,不但对操作有提示,还对与异常输入信息报错。
通过该题目的设计过程,可以加深理解线性表及栈的逻辑结构、存储结构,掌握线性表及栈上基本运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构,学会如何把学到的知识用于解决实际问题,培养学生的动手能力。
堆栈是十分重要的数据结构,在操作系统的作业调度、进程调度和数据库系统事物管理中广泛应用了队列技术。栈是一种限定性线性表,它是一类操作受限制的特殊线性表,其特殊性在于限制线性表插入和删除等操作的位置。
关键词:堆栈;初始化栈;入栈;出栈。
前 言
很多涉及计算器程序的的算法都是以栈的相关操作为基础,通过计算器的设计,有利于在学习中更好的理解栈及其相关的操作。
通过对计算器计算过程演示,看到了到它的一些性能及相关优势。
我们在写程序时,大框架已成的情况下,仍然发现有些错误很难找到,对于这样的问题,可以利用计算机纠错功能,先运行,再根据题提示修改和完善程序。
在计算器用到的算法中,C语言算法可读性很强,一方面,是因为c语言是高级语言,是面向程序员的语言,二是C语言的功能是很完备的,可以达到事半功倍的效果,和其他语言相比量是比较少。栈的应用使该程序更出色。
通过该课程设计,运用所学知识,能上机解决一些实际问题,了解并初步掌握设计、实现较大程序的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。
正 文
采用类c语言定义相关的数据类型
(1)/*定义堆栈*/
typedef struct{
double data[M];
int top;
}Stack;
(2)/*初始化堆栈*/
InitStack(Stack *s)
{
s-top=0;
}
(3)/*判断栈是否为空*/
int StEmpty(Stack *s)
{
if(s-top==0)
{
return 1;
}
else
{
return 0;
}
}
(4)/*入栈操作*/
StPush(Stack *s,double x)
{
if
您可能关注的文档
- 《鼠标外壳设计》毕业学术论文.doc
- 《述职报告范文示例》毕业学术论文.doc
- 《术中恢复Bhler角治疗SandersⅢ、Ⅳ型跟骨关节内骨折》毕业学术论文.doc
- 《数据结构-KMP算法的实现》毕业学术论文.doc
- 《数据结构课程设计(论文)--二叉树的基本操作》毕业学术论文.doc
- 《数据结构课程设计(论文)-查找》毕业学术论文.doc
- 《数据结构课程设计(论文)-基本稀疏矩阵运算的运算器》毕业学术论文.doc
- 《数据结构课程设计(论文)-全国交通咨询模拟系统》毕业学术论文.doc
- 《数据结构课程设计(论文)-停车场程序设计》毕业学术论文.doc
- 《数据结构课程设计(论文)--最小生成树》毕业学术论文.doc
文档评论(0)