课程设计。目录。
一,任务书1
二,员工档案(工资和个人所得税6
三,求解方程11
1,求解一元方程的根11
1-1,二分法求解
1-2,弦截法求解
1-3,newton迭代法求解13
2,求方程的积分15
2-1,矩形法积分。
2-2,梯形法积分。
2-3,辛普生法积分。
3,gauss-jordan法求联立方程组18
四 ,课程总结22
2012级fortran 95程序设计语言课程设计任务书。
一、 实践目的。
通过本课程设计、加深学生对所学程序设计语言的理解,培养其程序设计能力以及综合解决实际问题的能力。通过自己分析问题、分解问题、查找算法、编写、调试程序的过程,掌握fortran 95程序设计与调试方法,提高应用所学知识借助计算机程序解决具体问题的能力。
二、 设计任务。
1、 综合应用所学fortran 95知识点解决具体问题。
某小型公司有员工25人,员工信息包括员工编号,姓名,性别,工龄,工资(为方便,视其为三险一金减除后的金额),现在需要对这25名员工按照其工资进行个人信息的排序,计算每个人的个人所得税并添加到个人信息中。请按以下要求进行设计。
利用记事本创建员工基本信息文件。
设计包含以上信息内容的派生类和结构体数组。
以结构体数组为虚参编写排序子程序,可使用简单交换法、选择法和冒泡法中的任何一种。
以普通变量为虚参,编写函数子程序计算个人所得税子程序。
编写主程序完成以上工作,并将包含所得税信息的员工信息输出到另一个文本文件。
2、科学计算问题(三选二)
一元方程的根。
分别采用二分法、弦截法和牛顿迭代法求解一元方程的根。要求如下:
用子程序编写求解一元方程的算法。
一元方程自选,要求人人不同。
在主程序中要调用三种方法计算同一个一元方程的根。
某函数在某指定区间上的定积分计算。
分别采用矩形法、梯形法和辛普森法求解某个函数在给定区间上的定积分。要求如下:
用子程序编写求解定积分的算法。
函数自选,积分区间自定,要求人人不同。
在主程序中要调用三种方法计算同一个定积分。
线性方程组。
采用gauss-jordan法求线性方程组的根,要求如下:
用子程序编写上、下三角矩阵。
方程组自选,要求人人不同。
三、 设计报告。
1、 任务内容:描述所选题目的内容。
2、 设计思想描述: 绘制各个问题算法的流程图。
3、 源程序。
4、 编程中遇到的问题、困难及其解决办法。
5、 总结。
6、 参考文献。
四、 参考文献。
1、 本学期教材。
2、 网上个人所得税资料。
3、 计算方法方面的书籍。
五、 考核方式及评分办法。
1、 程序调试结果占总课程设计成绩的60%
2、 课程设计报告书占总课程设计成绩的30%
3、 课程设计活动活跃度(提问)占总课程设计成绩的10%
课程设计报告书的有关规定。
1、 报告书需提交电子档和纸质档各一份。
2、 报告书封面应写明本课程设计的名称和学院、专业、姓名、学号和指导教师姓名。
3、 正文部分标题为宋体二号字,小标题宋体四号加粗。正文宋体小四号,行距1.5。 源程序可采用分栏排版减少页面。
4、 报告书中必须要有任务说明、设计思想阐述、源程序、程序运行结果截图、总结和参考文献部分。
5、 若发现抄袭的,成绩直接判定不及格。
1,员工档案。
某小型公司有员工25人,员工信息包括员工编号,姓名,性别,工龄,工资(为方便,视其为三险一金减除后的金额),现在需要对这25名员工按照其工资进行个人信息的排序,计算每个人的个人所得税并添加到个人信息中。
思想:首先定义一个派生类型worker_information,其员工信息包括姓名name,性别sex,工龄age,工资salary,个人所得税tax再根据派生类型声明一个结构体数组tax(n)其元素个数为员工人数。通过一个主程序,调用两个子程序,完成个人所得税的计算及其排序。
编写程序如下:
program worker_information
parameter(n=25)
type worker_inform
character*6 name
character*2 sex
integer age
integer salary
real tax
end type
type(worker_inform) work(n)
open(1,file=''
do i=1,n
read(1,10) work(i)%name,work(i)%sex,work(i)%age,work(i)%salary
enddo10 format(a6,3x,a2,6x,i2,9x,i8)
close(1)
do i=1,n
work(i)%tax=tax(work(i)%salary)
enddoopen(2,file=''
do i=1,n
write(2,20) work(i)
enddo20 format(a6,3x,a2,6x,i2,9x,i8,f10.2)
open(3,file=''
call fun(work,n)
do i=1,n
write(3,100) work(i)
enddo100 format(a6,3x,a2,6x,i2,9x,i8,f10.2)
contains
function tax(x)
real tax
integer x
if(x<=1500)then
tax=x*0.03
elseif(x><=4500)then
tax=1500*0.03+(x-1500)*0.10
elseif(x><=9000)then
tax=1500*0.03+3000*0.10+(x-4500)*0.20
elseif(x><=35000)then
tax=1500*0.03+3000*0.10+4500*0.20+(x-9000)*0.25
elseif(x><=55000)then
tax=1500*0.03+3000*0.10+4500*0.20+26000*0.25+(x-35000)*0.30
elseif(x><=80000)then
tax=1500*0.03+3000*0.10+4500*0.20+26000*0.25+20000*0.30+(x-55000)*0.40
elsetax=x*0.40
endifendfunction
subroutine fun(a,n)
type(worker_inform) a(n),t
do i=1,n-1
do j=i+1,n
if(a(i)%salary t=a(i)
a(i)=a(j)
a(j)=t
endifenddo
enddoend subroutine
end原表:
2,求函数f(x)=的解。
2-1二分法与弦切法:
思想:1)先任取两个值x1,x2,使得f(x1)*f(x2)<0,也就是f(x1)和f(x2)必须异号。
2)令x=(x1+x2)/2,如果f(x)=0,就找到了这个解,计算完成。由于f(x)是一个实型数据,所以在判断f(x)是否等于0时,是通过判断是否小于一个很小的数ε,如果是就认为f(x)为0
3)如果f(x)不为0,判断如果f(x1)和f(x)异号,则说明解在区间,就以x1,x为新的取值来重复步骤(2),这时用x作为新的x2,舍掉原区间;如果f(x2)和f(x)异号,则以x,x2为新的取值来步骤重复(2),这是用x作为新的x1,舍掉原区间。这样做实际上是将求解的范围减小了一半,然后用同样的方法再进一步缩小范围,直到小于ε为止。
program subject2_1
real x1,x2,x
real course1,course2,fun
doprint*,"输入x1,x2的值:"
read*,x1,x2
if(fun(x1)*fun(x2)<0.0)exit
print*,"不正确的输入!"
enddox=course1(x1,x2)
print*,"二分法求解得二分法。
print 10,'x=',x
x=course2(x1,x2)
print*,"弦切法求解得弦切法。
print 10,'x=',x
10 format(a,f10.6)
endreal function course1(x1,x2二分法求解。
real x1,x2,f1,f2,fx
x=(x1+x2)/2.0
fx=fun(x)
do while(abs(fx)>1e-6)
f1=fun(x1)
if(f1*fx<0)then
x2=x
2019课程设计 程老师
civil iation university of china 航空发动机强度与振动。课程设计报告。姓名。学号。班级。专业。指导教师。2014年11月。题目及要求。题目基于ansys的叶片 轮盘强度与振动分析。1 模型。图1 叶片 轮盘模型如右图所示,相关参数如下 等厚度轮盘,厚度为0.025m,...
2019课程设计
面向对象 课程设计2011 1 要求 1 分小组完成课程设计,每小组2人,每个小组一个小组长。2 每个小组独立完成课程设计。3 采纳面向对象方法进行分析 设计 编程,用uml建模语言 在rational rose或visio等可视化建模工具进行建模。2 提交内容 1 每个阶段结束要提交相应的模型 文...
2课程设计
商务谈判课程设计。1 设计理念。以岗位能力培养为课程设计的出发点。根据本校市场营销专业工学结合人才培养模式的要求,在与企业专家协商 后共同制定了 校内实训 校外顶岗实习 校企联合培养 的培养方案。本课程能力培养的主要目标为 市场营销调研能力 推销策划能力 谈判沟通能力 和 应用写作能力 课程教学突出...