fortran contains用法在Fortran中,CONTAINS关键字用于定义一个子程序(subprogram)或模块(module)内的内部过程(internal procedure)。它常常用于将子程序或模块内的私有过程封装在模块或子程序内,使得这些过程对于外部程序或模块是不可见的。 以下是CONTAINS的一些基本用法: 在子程序内定义内部过程: fortran Copy code ...
在Fortran中,可以使用contains关键字来定义子程序,使得代码更加模块化和可读性更强。 2. contains关键字的作用 contains关键字用于定义在主程序中使用的子程序。它可以将子程序的代码与主程序的代码分开,使得代码更加清晰和易于维护。contains关键字可以在一个Fortran模块或一个主程序中使用。 3. contains关键字的语法 ...
用法具体查看 create_mycar() !注: 模块内没有可执行的语句 contains subroutine create_mycar(mycar) ! 展示派生数据类型的使用 implicit none type(car),intent(out) :: mycar ! 通过 '%' 操作符来访问(派生数据)类型的元素 mycar%model = "Ford Prefect" mycar%colour = 'r' mycar%weight = 1400...
直接包含containsrecursiveintegerfunctionfact(n)result(ans)implicit noneinteger,intent(in)::nif(n<0)thenans=-1else if(n<=1)thenans=1elseans=n*fact(n-1)end ifreturnendend programmain 模块module 模块module最基本的用法是封装与共享全局静态变量。 moduleglobalimplicit noneinteger,save::a,bend modu...
Module中有函数时必须在contains命令之后(即在某一行写上contains然后下 面开始写数,多所有函数都写在这个contains之后)。并且module中定义过的变量在module里的 函数中可直接使用,函数之间也可以直接相互调用,连module中的自定义函数在被调用时也不用 先声明。
1 MODULE基本用法 图 1 MODULE是关键字,模块定义以MODULE语句开始,END MODULE语句结束。第一部分:类型说明部分。可以是类型说明语句、派生类型定义及接口块等,但不能有执行语句、语句函数、ENTRY语句或FORMA T语句。第二部分:以CONTAINS语句开始,执行模块的内部过程,这部分是可选的。当模块有内部函数或子程序...
1>子程序 CONTAINS(内部子程序的标志(外部EXTERNAL)) [类型说明] FUNCTION函数名(虚参表) 函数体 END 2>子例行程序 SUBROUTINE子例行程序名(虚参表) 函数体 END 调用CALL子例行程序名(实参表) 3>递归调用 RECURSIVE FUNCTION(SUBROUTINE)函数名(虚参表) RESULT(返回值) 函数体 END ...
从这个例子来看,我可以清楚的看到类的基本定义与用法。type其实是Fortran 90就已经存在的概念,类似c语言中的struct。而Fortran的类实际上就是在type的基础上允许contains一些函数。需要注意的是,代码中的greet => people_greet并不是必须得,比如你完全可以这样写 ...
用法很单,但能提供很多方便,使程序变得简洁,比如使用全局变量不必每 30、次都声明一长串,写在odule里调用就行了。Module一般写在主程序开始之前。形式:modulemodule_nameendmodulemodule_name使用:在主程序或函数中使用时,需要在声明之前先写上一行:usemodule_name.Module中有函数时必须在contains命令之后(即在某一行...
临时数组,type(:n)%elem 由于存储不连续,容易产生临时数组 contains subroutine prt(a) integer, intent(in) :: a(:) print *, a end subroutine prt end program main Fortran 中根据数组分配规则,分为自动数组和可分配数组,它们在数组切片中有一些 妙用差异. program main integer :: i integer :: a(2...