西安交大fortran上机作业.docx_第1页
西安交大fortran上机作业.docx_第2页
西安交大fortran上机作业.docx_第3页
西安交大fortran上机作业.docx_第4页
西安交大fortran上机作业.docx_第5页
全文预览已结束

下载本文档

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

文档简介

工程分析程序设计 上机作业(三)模块化编程(2)上机目的:进一步掌握内部例程、外部例程、接口块、模块等功能的使用方法。练习例程重载、例程递归的使用方法。1、 利用例程重载编写一个子程序求余数ACR(A,B)。要求,对两个整型数和两个实型数都有效(实型数相除的余数:两个实型数相除后的商仍然取一个整数,但剩余值小于除数)不能用Fortran的内部函数MOD(x,y)。MODULE Mod IMPLICIT NONE INTERFACE ACR MODULE PROCEDURE ACRREALSEND INTERFACECONTAINS SUBROUTINE ACRREALS(A,B,C) IMPLICIT NONE REAL A,B INTEGER C DO WHILE (AB) A=A-B END DO C=A END SUBROUTINEEND MODULEPROGRAM MAIN USE Mod IMPLICIT NONE REAL A,B INTEGER C PRINT*,请输入A,B的值: READ*,A,B CALL ACR(A,B,C) PRINT*,A和B的余数是:,C END PROGRAM2、 编写函数子程序GDC求两个数的最大公约数。求最大公约数的算法如下:把两个数中大的那个数作为被除数,两数相除得到一个余数。把余数去除除数得到新一轮的余数。不断重复这一过程直到余数为0,这时的除数就是两个数的最大公约数。调用此函数,求1260,198,72三个数的最大公约数。program main implicit none integer a,b,c,i,j,k print*,请输入要求的数:a,b,c read*,a,b,c i=gdc(a,b) j=gdc(b,c) k=gdc(i,j) print*,k contains function gdc(a,b) implicit noneinteger a,b,c,d,gdc if (ba) then d=a a=b b=dend if c=mod(a,b)do while (c0) a=b b=c c=mod(a,b)end do gdc=b end functionend3、 编写一个函数子程序求sinh(x),以下分三个步骤完成:(1)用递归算法,求出;(2)自行编程求出,要求计算精度是不能用Fortran的内部函数EXP(x);(3)计算。 PROGRAM MAINIMPLICIT NONEINTEGER N,XREAL M PRINT*,请输入X值: READ*,X M=SINH(X) PRINT*,SINH(X)=,M CONTAINS FUNCTION SINH(X) IMPLICIT NONE INTEGER I,X,N REAL A,B,C,SINH I=1 A=X/I DO WHILE (A1.0E-6) C=1+A I=I+1 A=A*(X/I) END DO SINH=(C-(1/C)/2 END FUNCTION END4、 编写一程序用Euler法求解微分方程,当x=0时,y=1.0。试求出x=0.1,0.2,0.3,0.4.,1.0时的y值。算法如下:Euler法求解,定解条件:。取向前差分,令, 得 PROGRAM MAINIMPLICIT NONEREAL X,YINTEGER

温馨提示

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

评论

0/150

提交评论