fortran主程序和子程序怎么运行主程序

fortran主程序和子程序怎么运行主程序,第1张

FORTRAN程序由一个主程序或一个主程序与若干个子程序组成。主程序与子程序都是一个独立的程序单位,称为一个程序模块。[1]

1、程序分段:一个程序由一个或若干个程序单位组成。主程序和每一个子程序分别是一个独立的程序单位。子程序是实现模块化的有效方法。

2、每一个程序单位都是以“END”语句结束。主程序段中的END语句作用是使程序“停止运行”;子程序段中的END语句是“使流程返回调用程序”。

3、一个程序有且仅有一个主程序段,可以有0个或若干个子程序段。

4、一个程序单位包括若干行。FORTRAN行分为两类:即语句行和非语句行。

其中语句行由一个FORTRAN语句组成。FORTRAN语句又可分为执行语句和非执行语句。非语句行,即为注释行。

5、FORTRAN程序的基本成份是语句。一行只能有一个语句。若一个语句太长,一行内写不下,可分写在几行上,但要用“续行标志”。

6、FORTRAN程序中语句允许有标号,以便被其他句引用。

7一个程序单位中各类语句的位置是有一定规则的。一般是非执行语句放在所有可执行语句之前。[2]

很久不用fortran了 刚调试了一下 可以通过

program main

implicit none

real(4)::a(10),b(8),c(5)

print,"enter a(10):"

read,a

print,"enter b(8):"

read,b

print,"enter c(5):"

read,c

call sort(a,10)

call sort(b,8)

call sort(c,5)

print,"a:",a

print,"b:",b

print,"c:",c

end program main

subroutine sort(array,n)

implicit none

integer::n,i,j,k

real(4)::array(n)

do i=1,n

do j=i+1,n

if(array(i)>array(j))then

k=array(i)

array(i)=array(j)

array(j)=k

end if

end do

end do

end subroutine sort

第一种方法:

1 建立工作目录/ ]"

2 将ABAQUS安装目录\64-pr11\site下的aba_param_dpinc 或 aba_param_spinc拷贝到工作目录,并改名为aba_paraminc;

3 将编译的fortran程序拷贝到工作目录;

4 将obj文件拷贝到工作目录;

5 建立好输入文件inp;

6 运行abaqus job=inp_name user=fortran name即可。

第二种方法:

在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从d出对话框中选择你要调用的子程序文件(后缀为for或f)。

就像这样就可以了。不必使用可分配数组。

但是,在某些编译器下,这样可能会造成堆栈溢出。(stack overflow)

尤其是对 a 较大的情况下。

如果出现这种情况,你可以选择:

调大堆栈,具体 *** 作取决于你使用的编译器产品。

换用 allocatable 数组。

以上就是关于fortran主程序和子程序怎么运行主程序全部的内容,包括:fortran主程序和子程序怎么运行主程序、帮忙编一个fortran语言程序~、用Fortran 如何编这个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/9524554.html

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

发表评论

登录后才能评论

评论列表(0条)

保存