[教学]fortran计时间函数

合集下载

fortran语言语法

fortran语言语法

FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。

经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。

目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :<说实话,从科技发展的趋势来说这不是好事。

您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受!强烈建议阅读《发掘C#特性赋予科学计算项目以威力》1 FORTRAN77四则运算符+ - * / ** (其中**表示乘方)在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→()2 FORTRAN77变量类型隐含约定:I-N规则凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。

用类型说明语句确定变量类型:可以改变I-N规则用IMPLICIT语句将某一字母开头的全部变量指定为所需类型如IMPLICIT REAL (I,J)三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。

数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2)10FORMAT(1X,5(A2,I2,1X,A2,I4))使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/,,DATA A/,B/,C/DATA A,B,C/3*CHARACTER*6 CHN(10)DATA CHN/10*'?????'/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则·程序中的变量名,不分大小写;·变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;·一行只能写一个语句;·程序的第一个语句固定为PROGRAM 程序名称字符串·某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容;·某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容;·某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行;·某行的第7至72字符位为语句区,语句区内可以任加空格以求美观;·某行的第73至80字符位为注释区,80字符位以后不能有内容。

FORTRAN简明教程

FORTRAN简明教程

FORTRAN简明教程
一、FORTRAN简介
FORTRAN,指程序设计语言,由IBM在1956年发明,主要用于科学计算、数值运算等。

它将汇编语言中的功能集成在一个简单的命令语句中,
减少了汇编语言的繁琐的编译过程。

它也是目前世界上最古老的计算机程
序设计语言。

FORTRAN由“Formula Translating System”派生而来,主要用于工
程和科学计算,非常适用于此领域的算法及数学公式的应用。

基于这种语言,开发者可以轻松描述数字问题,并同时检测、审核、维护和优化此代码。

二、FORTRAN的优缺点
1、优点
a.FORTRAN是一种很容易上手的程序设计语言,它的语言规范很容易
理解,而且简单易用。

b.FORTRAN支持大量数值操作,所以它在计算机科学和工程领域有广
泛的应用。

c.FORTRAN程序非常高效,它的优化程序可以提高程序运行效率,而
且运算速度很快。

d.FORTRAN支持很多的数据类型,这样可以更有效地操作和管理数据。

2、缺点
a.FORTRAN不支持图形用户界面(GUI),这样用户需要熟悉命令行,才能完成程序的编写。

fortran语言语法

fortran语言语法

FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。

经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。

目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :<说实话,从科技发展的趋势来说这不是好事。

您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受!强烈建议阅读《》1 FORTRAN77四则运算符+ - * / ** (其中**表示乘方)在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→()2 FORTRAN77变量类型隐含约定:I-N规则凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。

用类型说明语句确定变量类型:可以改变I-N规则用IMPLICIT语句将某一字母开头的全部变量指定为所需类型如IMPLICIT REAL (I,J)三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。

数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2)10FORMAT(1X,5(A2,I2,1X,A2,I4))使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/,,DATA A/,B/,C/DATA A,B,C/3*CHARACTER*6 CHN(10)DATA CHN/10*''/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则•程序中的变量名,不分大小写;•变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;•一行只能写一个语句;•程序的第一个语句固定为PROGRAM 程序名称字符串•某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容;•某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容;•某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行;•某行的第7至72字符位为语句区,语句区内可以任加空格以求美观;•某行的第73至80字符位为注释区,80字符位以后不能有内容。

Fortran 函数

Fortran 函数
OUTTEXT
Subroutine
Sends text to the screen at the current position.
PIE, PIE_W
Functions
Draws a pie slice.
POLYGON, POLYGON_W
Functions
Draws a polygon.
POLYLINEQQ
SETFILETIMEQQ
Run-time Function
SETFILETIMEQQ(filename,timedate). Sets modification time for a given file.
SPLITPATHQQ
Run-time Function
SPLITPATHQQ(path,drive,dir,name,ext). Breaks a full path into four components.
File Management: table
Graphics Procedures: table
Note:Programs that use these procedures must access the appropriate library with USE DFLIB.
Name
Procedure TypeGFra bibliotekTFILLMASK
Subroutine
Returns the current fill mask.
GETFONTINFO
Function
Returns the current font characteristics.
GETGTEXTEXTENT
Function
Determines the width of the specified text in the current font.

