课程设计报告

发布 2019-05-06 11:39:57 阅读 5870

目录。1设计内容及要求2

1.1设计内容2

1.2设计任务及具体要求2

2概要设计2

2.1该系统的功能简介2

2.2 总体程序框图2

2.3各个模块之间的主要关系3

3 3 设计过程或程序**3

3.1各个模块的运行界面3

3.2对关键**加以分析说明5

4程序调试分析5

5小结6致谢7

参考文献7附:源程序7

1.设计内容及要求。

1.1设计内容。

1)用高斯迭代法解线性方程组。

2)解一元三次方程组。

1.2设计任务及具体要求。

设计任务:利用c语言编程解方程与方程组,掌握解方程组的一般方法及c语言的用法。

要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识; 提高学生用高级语言进行程序设计的能力,重点提高用c语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤; 提高撰写技术文档的能力。

2.概要设计。

2.1系统的功能简介。

该系统的主要功能是实现方程与方程组的解析,包括方程的解析步骤及结果等。

2.2总体程序框图。

1)高斯迭代法解线性方程组(图1)

图12)解一元三次方程组(图2)

图22.3各个模块之间的主要关系。

该程序的主要功能是求解方程及方程组,各模块之间以求解为基础紧紧联系在一起,各模块即为解方程或方程组的各个步骤,所有模块联系起来即为解方程或方程组的一般方法。

3.设计过程或程序**。

3.1各个模块的运行界面。

1)高斯迭代法解线性方程组的主函数程序(图3)

图32)解一元三次方程组的主函数程序运行界面(图4)

图43.2对关键**加以分析说明。

高斯迭代法是高等数学中的求线性方程组的基本方法,在c语言中,可以在数学函数math中进行使用,同时,使用。

解一元三次方程组时,f1=a*x1*x1*x1+b*x1*x1+c*x1+d; f2=a*x2*x2*x2+b*x2*x2+c*x2+d;

令x0=(x1+x2)/2,则f0=a*x0*x0*x0+b*x0*x0+c*x0+d;若f0=0,则无解;若f0*f1<0,则x2=x0;f2=f0;若f0*f1>0,则x1=x0;f1=f0.

4.程序调试分析。

当把程序写好并进行调试时,并不是一帆风顺的,总会遇到很多在调试时遇到的错误。

1. 首先在定义函数时,不能输入汉字。否则会程序会显示错误。

2.前后定义变量要统一。

3.如果要调用添加函数,修改函数,查找函数等要在主函数前面进行申明。否则会显示警告。

4.如果程序在运行的过程中,对于一个循环语句,如果你返回的值始终是真的,那么程序将进如死循环。

