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 如何编这个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)