- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这一章会介绍Visual Fortran在FORTRAN标准外所扩充的功能,主要分成两大部分;第一部分会介绍Visual Fortran的扩充函数,第二部分会介绍Visual Fortran的绘图功能。
Visual Fortran扩充函数
Visual Fortran中提供了很多让FORTRAN跟操作系统通信的函数,这些函数都封装在MODULE DFPORT中。调用这些函数前,请先确认程序代码中有使用USE DFPORT这一行命令。
integer(4) function IARGC()
返回执行时所传入的参数个数
subroutine GETARG(n, buffer)
用命令列执行程序时,可以在后面加上一些参数来执行程序,使用GETARG可以取出这些参数的内容。
integer n 决定要取出哪个参数 character*(*) buffer 返回参数内容 FORTRAN程序编译好后,执行程序时可以在命令列后面加上一些额外的参数。假如有一个可执行文件为a.exe,执行时若输入a –o –f,在a之后的字符串都会被当成参数。这时候执行a –o -f时,调用函数IARGC会得到2,因为总共传入了两个参数。调用函数GETARGC(1,buffer)时,字符串buffer=”-o”,也就是第1个参数的值。
subroutine GETLOG(buffer)
查询目前登录计算机的使用者名称。
character*(*) buffer 返回使用者名称 integer(4) function HOSTNAM(buffer)
查询计算机的名称,查询动作成功完成时函数返回值为0。buffer字符串长度不够使用时,返回值为-1。
character*(*) buffer 返回计算机的名称 程序执行时,工作目录是指当打开文件时,没有特别指定目录位置时会使用的目录。通常这个目录就是执行文件的所在位置,在程序进行中可以查询或改变这个目录的位置。
integer function GETCWD(buffer)
查询程序目前的工作目录位置,查询成功时函数返回0。
integer function CHDIR(dir_name)
把工作目录转换到dir_name字符串所指定的目录下,转换成功时返回0。
扩充的文件相关函数,补充了一些原本的缺失。INQURE命令可以用来查询文件信息,不过它并没有提供很详细的信息,例如文件大小就没有辨法使用INQUIRE来查询。
integer(4) function STAT(name, statb)
查询文件的数据,结果放在整数数组statb中。查询成功时函数返回值为0。
character*(*) name 所要查询的文件名。 integer statb(12) 查询结果,每个元素代表某一个属性,statb(8)代表文件长度,单位为bytes。其它值请参考使用说明。 integer(4) function RENAME( from , to )
改变文件名称,改名成功时返回0。
character*(*) from 原始文件名 character*(*) to 新文件名 程序执行时,可以经由函数SYSTEM再去调用另外一个程序来执行。
integer(4) function SYSTEM( command )
让操作系统执行command字符串中的命令。
subroutine QSORT( array, len, size, compar )
使用Quick Sort算法把传入的数组数据排序。
array 任意类型的数组 integer(4) len 数组大小 integer(4) size 数组中每个元素所占用的内存容量 integer(2), external :: compar 使用者必须自行编写比较两笔数据的函数,函数compar会自动传入两个参数a、b。当a要排在b之前时,compar要返回负数,a、b相等时请返回0,a要排在b之后时,compar要返回正数。 QSORT.F90
1.program main ! 使用QSORT函数的范例
2. use DFPORT
3. implicit none
4. integer :: a(5) = (/ 5,3,1,2,4 /)
5. integer(2), external :: compareINT
6. call QSORT( a, 5, 4, compareINT )
7. write(*,*) a
8. stop
9.end program
10.! 要自行提供比较大小用的函数
11.integer(2) function compareINT(a,b)
您可能关注的文档
最近下载
- DL/T 956-2005 火力发电厂停(备)用热力设备防锈蚀导则.pdf VIP
- 教科版 三年级上册科学3《水沸腾了》说课(课件).pptx VIP
- 毕业设计数控车床轴类零件加工工艺设计及编程.doc VIP
- 第二章节政府绩效管理工具-ppt资料.ppt VIP
- NSD500技术说明书 NSD500系列高压变电站单元测控装置.doc VIP
- 机电安装工程质量验收标准管理手册.pptx
- 全科医学病例汇报.pptx VIP
- (正式版)B 7231-2003 工业管道的基本识别色、识别符号和安全标识.docx VIP
- 煤矿职业卫生培训课件.pptx VIP
- 《大江东去》:激变时代的爱情悲歌.pdf
文档评论(0)