ChinaNet
标题:
Visual Fortran 高级编程技术 2
[打印本页]
作者:
Doublen
时间:
2015-4-8 10:32
标题:
Visual Fortran 高级编程技术 2
[size=13.63636302947998px]● 语句:
[size=13.63636302947998px]
[size=13.63636302947998px]? 属性说明语句
[size=13.63636302947998px]
[size=13.63636302947998px]ALLOCATABLE
[size=13.63636302947998px]
[size=13.63636302947998px]? 分配语句
[size=13.63636302947998px]
[size=13.63636302947998px]ALLOCATE(数组名1(形状描述),数组名2(形状描述),…[STAT=变量 名])
[size=13.63636302947998px]
[size=13.63636302947998px]? 释放语句
[size=13.63636302947998px]
[size=13.63636302947998px]DEALLOCATE(动态数组名1,动态数组名2,…[STAT=变量名])
[size=13.63636302947998px]
[size=13.63636302947998px]● 例子程序1
[size=13.63636302947998px]
[size=13.63636302947998px]REAL(8),ALLOCATABLE::X(
,Y(
,Z(
[size=13.63636302947998px]
[size=13.63636302947998px]INTEGER(4)::NODE
[size=13.63636302947998px]
[size=13.63636302947998px]
[size=13.63636302947998px]READ(*,*) NODE
[size=13.63636302947998px]
[size=13.63636302947998px]ALLOCATE (X(1:NODE),Y(1:NODE),Z(1:NODE))
[size=13.63636302947998px]
[size=13.63636302947998px]DO I=1,NODE
[size=13.63636302947998px]
[size=13.63636302947998px]X(I)=1.0
[size=13.63636302947998px]
[size=13.63636302947998px]Y(I)=1.0
[size=13.63636302947998px]
[size=13.63636302947998px]Z(I)=I
[size=13.63636302947998px]
[size=13.63636302947998px]END DO
[size=13.63636302947998px]
[size=13.63636302947998px]DO I=1,NODE
[size=13.63636302947998px]
[size=13.63636302947998px]WRITE(*,*) X(I),Y(I),Z(I)
[size=13.63636302947998px]
[size=13.63636302947998px]END DO
[size=13.63636302947998px]
[size=13.63636302947998px]DEALLOCATE(X,Y,Z)
[size=13.63636302947998px]
[size=13.63636302947998px]END
[size=13.63636302947998px]
[size=13.63636302947998px]
[size=13.63636302947998px]3) 模块
[size=13.63636302947998px]
[size=13.63636302947998px]● 优点:模块是一种在主程序单元之外独立编写的程序单元。模块程序单元内没有可执
[size=13.63636302947998px]
[size=13.63636302947998px]行语句,除了说明语句外,最多包含模块过程。主要作用是供其他程序单元引用,即数据
[size=13.63636302947998px]
[size=13.63636302947998px]的共享与模块过程的复制。包含了COMMON与INCLUDE的全部功能。
[size=13.63636302947998px]
[size=13.63636302947998px]● 语句:
[size=13.63636302947998px]
[size=13.63636302947998px]a 模块的编写
[size=13.63636302947998px]
[size=13.63636302947998px]MODULE 模块名
[size=13.63636302947998px]
[size=13.63636302947998px]类型说明部分
[size=13.63636302947998px]
[size=13.63636302947998px][CONTAINS]
[size=13.63636302947998px]
[size=13.63636302947998px][模块过程1]
[size=13.63636302947998px]
[size=13.63636302947998px]…
[size=13.63636302947998px]
[size=13.63636302947998px][模块过程N]
[size=13.63636302947998px]
[size=13.63636302947998px]END MODULE [模块名]
[size=13.63636302947998px]
[size=13.63636302947998px]b 模块的引用
[size=13.63636302947998px]
[size=13.63636302947998px]USE 模块1,模块2,…,模块n
[size=13.63636302947998px]
[size=13.63636302947998px]本帖转自52MC
欢迎光临 ChinaNet (http://www.nuclear.net.cn/)
Powered by Discuz! X3.1