fortran mod module function subroutine的区别 在Fortran编程语言中,mod、module、function和subroutine是四个不同的关键字,代表了不同的指令或语法结构。 1. mod:mod是一个运算符,用于计算两个数相除的余数。例如,表达式5 mod 2的结果为1,表示5除以2的余数是1。 2. module:module是一个关键字,用于定义一个...
moduleglobalimplicit noneinteger,save::a,bend moduleglobalprogrammainuseglobal! use语句还需要在implicit none之前implicit nonea=1b=2callsub()end programmainsubroutinesub()useglobalimplicit nonewrite(*,*)a,breturnend subroutinesub 这里名为global的模块module需要在源文件的开头部分,在use global之前。 主...
这种复杂类型的变量不能直接在subroutine中声明,需要调用module或者interface。 用interface见如下代码,interface中以一般的subroutine形式书写,只是只声明输入的类型是可变长度变量: programsub_ex3implicit nonereal::x(10)=2.71real::y(20)=3.14interfacesubroutinearr_sub(b)real,intent(out)::b(:)end subroutinearr_...
add_result=a+b;end subroutine add_subreal(kind=4)functionadd_func(a,b)implicit nonereal(kind=4)::a,b add_func=a+b endfunctionadd_func!!!Module中有函数时必须在contains命令之后(即在某一行写上contains然后下!面开始写函数)。并且module中定义过的变量在module里的!函数中可直接使用,函数之间也可...
在编程语言Fortran中,“过程”是一个关键的概念,它涵盖了函数(function)和子例程(subroutine)两种形式。
subroutine sub(array) 但是动态储存数组,如real(kind=8),dimension(:),allocatable :: array,不能直接作为子程序的形参传递,一种方法是把子程序放入module module var implicit none contains subroutine test(array,i) implicit none integer i real(kind = 8),dimension(:) :: array !在此只需要声明数组类型...
在这个示例中,首先定义了一个名为my_module的模块,里面包含了一个整型变量my_variable和一个子程序my_subroutine。在主程序中,通过use my_module语句引入了模块,然后可以直接使用模块中定义的变量和子程序。 通过模块的使用,可以将代码模块化,提高代码的可读性和维护性。
4 使用fortran的关键字containscontains是Fortran 90中新增的一个语法功能在module或者subroutine中可以用contains来包含其他的module或者subroutine 5 编写主程序测试子程序是否能够改变传入的参数 implicit none character(len=255)::str integer::n str="168" n=3 print *, "***" print *, "子程序运...
假定形状,即 real :: matrix(:,:) 这样的写法。你有几种选择:不使用假定形状。而把数组大小传入subroutine。使用假定形状。并书写 interface 使用假定形状,但不书写 interface,而使用 module(避免interface)推荐使用 module module 是对 若干变量,subroutine 的封装。是一个很好的,很高级的语法特征...
PROGRAMtest_moduleUSEshared_dataIMPLICIT NONEREAL,PARAMETER::PI=3.141592!Pivalues=PI*[1.,2.,3.,4.,5.]CALLsub1!调用子程序END PROGRAMtest_module!***!***SUBROUTINEsub1USEshared_dataWRITE(*,*)valuesEND SUBROUTINEsub1 声明局部变量时,它的名字不应该和从关联 USE 继承的变量同名。这种对变量名的...