软件设计基础课程设计指导规范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件设计基础》课程设计指导书

辽宁工程技术大学软件学院

2009年6月8日

一、学时与学分

总学时:2周

总学分:2

二、课程设计目的

1、通过课程设计,进一步熟悉掌握以下知识:数据类型、分支控制、循环控制、函数的定义及调用、结构体及数组、指针等。

2、通过课程设计,达到系统理解、综合运用课程知识的学习目标。

3、通过课程设计,学会用c语言程序解决实际问题的方法。

三、课程设计的基本过程

软件设计基础课程设计一般包括6个步骤,即程序的功能设计、程序的数据设计、程序的函数设计、函数编码及调试、程序的整体调试和课程设计总结等。

1、程序的功能设计

功能设计是课程设计的第一环节,其任务是根据课程设计题目的描述和要求,确定程序要实现的功能,并把这些功能划分为不同的层次,确定各层功能的上下级关系,然后绘制出分级描述的程序功能框图,必要时对所列功能进行说明。

2、程序的数据设计

程序的数据设计主要包括对以下各类数据进行设计:

1)对程序中用到的主要数据确定数据类型。

2)对程序中用到的结构体数据定义其结构体类型。

3)定义程序中使用的全局变量、外部变量等。

4)定义程序中通用的符号常量。

3、程序的函数设计

一个综合性的程序,需要设计若干个函数。各函数功能各异,使用的层次也不尽相同。为了使总体设计协调有序地进行,需要在程序编码之前,对函数作出预先设计。程序的函数设计包括函数的功能设计和函数调用设计两个方面。

1)函数的功能设计。对应程序功能框图,确定各项功能要使用的主要函数,并进行明确描述,包括:函数名称、函数功能、函数参数、函数返回值类型等。

2)函数的调用设计。对函数的调用关系进行描述,明确说明在实现程序功

能时,函数之间将发生的调用和被调用关系。

4、函数编码及调试

函数编程及调试是实现程序功能的核心阶段,需要主要以下问题:

1)课程设计具有一定的综合性,其程序通常由多个函数构成,每个函数都具有独立的功能,实现特定的操作。但程序中的所有函数是一个有机的整体,都围绕实现程序的功能进行设计。

2)有些函数之间有调用和被调用关系,在进行函数设计时需要注意顺序问题,有的函数先设计,有的函数后设计,而没有调用关系的函数可以并列设计。

3)程序设计是一个循序渐进的过程。有的函数在程序设计前的函数设计阶段就被考虑到了,而有的函数是在程序设计过程中因需要才产生的。

4)函数设计一般以功能实现为主线,围绕程序的一个功能进行函数设计。每一个函数完成之后,都要立即进行函数功能测试,直到确认函数能实现其功能为止。

5)有时在测试一个主调函数时,其被调用的函数还没有完成设计,这时最简便的方法,就是把调用函数先设计为只有一个空的return;语句的函数,然后再进行主调函数的基本测试。当被调用函数设计完成之后,再进行详细的测试。

5、整体调试

整体测试是程序设计的必要阶段,是在前期程序设计调试基础上进行的基本过程。需要设计准备一个较大规模的数据集,按照课程设计题目的功能要求,对组装完成的程序逐项进行功能测试和调试,直至确认程序达到了设计目标为止。

6、课程设计总结

对课程设计过程中出现的问题、解决方法等归纳总结,并按照课程设计报告书的编写规范完成课程设计报告的书写(书写规范见附录)。

四、课程设计的内容

(一)基本要求题目

1、猜数游戏(掌握程序结构及随机函数应用)

程序说明:游戏的开始由机器产生一个随机数(1~100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Y our answer is HIGH,try again. ,否则,程序提示:Y our

answer is LOW,try again.,直到猜对为止。程序可实现连续猜数,直到游戏者退出。

程序输出要求:累计游戏者猜对一个数所需次数n,当n<=7时,给出“Congratulation”字样;当7<n<15时,给出“I can bet you can do it better.”;当n>=15时,用exit(0)库函数退出程序。

2、百钱百鸡(穷举算法)

我国古代数学家张丘键在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

注:穷举法是最简单、最常见的一种程序设计方法。它充分利用了计算机处理的高速特性。使用穷举法的关键是确定正确的穷举范围,即不能过分扩大、也不能过分缩小穷举的范围。

3、简单计算器

请编写一个程序计算表达式:data1 op data2的值。其中,op为运算符+、-、*、/。

4、打印出所有的“水仙花数”

所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为:153=13+53+33 。

5、字符串处理函数

编写三个函数:求字符串长度函数(函数原型为:int strlen(char *p)),字符串复制函数(函数原型为:void strcpy(char *p1,char *p2)),字符串比较函数(函数原型为:int strcmp(char *p1,char *p2),返回值为第一个不相同字符的ASCII码差。)。

要求:在主函数中根据用户需要调用不同的函数功能。

6、编一程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符数组中并输出。(提示:算法采用模拟人工法。)

注:计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。

7、判断一个数是否是数组中的成员(用二分法查找)

相关文档
最新文档