5. 未注意int,float型数据的数值范围,int型数据的数值范围(-32768~32768

6. 所调用的函数在调用语句之后才定义,而又在调用前未加说明。

5.小结。随着我国成功加入wto及信息化浪潮的日益临近,企业、单位等一些部门在激烈的市场竞争环境下求得生存,就必须有效地利用人才、

时间、信息结合的优势。因此,如何使企业、单位等部门及时掌握本企业、单位等人才的各种信息、第一时间处理好随时变化的工资管理问题,建立一套符合企业、单位实际的工资管理系统就显得尤为重要。

在本课程设计的设计过程中,我刚开始感觉到有点头痛。要通过一学期c语言的学习后将所学知识运用起来有点困难,但回过头来再去看教课书,对于这些知识点有关的背景,概念和解决方案更进一步的理解,感觉也不是很难。

另外我还体会了从事c语言课程设计工作需要特别谨慎认真地态度和作风,一点都不能马虎。每个细微的细节都必须十分注意,如果不认真思考,就会出现或大或小的错误。如果把早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时会推倒很多前面做的工作。

有时候,我自己觉得我写的程序非常正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间没有一点进展。这时候,我一般是先自己通过书本,手。

册和资料找解决办法,实在没辙才向老师同学请教。

在开始编写程序的时候,我看到别人的程序功能非常的详细,而且界面非常漂亮,总是希望自己的程序也非常的完善,但是,发现编一个好的程序不是一蹴而就的事情,需要长时间的积累和经验。

在反反复复的学习中,我终于作出一个简单的程序,虽然这个程。

序的功能非常简单,而且在实际运用中还有些不足,因为工资的的内容非常丰富,我涉及到的仅仅是工资管理的一部分简单内容,离实际的客户需求肯定还有差距。

由于我的知识浅薄,经验不足及阅历颇浅,在该系统的设计方面还有很多不足,比如功能过少,界面不醒目等问题,我会在以后的学习过程中,根据具体要求不断的修改、完善,争取使系统慢慢趋于完美。

致谢。在这次c语言课程设计中,我的老师和同学给了我及大的帮助。特别是我的指导老师程庆老师,还有我的c语言任课老师陈广宏老师。

在此,我对他们表示感谢!感谢他们在我面对困难时给了我帮助和支持。也感谢那些给我帮助的所有同学!

谢谢你们!

参考文献。1. 谭浩强著《c程序设计(第三版)》.清华大学出版社,2005

2. 谭浩强著 《c程序设计题解与上机指导(第三版)》.清华大学出版社,2005

源程序。1. 用高斯迭代法解线性方程组。

#include<>

#include<>

int main(void)

double a[5][5] =

double b[5] =

double x[5] =第k+1次迭代的结果。

double xx[5] =第k次迭代的结果。

int size = 5;

int max = 100; /最大迭代次数。

double residual = 0.0; /

double sum = 0.0;

double dis = 0.0;

double dif = 1.0; /相邻迭代的结果差。

double eps = 1.0e-3; /迭代精度。

int k=1,i=0,j=0,m=0;

for(k=1;(keps);k++)

if(j>i)

x[i] =b[i]-sum)/a[i][i];

sum=0.0;

residual=0.0;

//计算相邻迭代的结果差。

for(m=0;m

dif=residual;

//打印第k次的结果。

printf("第%d次迭代的结果:",k);

for(i=0;i

printf("与上次计算结果的距离(无穷范数):%12.8f ",dif);

printf("迭代计算的结果为:");

for(k=0;k

printf("");

return(0);

2.解一元三次方程组。

# include <>

void main()

float a,b,c,d;

float xo x1,x2,f0, f1,f2;

printf("请输入方程系数 a,b,c,d");

scanf("%f,%f,%f,%f",&a,&b,&c,&d);

doprintf("请输入变量的有效范围 x1,x2:")

scanf("%f,%f",&x1,&x2);

f1=a*x1*x1*x1+b*x1*x1+c*x1+d;

if(f1==0)

f2=a*x2*x2*x2+b*x2*x2+c*x2+d;;

if(f2==0)

while(f1*f2>0);

dox0=(x1+x2)/2;

f0=a*x0*x0*x0+b*x0*x0+c*x0+d;

if(f0==0)break;

if(f0*f1<0)

x2=x0;f2=f0;}

PLC课程设计报告

大学。学院。系。plc原理及应用课程设计 题目 十字路 通灯控制系统 专业 电气工程及其自动化 班级。姓名。学号。指导教师。任务书。目录。目的和要求04 方案的论证04 plc介绍04 实验原理06 系统程序设计07 调试过程及结果分析08 结果分析09 元器件清单10 实验心得10 参考文献10 ...

课程设计总结报告

目录。一 设计任务与要求1 二 方案设计与论证1 三 单元电路设计与参数计算2 1 话音放大器2 2 音调控制器3 3 功率放大器4 四 过程与 结果 软件multisim9.0 6 1 话音放大器部分 6 2 音调控制器部分 7 3 功率放大器与音调控制器电路 8 五 总原理图及元器件清单9 六 ...

课程设计总结

实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰...