文档详情

《算法与数据结构课程设计—迷你计算器说明书》毕业学术论文.doc

发布:2018-10-01约1.23万字共29页下载文档
文本预览下载声明
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
显示全部
相似文档