fortran90例子Word文件下载.docx

上传人:b****2 文档编号:15074242 上传时间:2022-10-27 格式:DOCX 页数:9 大小:16.31KB
下载 相关 举报
fortran90例子Word文件下载.docx_第1页
第1页 / 共9页
fortran90例子Word文件下载.docx_第2页
第2页 / 共9页
fortran90例子Word文件下载.docx_第3页
第3页 / 共9页
fortran90例子Word文件下载.docx_第4页
第4页 / 共9页
fortran90例子Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

fortran90例子Word文件下载.docx

《fortran90例子Word文件下载.docx》由会员分享,可在线阅读,更多相关《fortran90例子Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

fortran90例子Word文件下载.docx

Integer,intent(in):

n

Integer,intent(out):

fac_result

Integer:

I

Fac_result=1

DoI=1,n

Fac_result=fac_result*I

Enddo

Endfunctionfactor

Programexample_2

Integer:

factor,s=0,I

DoI=4,8

S=s+factor(i)

Print*,s

Endprogramexample_2

例3、输入一个数,判断他是否能被3整除,并输出相应的信息。

Programjudge

n,m

Read*,n

M=mod(n,3)

Selectcase(m)IF(M==0)THEN

Case(0)

Print*,’yes’Print*,’YES’

CasedefaultELSE

Print*,’no’Print*,’NO’

EndselectENDIF

Endprogramjudge

例4、判断一个整数N是否为素数

PROGRAMprime

n,I,m

M=sqrt(real(n))

DoI=2,m

If(mod(n,i)==0)exit

If(I>

m)then

Print*,’yes’

Else

Print*,’no’

endif

endprogramprime

例5、求N的阶乘

PROGRAMexample_5

Integer:

n,I=0,fac=1

Read*,n

Dowhile(I<

7)

I=I+1

Fac=fac*I

Endprogramexample_5

例6、求出全部的水仙花数。

(水仙花数是个三位数,其各位数字的立方和等于该数。

programexample_6

implicitnone

integer:

I,j,k,m,n

ii:

doI=1,9

jj:

doj=1,9

kk:

dok=1,9

m=I*100+j*10+k

n=I**3+j**3+k**3

if(m==n)print*,m

enddokk

enddojj

enddoii

endprogramexaple_6

例7、牛顿迭代法求方程X**4+4*X+1=0的根

programexample_7

I=1,m

real:

x0,x,e

read*,x0,e,m(m控制迭代次数)

do

x=(-x0*x0-1)/4

if(abs(x-x0)<

=e)exit

x0=x

If(I>

=m)then

Print*,’not’

Exit

Endif

If(I<

m)print*,I,x

Endprogramexample_7

例8、将例2写成接口块的形式

主程序:

Programexample_2

Implicitnone

Interface

Functionfactor(n)result(factor_result)

Integer:

factor_result

Endfunctionfactor

Endinterface

Integer:

s=0,I

DoI=4,8

S=s+factor(i)

Enddo

例9、将例2函数子程序改写成子例行子程序。

Subroutineisum(n,isum_result)

implicitnone

integer,intent(in):

integer,intent(out):

isum_result

integer:

isum_result=1

doI=1,n

isum_result=isum_result*I

enddo

endsubroutine

peogramexample_9

integer:

x,y

read*,x

callisum(x,y)

print*,’y=’,y

endprogramexample_9

例10、子程序作为虚元(虚过程)

PROGRAMexample_10

Interface

Functionsum(x,y)result(sum_result)

Integer,intent(in):

sum_result

Endfunctionsum

Functionminu(x,y)result(minu_result)

minu_result

Endfunctionminu

a,b

Read*,a,b

Callproc(a,b,sum)

Callproc(a,b,minu)

Endprogramexample_10

Subroutineproc(a,b,fun)

Functionfun(x,y)result(fun_result)

fun_result

Endfunctionfun

Print*,fun(a,b)

Endsubroutine

Functionsum(x,y)result(sum_result)

Sum_result=x+y

Functionminu(x,y)result(minu_result)

Minu_result=x-y

例11、模块实现数据共享

moduleexam_module

real:

a,b,c

endmoduleexam_module

functionaver3()result(aver_result)

useexam_module

aver_result

aver_result=(a+b+c)/3

endfunctionaver3

functionmax3()result(max_result)

max_result

max_result=a

if(b>

max_result)max_result=b

if(c>

max_result)max_result=c

endfunctionmax3

programexample_11

useExam_module

real:

aver3,max3

read*,a,b,c

print*,aver3(),max3()

endprogramexample_11

注意:

(1)USE模块名,ONLY:

实体名

例:

useexam_module,only:

a,b,此时C不再是共享变量,故C仍需通过虚实结合。

(2)useexam_module,x->

a

将模块中A与程序单元中变量X共享。

例12、递归

recursivefunctionfac(n)result(fac_result)

If(n==0)then

Fac_result=1

Fac_result=fac(n-1)*n

Endfunctionfac

Programexample_12

Interface

Recursivefunctionfac(n)result(fac_result)

Endinterface

Print*,fac(n)

Endprogramexample_12

例13、编一函数,求两数之和

a)用外部过程实现

programexample_131

a,b,sum

read*,a,b

calladd(a,b,sum)

print*,sum

endprogramexample_131

subroutineadd(a,b,sum)

sum

sum=a+b

endsubroutineadd

b)用内部过程实现

programexampl_132

calladd

contains

subroutineadd

endsubroutineadd

endprogramexample_132

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1