fortran计时间函数

fortran计时间函数

Fortran 计时函数etime(fortran 77)例:call etime(tarray,t0)…………….Call etime(tarray,t1)print *, … Elapsed time:‟,t1-t0system_clock (fortran 90)cpu_time (fortran 95)例:call cpu_time(t0)…………….call cpu_time(t1)Print *, … Elapsed time:‟, t1-t0函数的具体参数可以参看编译软件Compaq Visual Fortran中的帮助文档和下面这段程序及其运行结果!关于计算程序所耗费的时间函数,具体可以参看帮助文档program systemclockinteger:: ic, crate, cmaxinteger(2) :: ic2, crate2, cmax2integer(4) :: ic4, crate4, cmax4integer::t1,t2call system_clock(t1)call system_clock(count=ic, count_rate=crate, count_max=cmax)call system_clock(count=ic2, count_rate=crate2, count_max=cmax2) call system_clock(count=ic4, count_rate=crate4, count_max=cmax4) call system_clock(t2)print *, t1, t2print *, ic, crate, cmaxprint *, ic2, crate2, cmax2print *, ic4, crate4, cmax4end program systemclock过一会儿再运行一下这段程序,其结果是可见,此台计算机上编译软件Compaq Visual Fortran的默认的integer是integer(4),计数率是10000(每秒计数10000次),最大计数值是2147483647。

[教学]fortran计时间函数

[教学]fortran计时间函数

Fortran,,,,,计时函数etime(fortran,,,,,77),,,,,例:call,,,,,etime(tarray,t0) ,,,,,,,,,,,,,,,,,,,,,,,,,……………. ,,,,,,,,,,,,,,,,,,,,,,,,,Call,,,,,etime(tarray,t1)print,,,,,*,,,,,,…,,,,,Elapsed,,,,,time:‟,t1-t0system_clock,,,,,(fortran,,,,,90)cpu_time,,,,,(fortran,,,,,95)例:call,,,,,cpu_time(t0) ,,,,,,,,,,,,,,,,,,,,,,,,,……………. ,,,,,,,,,,,,,,,,,,,,,,,,,call,,,,,cpu_time(t1)Print,,,,,*,,,,,,…,,,,,Elapsed,,,,,time:‟,,,,,,t1-t0函数的具体参数可以参看编译软件Compaq,,,,,V isual,,,,,Fortran中的帮助文档和下面这段程序及其运行结果!关于计算程序所耗费的时间函数,具体可以,,,,,参看帮助文档,,,,,program,,,,,systemclock,,,,,,,,,,integer::,,,,,,,,,,,,,,,,,,,,,,,,,ic,,,,,,crate,,,,,,cmax,,,,,,,,,,integer(2),,,,,::,,,,,ic2,,,,,,crate2,,,,,,cmax2,,,,,,,,,,integer(4),,,,,::,,,,,ic4,,,,,,crate4,,,,,,cmax4,,,,,,,,,,integer::t1,t2,,,,,,,,,,call,,,,,system_clock(t1),,,,,,,,,,call,,,,,system_clock(count=ic,,,,,,count_rate=crate,,,,,,count_max=cmax) ,,,,,,,,,,call,,,,,system_clock(count=ic2,,,,,,count_rate=crate2,,,,,,count_max=cmax2) ,,,,,,,,,,call,,,,,system_clock(count=ic4,,,,,,count_rate=crate4,,,,,,count_max=cmax4) ,,,,,,,,,,call,,,,,system_clock(t2),,,,,,,,,,print,,,,,*,,,,,,t1,,,,,,t2,,,,,,,,,,print,,,,,*,,,,,,ic,,,,,,crate,,,,,,cmax,,,,,,,,,,print,,,,,*,,,,,,ic2,,,,,,crate2,,,,,,cmax2,,,,,,,,,,print,,,,,*,,,,,,ic4,,,,,,crate4,,,,,,cmax4,,,,,,,,,,end,,,,,program,,,,,systemclock,,,,,过一会儿再运行一下这段程序,其结果是可见,此台计算机上编译软件Compaq,,,,,V isual,,,,,Fortran的默认的integer是integer(4),计数率是10000(每秒计数10000次),最大计数值是2147483647。

