2022年fortran习题参考答案_第1页
2022年fortran习题参考答案_第2页
2022年fortran习题参考答案_第3页
2022年fortran习题参考答案_第4页
2022年fortran习题参考答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、fortran 习题参考答案 工程分析程序设计 上机作业 五 模块化编程 上机目的 :把握内部例程,主程序,外部例程,模块等功能的使用方法; 1, 有一个六边形 ,求其面积;为求面积 ,作了 3 条帮忙线;如以下图 : 提示 , 三角形面积 = ss a s bs c ,其中 s ab c ,a,b,c 为三个边长 ;要求 用内部函数来计 2 算每个三角形的面积; l2=30 l 1=10 l 8=36 l 6=14 l 5=21 l 9=28 l 7=20 l 3=16 l 4=13 program main implicit none real : A9=/10,30,16,13,21,1

2、4,20,36,28/ integer i real s s=areaA3,A4,A7+areaA2,A7,A8+ & areaA1,A8,A9+areaA5,A6,A9 print*,The area is,s contains function areax,y,z implicit none real x,y,z real p,area p=x+y+z/2 area=sqrtp*p-x*p-y*p-z end function end 2, 编写一个子例程子程序 ,SUMS,T,N1,N2 ;把整型数 N1 到 N2 进行求与 ,并把求与的结果 放置到 S,把整型数 N1 到 N2 进行求

3、积 ,并把求积的结果放置到 T;并用这个子程序来计 第 1 页,共 6 页fortran 习题参考答案 算: y 1 2 3 4 3 4567 8 3*4*5*6 1*2*3 program main implicit none integer A8 integer i,b,c,d,e,f,g,m,n,y b=0;d=0;g=1;n=1 do i=1,8 Ai=i end do call sumb,c,1,4 call sumd,e,3,8 call sumf,g,3,6 call summ,n,1,3 y=b+d+g-n print*,y=1+2+3+4+3+4+5+6+7+8+3*4*5*

4、6-1*2*3=,y contains subroutine sums,t,N1,N2 integer s,t,N1,N2,i do i=N1,N2 s=s+Ai t=t*Ai end do end subroutine end 3, 编写函数子程序 GDC 求两个数的最大公约数;求最大公约数的算法如下 :把两个数中大 的那个数作为被除数 ,两数相除得到一个余数; 把余数去除除数得到新一轮的余数; 不断 重复这一过程直到余数为 0,这时的除数就就是两个数的最大公约数; 调用此函数 ,求 1260,198,72 三个数的最大公约数; program main implicit none inte

5、ger a,b,c,m,n,temp print*, 请输入三个数 : print*,a bc read*,a,b,c if ab then temp=a a=b b=temp end if 第 2 页,共 6 页fortran 习题参考答案 call GDCa,b,m if c1 , 0e-6y=y+-1*i-1/2*k*i/facti i=i+2 end do print*,sinx = ,y contains function factm integer m,j,fact fact=1 do j=1,m fact=fact*j end do end function fact end s

6、ubroutine sub 6, 编写程序 ,用欧拉法数值求解一阶微分方程; 数值解法的基本思想 :用差分方程代替微分方程 ,然后在如干个离散点上逐点求解差分方 程,得到各离散点 x0, x1, x2, 等处函数 dy f x, y x 的近似值 y0, y1, y2, ;其中各 dx 离散点 x0, x1, x2, 之间的距离称为步长 h; 欧拉法的基本思想就是 ,一阶微分 dy 可用向前差分代替 ,即 y 1 y n 1 y ;带入微分 ndx h 方程 ,可得 yn 1 yn f x , y h因此 , yn 1 yn h * f xn , yn ,其中 h xn 1 xn ; 当给定

7、x0, y0 与步长 h 后 ,即可按下面步骤求得数值解 : x0 y0 f x0 , y0 y1 x1 , f x1, y1 y2 x 2 f x2 , y y n请按上述方法编写程序用 Euler 法求解微分方程 dy dx y 2 x 2 ,当 x0 =0 时 ,y0 =1,0;取 h=0, 1,试求出当 xi=0, 1,0, 2,0, 3,0, 4 , ,1, 0 时的 yi 值; 第 5 页,共 6 页fortran 习题参考答案 program main implicit none real x0:10 real y0:10 real p0:10 integer2 i,j y0=1 , 0; x0=0 , 0 p0=fx0,y0 do i=1,10 xi=xi-1+0 , 1 end do do j=1,10 yj=yj-1+0 , 1*pj-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论