1、 任务下达日期:2008年11月14日课程设计日期:2008年11月14日至2009年1月4日课程设计题目:类别题目序号面向过程1,2,3,4,5,7, 面向对象1,2,3,4,5,6,图形界面1数据结构1,2,3,4软件课程设计指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题等):成 绩: 指导教师签字: 年 月 日目 录=第一部分 基础题1面向过程 第3题:使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项显示在屏幕上.71.1 需求分析
2、11.2 概要设计.11.3 详细设计与编码.11.4 调试分析.21.5 用户使用说明 .31.6 设计心得.3 第7题3 2.1需求分析.32.2 概要设计.32.3 详细设计与编码.42.4 调试分析.42.5 用户使用说明 .52.6 设计心得.52面向对象 第3题利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项(的具体项值)并输出。.5 3.1需求分析.53.2 概要设计.53.3 详细设计与编码.63.4 调试分析.63.5 用户使用说明 .73.6 设计心得.7 第8题编写程序实现一个简单的电话记录簿,要求记录的个人信息包括:姓名,单位,家庭电话,移动电
3、话,并包含保存、输出、查询、修改等功能.7 4.1需求分析.74.2 概要设计.74.3 详细设计与编码.84.4 调试分析.84.5 用户使用说明 .94.6 设计心得.103可视化编程 第1题实现计算器编程。该计算器需要实现基础的数学运算,如加,减,乘,除。5.1需求分析.115.2 概要设计.125.3 详细设计与编码.135.4 调试分析.145.5 用户使用说明 .155.6 设计心得.15 第2题使用Visual C+ 6.0实现以下绘图程序(可以参考附件中的程序代码)。6.1需求分析.156.2 概要设计.156.3 详细设计与编码.156.4 调试分析.166.5 用户使用说明
4、 .166.6 设计心得.164数据结构 第2题假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知p为指向链表中某结点的指针,试编写算法在链表中删除结点p 的前趋结点。7.1需求分析.177.2 概要设计.177.3 详细设计与编码.177.4 调试分析.187.5 用户使用说明 187.6 设计心得.18 第3题求A矩阵的转置矩阵B8.1需求分析.198.2 概要设计.198.3 详细设计与编码.198.4 调试分析.198.5 用户使用说明 .198.6 设计心得.201面向过程 第3题 编程序,使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项(的具
5、体项值)并显示在屏幕上(正整数n通过键盘输入)1.1 需求分析:当我们在生活中或者数学、物理等学习过程中,往往会遇到累加问题,即新的项是由于它距离最近的两项的加和,不断的生成新项,实现了累加,进行所谓的“数据平移”,因此实现此类算法是很有必要的。1.2 概要设计: 说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。Fibona
6、cci数列的计算公式如下:fib(1) = 1;fib(2) = 1;fib(n) = fib(n-1) + fib(n-2); /对大于等于3的任意n1.3详细设计与编码:(流程图) 真 假返回错误 (最终代码及必要说明 ) #include using namespace std;int main()int old1=1,old2=1,newItem,n,k; /定义变量,newItem是总是靠近他的前两项cout-endln;for(int i=0;ii+) /设循环,使i按循环向上加,直到N newItem=old1+old2; /newItem等于它的前两项之和k=old1; /累加
7、和算法,在每一次循环过程中将其值前移old1=old2;old2=newItem;k /输出计算后的Kreturn 0;截图如下1.4调试分析一定要确定old1,old2, 1.newItem,n,k的类型是int型1 2赋值过程中一定是newItem=old1+old2; 而不是old1+old2 =newItem3. 注意体会尝试程序的健壮性。4尝试用其他方法完成该程序1.5用户说明用户可直接通过键盘向界面输入你要求的Fibonacci数列的第n项,按回车键即可得到答案。1.6 设计心得:在这个程序设计中,所用的都是最基本的知识,对于最基本的知识一定要达到熟练的程度,才能熟中生巧,设计出高
8、质量的程序。2.面向过程 第7题将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。2.1需求分析:我们在生活中常会遇见用罗马数字表示的代码或者数学、物理等学习过程中,往往会遇到将罗马数字转化为十进制数的计算,设计一个简单的转换程序是很有意义的2.2概要设计将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用“基值”字母:显然是一个翻译程序,肯定是将一种表达形式换算成另一种表达形式。该题是把罗马数字转换成十进制数,初步设想:输入一个字符数组,即一个罗马数字,然后按照其位数上的权值展
9、开后输出,即输出一个十进制数。2.3详细设计与编码: (流程图) 输入 输出 任意一个步骤出错输出错误运行结果:2.4调试分析1程序开始不可少语句 int a,m=0,d=0,c=0,l=0,x=0,v=0,i=0; /设“基值”并作零初始化,若不做初始化,字母输出任意值。2将对应的权值相乘,将各位加和赋给a输出,除了对应之外没有其他难点3尝试着用其他方法编写2.5用户使用说明: 用户可意直接根据提示从键盘输入罗马数字,按回车键可以方便得到结果2.6设计心得:此程序在设计之前,一定要分析好设计思路,巧妙运用循环语句。同时也要注意时间复杂度的分析,尽量使程序高效运行。3面向对象 第3题利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项(的具体项值)并输出。具体地说,可通过在基类baseCla及其派生类fib1Cla、fib2Cla和fib3Cla中说明如下的同一个虚函数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1