FORTRAN_90_程序编程规范标准[详]

FORTRAN_90_程序编程规范标准[详]

ID:47858648

大小:57.00 KB

页数:9页

时间:2019-12-01

FORTRAN_90_程序编程规范标准[详]_第1页
FORTRAN_90_程序编程规范标准[详]_第2页
FORTRAN_90_程序编程规范标准[详]_第3页
FORTRAN_90_程序编程规范标准[详]_第4页
FORTRAN_90_程序编程规范标准[详]_第5页
资源描述:

《FORTRAN_90_程序编程规范标准[详]》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.....FORTRAN90程序编程规范Fortran90编程规范,使程序代码高度组织化,更加易读、易懂、易于维护,程序更加高效。使编出的程序更易懂、易于维护。1语言选择数值预报创新系统软件开发应避免使用Fortran77的某些过时特征以Fortran90不一致的特征。选择Fortran90作为开发语言,并采用Fortran90的新功能,如动态内存的分配(dynamicmemoryallocation)、递归(recursion),模块(modules)、POINTER、长变量名、自由格式等。Fortran77其中某些只是一些冗余的功能,

2、这些功能已经过时,另外,还有一些在Fortran90中被证明是不好的用法,建议不要使用。2Fortran90的新特性2.1.1建议使用的Fortran90新特性建议使用Fortran90提供的模块(module),并用UseONLY指定module中哪些变量或派生类型定义可用于调用程序。尽量使用数组下标三元组,这样可优化并减少所需的代码行数。为提高可读性,要在括号内表明数组的维数,例如:1dArrayA(:)=1dArrayB(:)+1dArrayC(:)2dArray(:,:)=scalar*Another2dArray(:,:)当访问

3、数组的子集时,例如在有限差分等式中,可以通过使用下标三元组实现。例如:2dArray(:,2:len2)=scalar*(&Another2dArray(:,1:len2-1)&-Another2dArray(:,2:len2)&)对程序单元(programunits)命名,并使用Endprogram,Endsubroutine,Endinterface,Endmodule等结构再次指定“programunit”的名称。在逻辑表达式中使用>、>=、==、<、<=、/=,它们分别代替.gt.、.ge.、.eq.、.lt.、.le.、.ne.

4、。新的表示方法更接近标准的数学符号在变量定义中始终使用“::”;始终用“DIMENSION”定义数组形状;始终用(len=)的语法格式声明字符变量的长度。学习参考.....从效率的角度考虑,除递归定义的数据结构外,应尽量避免使用递归程序(它在使用内存和cpu上会降低效率)。建议定义新的操作符,而不要重载已有的操作符,这样可以清晰地表明功能,避免降低代码的可读性和可维护性。2.1.2关于Interface使用Interface接口块。在FORTRAN语言中,主调程序与被调程序是分别编译的。由于Fortran90对过程的许多功能做了扩充,有些

5、功能单靠简单的调用语句已无法反映,因而系统也就无法进行正确的编译。这时需要在主调程序中加入interface接口块,通过它为主调程序与被调程序指明一个显式的接口。如果被调用程序中哑元含有假定形状(assumed-shape)数组,或含可选变元,或含键盘输入的参数,就需要interface接口块说明。一般来讲,在Fortran90程序之间需要提供的interface块,建议将interface接口块明确写入调用程序,并复制被调用程序的参数列表。这种方法简单易用,但也相应增加了维护代码的工作量,因为只要被调用程序的参数列表发生变化就必须相应改

6、变interface接口块和调用(call)语句。2.1.3关于动态内存的使用并行程序中存在着动态内存使用不充分的情况,合理使用动态内存可提高效率。在Fortran90中常采用下列方法获取动态内存。自动数组(automaticarrays):这种数组的大小在子程序中指定,其大小取决于运行时的变量,例如,可通过参数列表向子程序传递实元变量。使用自动数组优先于其它形式的动态内存分配方法。可分配数组(allocatablearrays):声明为ALLOCATABLE属性的数组变量可在运行时通过ALLOCATE命令分配空间。与指针不同的是ALLO

7、CATABLE属性不能用于派生数据类型中。这种方法申请的空间要使用DEALLOCATE命令释放。在一个程序中,不要重复进行“ALLOCATE—DEALLOCATE-然后再ALLOCATE一个更大的空间”这样的操作,这样会导致大量不可利用的碎片空间产生。应在程序中对要开辟的动态数组空间进行连续分配,或连续释放。在使用ALLOCATE和DEALLOCATE命令之后,要利用ALLOCATE和DEALLOCATE命令参数中的返回值来判断操作是否成功;不建议使用指针数组。2.2Fortran90中不建议使用的过时的特性不要使用固定书写格式,采用Fo

8、rtran90的自由书写格式。不要使用旧式的DO循环和CONTINUE语句。在以前的DO循环中,关键字之后大多有一个标号,循环在该标号处结束,如:DO10I=1,10学习参考.....DO20

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。