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