Fortran95课程设计

发布 2022-10-04 07:42:28 阅读 1093

课程设计。目录。

一,任务书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 设计理念。以岗位能力培养为课程设计的出发点。根据本校市场营销专业工学结合人才培养模式的要求,在与企业专家协商 后共同制定了 校内实训 校外顶岗实习 校企联合培养 的培养方案。本课程能力培养的主要目标为 市场营销调研能力 推销策划能力 谈判沟通能力 和 应用写作能力 课程教学突出...