Visual Fortran 高级编程技术


发信人: leavy (☆星河☆), 信区: Fortran
标  题: Visual Fortran 高级编程技术
发信站: 南京大学小百合站 (Fri Jul  9 21:44:36 2004)

Visual Fortran 高级编程技术
   Microsof 公司推出了支持32位的FORTRAN   POWER  STATION1.0 到FORTRAN  POWER  STATION4.0编译器后将其卖给了DEC公司。DEC随即推出了DVF5.0(Digital Visual FORTRAN 5.0),其工作环境与MFC5.0完全一致,最近DEC又推出了DVF6.0(Digital Visual FORTRAN 6.0,其工作环境与MFC6.0完全一致。

 FORTRAN在DOS下的编程技术相信早以为大家熟悉。有关FORTRAN90方面的书籍也不少见,因此这里不再赘述。以下主要以最新的DVF5.0讲述有关FORTRAN图形编程的方法。

1 DVF 概述
2 QuickWin Application
3 Win32 Application
4 OpenGL

1 DVF概述
1. 1 安装
1) 在安装选项中,注意选择 /Samples,这里包含了DVF的丰富例子。
2) 要拷贝 /Msdn 子目录,这里包含了API及OPENGL函数的帮助。
3) 可以网上下载升级。
1.2 语言
1) 书写格式
● 不受列的限制,可自由书写。
● 注释在任何地方由'!'开始。
● 续行在行尾加'&'。
2) 动态数组

优点:动态数组的维界在程序执行过程中随时可按需要变化,数据需要占多少内存,就可在程序中动态地分配给数组多少内存;如果该数组以后不再使用,又可释放该数组,把该数组占用的内存归还给系统另作他用。这样可以节约使用内存,提高内存使用效率。动态数组主程序与子程序。

● 语句:
? 属性说明语句
ALLOCATABLE
? 分配语句
ALLOCATE(数组名1(形状描述),数组名2(形状描述),…[STAT=变量 名])
? 释放语句
DEALLOCATE(动态数组名1,动态数组名2,…[STAT=变量名])
● 例子程序1
REAL(8),ALLOCATABLE::X(:),Y(:),Z(:)
INTEGER(4)::NODE

READ(*,*) NODE
ALLOCATE (X(1:NODE),Y(1:NODE),Z(1:NODE))
DO I=1,NODE
X(I)=1.0
Y(I)=1.0
Z(I)=I
END DO
DO I=1,NODE
WRITE(*,*) X(I),Y(I),Z(I)
END DO
DEALLOCATE(X,Y,Z)
END

3) 模块
● 优点:模块是一种在主程序单元之外独立编写的程序单元。模块程序单元内没有可执行语句,除了说明语句外,最多包含模块过程。主要作用是供其他程序单元引用,即数据的共享与模块过程的复制。包含了COMMON与INCLUDE的全部功能。
● 语句:
a 模块的编写
MODULE 模块名
类型说明部分
[CONTAINS]
[模块过程1]

[模块过程N]
END MODULE [模块名]
b 模块的引用
USE 模块1,模块2,…,模块n
● 例子程序2:
! 模块***************************************
MODULE MYDATA
INTEGER NODE,NEL
END MODULE MYDATA
!*******************************************

!主程序*************************************
USE MYDATA
NODE=100
NEL=90
WRITE(*,*)"IN MAIN PROGRAM :"
WRITE(*,*)"NODE=",NODE
WRITE(*,*)"NEL=",NEL
CALL SUBPROGRAM()
END
!*******************************************

!子程序*************************************
SUBROUTINE SUBPROGRAM()
USE MYDATA
WRITE(*,*)"IN SUBPROGRAM :"
WRITE(*,*)"NODE=",NODE
WRITE(*,*)"NEL=",NEL
END SUBROUTINE
!*******************************************

1.2 开发环境
1) 建立新文件、新项目
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值