fortran 程序(应该是很简单的小程序)

fortran 程序(应该是很简单的小程序),第1张

Fortran源自于“公式翻译”(英语:FormulaTranslation)的缩写,是一种编程语言

它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。

随着FORTRAN语言版本的不断更新和变化,语言不兼容性问题日益突出,语言标准化工作被提上了日程。

1962年5月:美国标准化协会(简称ANSI)着手进行FORTRAN语言标准化的研究工作。

1966年:ANSI正式公布了两个标准文本:美国国家标准FORTRAN(ANSI X3.9-1966)和美国国家标准基本FORTRAN(ANSI X3.10-1966),前者相当于FORTRAN Ⅳ,后者相当于FORTRANⅡ。基本FORTRAN是美国国家标准FORTRAN的一个子集,从而实现了语言的向下兼容,初步解决了语言的兼容性问题。

求n元一次方程组的解现在已经有很好用的链接库可以用了,很多fortran编译器厂商现在都提供了IMSL(数学与统计链接库),IMSL是一套在数值方法上经常用到的商业链接库,visual fortran 专业版的编译器就内置IMSL。下面是一个求解三元一次方程组的例子(n元也一样)program linear

use imsl

implicit none real::a(3,3)=(/1,3,2,&

1,2,1,&

2,1,3/)

real::b(3,1)=(/4,6,6/)

real::x(3,1) call lin_so_gen(a,b,x)!用于求解a*x=b这样一个三元一次方程组

write(*,'(3f5.2)')xend program linear运行程序前确认你的编译器上已经装了IMSL(有的编译器有内置的)要想自己编程来求,最简单的可以用高斯消去法,还有很多求解这类问题的方法,可以参见“数值计算原理”这类书籍,自己编出来的可能没有用IMSL里面的数值计算过程函数的执行效率高,练习一下对熟悉一门计算机语言还是很有提高的。 对于你的第二个问题可以用一个递归程序做,也可以用循环做下面是一个用递归来演示任意整数阶乘的程序PROGRAM SHOWIMPLICIT NONEINTEGER::N,MINTEGER,EXTERNAL::FACTORIAL PRINT *,'输入要计算的阶乘的阶数'READ(*,*)NM=FACTORIAL(N)PRINT * ,N,'!=',M END !FACTORIAL函数用于计算N!RECURSIVE INTEGER FUNCTION FACTORIAL(N) RESULT(B)

IMPLICIT NONE !INTEGER,SAVE::MUL=0

INTEGER::N

!INTEGER::I,J IF(N<0)THEN

B=-1

RETURN

ELSE IF(N==0)THEN

B=1

RETURN

END IF

B=N*INITIALIZE(N-1)

!RETURN

END FUNCTION INITIALIZE


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12139923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存