Fortran基础教程

Fortran基础教程

2024/8/9
18
3.5 常 量
3.5.2 实型常量
(有二种表示形式)
⒈小数形式
例:15.8,-21.05,14.0 ,14.,.17, 0.0 ,…
⒉指数形式(通常表示较大或较小的数)
例:100000000→1.0E+8
0.0000125→1.25E-05
数字部分
指数部分
2024/8/9
19
3.5 常 量
2024/8/9
31
3.7 Fortran内部函数
注意几点:
⑴函数自变量(参数)必须用括号括起来。
例:sinx+cosx → sin(x)+cos(x)
⑵函数自变量可以是常量、变量或表达式。
例: exp(3.0)
sin (x+cos(x))
⑶有些函数的类型是由自变量的类型确定的。
例:mod(8.0,3.0) →2.0
2024/8/9
24
3.6 变 量
注意几点: ⑴变量名不区分大小写字母。
例:TOTAL,Total,total 代表同一变量 ⑵变量名中的空格不起作用。
例:abc,a bc,ab c,a b c 代表同一变量 ⑶变量名尽量做到“见名知义” AVER、SUM、Imax ⑷允许变量名与语言中具有特定含义的字(“保留字”)
2024/8/9
13
3.4 Fortran程序的编辑与运行
一、Fortran PowerStation 4.0的启动
选“开始”→“程序”→“Fortran PowerStation 4.0”→“Microsoft Developer Studio”。
二、创建项目工作间
选“File”→“New”→“Project Workspace”→“Console Application”,并 输入项目工作间名称(如:aaa)和存放项 目工作间的位置或路径(如:c:\for\) → Create。

采用Fortran编程提取系统时间

采用Fortran编程提取系统时间

采用Fortran编程提取系统时间文一猪编程中我们往往需要提取系统时间,从而确定程序或子程序的运行时间。

我想在这里上有几个目的,比如说要对程序进行优化,当然你得先优化比较费时的子程序,或者你要直接从实际计算上计算出程序的复杂度,简单说就是计算时间同计算量的函数关系。

在这里给出关于采用Fortran95语言编写的提取系统时间程序。

Example1是网上帖子里的程序,不过该程序采用的time程序似乎不是Fortran95的标准程序。

在Example2给出的是自编的采用模块化编程调用cpu_time程序,使用F95的朋友可以很容易地将该程序嵌入到你们的程序中使用。

Mar. 14, 2013program TimeNowcharacter*8 :: nowinteger :: hh,mm,sscall time (now) ! 读系统时间write(*,*) now ! 写出时间字符串! 用字符变量now作为内部文件,从中将时、分、秒作为整数读出read(now,"(I2,1x,I2,1x,I2)") hh,mm,ss ! 字符转换为write(*,*) hh,mm,ss ! 写出时、分、秒的整数值stopend program TimeNow帖子:/club/showtxt.asp?id=70407/post-70559.htmlmodule get_timepublic display_timecontainssubroutine display_time()implicit nonedoubleprecision nowtimecall cpu_time(nowtime)write(*,'(1x,a,1e10.3)') "Now Time is ", nowtime returnend subroutineend moduleprogram test_get_timeuse get_timeimplicit doubleprecision (a-h, o-z), integer (i-n)call display_time()do i = 1,1000000do j = 1,2000x = dlog(1.1d0)enddoenddocall display_time()stop "The end!"end program第2 章Fortran 95 内函数本章列出了f95 编译器可识别的内函数名称。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档