当前位置:首页 >> 建筑/土木 >>

Fortran基本用法小结


Fortran 基本用法小结 周日, 10/14/2007 - 21:00 — gator 作者:gator 目录: 一、说明 二、概述 三、数据类型及基本输入输出 四、流程控制 五、循环 六、数组 七、函数 八、文件 一、说明 本文多数内容是我读彭国伦 《Fortran 95 程序设计》 的笔记。 只读到第九章, 主要是 3~9 章, 都是最基本的用法(原书共 16 章) 。这

里主要摘录了我看书过程中总结的一些 Fortran 和 C 不同的地方,主要是语法方面。希望这份笔记能够给学过 C 但没有接触过 Fortran 的同学带 去一些帮助。要想得更清楚些,推荐看一下原书,觉得作者真的写得很好,很清楚;如果有 C 语言的基础,看完前九应该很快的,花一两天就行了。觉得如果耐心看完本文,基本功能 应该也可以顺利用起来了。外,由于我之前没有用过 Fortran,这次为了赶文档看书又看得 很粗浅,大多数东西看过之后都没得及仔细想,只是按着作者的意思去理解。所以这份笔记 还处于纸上谈兵的层次。如果有不妥的方,希望大家指正。谢谢! 文中蓝色的部分是程序代码,!后面的内容为注释。 二、概述 1、名词解释 Fortran=Formula Translator/Translation 一看就知道有什么特色了:可以把接近数学语言的文本翻译成机械语言。的确,从一开始, IBM 设计的时候就是为了方便数值计算和科学数据处理。设计强大的数组操作就是为了实 现这一目标。 ortran 奠定了高级语言发展的基础。 现在 Fortran 在科研和机械方面应用很广。 2、Fortran 的主要版本及差别 按其发展历史, Fortran 编译器的版本其实很多。 现在在广泛使用的是 Fortran 77 和 Fortran90。 ortran 90 在 Fortran 77 基础上添加了不少使用的功能,并且改良了 77 编程的版面格式,所 以编程时推荐使用 90。 鉴于很多现成的程序只有 77 版本, 有必要知道 77 的一些基本常识, 至少保证能够看 77 程序。以下是 77 和 90 的一些格式上的区别。 Fortran 77: 固定格式(fixed format) ,程序代码扩展名:.f 或.for (1)若某行以 C,c 或*开头,则该行被当成注释; (2)每行前六个字符不能写程序代码,可空着,或者 1~5 字符以数字表明行代码(用作格 式化输入出等) ;7~72 为程序代码编写区;73 往后被忽略; (3)太长的话可以续行,所续行的第六个字符必须是"0"以外的任何字符。 Fortran 90:自由格式(free format) , 扩展名:.f90 (1)以"!"引导注释; (2)每行可 132 字符,行代码放在每行最前面; (3)以&续行,放在该行末或下行初。 以下都是讨论 Fortran 90。

3、Fortran 的一些特点,和 C 的一些不同 其实很多,在下面涉及具体方面时可以看到。这里只是大致提一些。 (1)不分大小写 (2)每句末尾不必要写分号 (3)程序代码命令间的空格没有意义 (4)不像 C,Fortran 不使用{ } (5)数据类型多出了复数和逻辑判断类型。比如复数类型 complex :: a !声明复数的方法。复数显然方便了科学计算,满足了工程方面需求 a=(1.0,2.0) ! a=1+i (6)多出了乘幂运算(**) 。乘幂除了整数还可以是实数形式。如开方,开立方 a=4.0**0.5,a=8.0**(1.0/3.0)。 (7)数组有一些整体操作的功能;可以方便的对部分元素进行操作 (8)有些情况下可以声明大小待定的数组,很实用的功能 4、Fortran 的基本程序结构 先看一看所谓的"Hello Fortran"程序。 program main !程序开始,main 是 program 的名字,完全自定义 write(*,*) "Hello" !主程序 stop !终止程序 end [program[main]] !end 用于封装代码,表示代码编写完毕。[ ]中的内容可省略,下同。 再看一段实用一些的程序,好有点感性认识。程序用于计算圆柱的表面积,要求输入底面半 径和。 其中展示了 Fortran 的一些特色用法。 程序摘自维基。 其实是一个叫 www.answers.com 的网上引的维基的网页。推荐去看看!能查到不少有意思的东西。 program cylinder !给主函数起个名字 ! Calculate the area of a cylinder. ! Declare variables and constants. ! constants=pi ! variables=radius squared and height implicit none ! Require all variables to be explicitly declared !这个一般都是要写上的。下面会进一步说明。 integer :: ierr character :: yn real :: radius, height, area real, parameter :: pi = 3.1415926536 !这是常量的声明方法 interactive_loop: do !do 循环,Fortran 中的循环可以加标签,如 d 前面的 !interactive_loop 就是标签 ! Prompt the user for radius and height ! and read them. !屏幕输出 !键盘输入。isotat 的值用判断输入成功否。

write (*,*) 'Enter radius and height.' read (*,*,iostat=ierr) radius,height !

If radius and height could not be read from input,

!

then cycle through the loop.

if (ierr /= 0) then write(*,*) 'Error, invalid input.' cycle interactive_loop end if ! Compute area. The ** means "raise to a power." ! 指数运算比 C 方便 !cycle 相当于 C 里的 continue

area = 2 * pi * (radius**2 + radius*height) ! ! Write the input variables (radius, height) and output (area) to the screen.

write (*,'(1x,a7,f6.2,5x,a7,f6.2,5x,a5,f6.2)') & !"&"表示续行。这里还显示了格式化输出 'radius=',radius,'height=',height,'area=',area yn = ' ' yn_loop: do !内嵌的另一个 do 循环 write(*,*) 'Perform another calculation? y[n]' read(*,'(a1)') yn if (yn=='y' .or. yn=='Y') exit yn_loop if (yn=='n' .or. yn=='N' .or. yn==' ') exit interactive_loop end do yn_loop !结束内嵌 do 循环 end do interactive_loop end program cylinder Fortran 程序的主要结构就是这样了。一般还会有些 module 的部分在主函数前,函数在主函 数后。 三、数据类型及基本输入输出 1、数据类型,声明及赋初值 (1)integer: 短整型 kind=2, 长整型 kind=4 integer([kind=]2) :: a=3 如果声明成 integer:: a,则默认为长整型。 !"::" 在声明并同时赋初值时必须要写上;类型名后面有形容词时也必须保留::;其他情况可 略去 !所谓形容词,可以看一下这个。比如声明常数 real,parameter :: pi=3.1415926 。parameter 就是形容词。 (2)real:单精度 kind=4(默认) ,双精度 kind=8

real([kind=]8) :: a=3.0 还有指数的形式,如 1E10 为单精度,1D10 为双精度 (3)complex 单精度和双精度 complex([kind=]4) b (4)character character([len=]10) c !len 为最大长度 (5)logical logical*2 :: d=.ture. (等价于 logical(2)::d=.ture.) (6)自定义类型 type:类似于 C 中的 struct Fortran 77 中给变量赋初值常用 DATA 命令,可同时给多个变量赋初值 data a,b,string /1, 2.0, 'fortran'/ 与 C 不同的是,Fortran 中变量不声明也能使用,即有默认类型(跟 implicit 命令有关) 。按照 默认的定,以 i,j,k,l,m,n 开头的变量被定义为 integer,其余为 real。取消该设置需在程序声明 部分之前 implicit none。彭国伦建议一般都使用该语句。 另一点关于声明的不同是 Fortran 有"等价声明": integer a,b equivalence(a,b) 使得 a,b 使用同一块内存。这样可以节省内存;有时可精简代码。如:equivalence(很长名字 的变量如三维数组的某个元素,a),之后使用 a 来编写程序就简洁多了。 2、基本输入输出 输入:read(*,*) a !从键盘读入 输出:write(*,*) "text" !在屏幕上输出。Fortran 77 用' text'。Fortan 90 中一般" "和' '都可 print *,"text" !只能用于屏幕输出 (*,*) 完整写为 (unit=*,fmt=*) 。 其中 unit 为输入/输出位置, 如屏幕, 文件等; fmt 为格式。 如这两项都写成*,则按默认的方式进行,即上面描述的。print 后面的*表示按默认格式输 出。 四、流程控制 1、运算符 (1)逻辑运算符 == /= > >= < <= !Fortran 90 用法 .EQ. .NE. .GT. .GE. .LT. .LE. !Fortran 77 用法 (2)涉及相互关系的集合运算符 .AND. .OR. .NOT. .EQV. .NEQV. ! 仅.NOT.连接一个表达式, 其余左右两边都要有表达式 (可以是 logical 类型的变量) !.EQV.: 当两边逻辑运算值相同时为真, .NEQV.:当两边逻辑运算值不同时为真 2、IF (1) 基本 : if(逻辑判断式) then ……

end if 如果 then 后面只有一句,可写为 if(逻辑判断式) …… (2) 多重判断: if(条件 1) then …… else if(条件 2)then …… else if (条件 3)then …… else …… end if (3) 嵌套: if(逻辑判断式) then if(逻辑判断式) then if(逻辑判断式) then else if(逻辑判断式) then …… else …… end if !then 和 end if 可省略

end if end if (4) 算术判断: program example implicit none real c write (*,*) read (*,*) c if(c) 10,20,30 !10,20 和 30 为行代码,根据 c 小于/等于/大于 0,执行 10/20/30 行的程 10 write (*,*) "A" !goto 可实现跳到任意前面或后面的行代码处,但用多了破坏程序结 "input a number"

goto 40 20

write (*,*) "B"

goto 40 30 write (*,*) "C"

goto 40 40 stop

end 3、SELECT CASE 类似于 C 的 switch 语句 select case(变量) case(数值 1) ! 比如 case(1:5)代表 1<=变量<=5 会执行该模块 …… !case(1,3,5)代表变量等于 1 或 3 或 5 会执行该模块

case(数值 2) !括号中数值只能是 integer,character 或 logical 型常量,不能 real 型

… case default …… end case 4、PAUSE, CONTINUE pause 暂停程序执行,按 enter 可继续执行 continue 貌似没什么用处,可用作封装程序的标志 五、循环 1、DO do counter=初值, 终值, 增/减量 !counter 的值从初值到终值按增/减量变, …… !counter 每取一个值对应着一次循环。增/减量不写则认为 1 …… …… !循环主体也没有必要用{} …… end do Fortran 77 中不是用 end do 来终止,而是下面这样子: do 循环最后一行的行代码 counter=初值, 终值, 增/减量 …… 行代码 …… !这是 do 的最后一行 2、DO WHILE do while(逻辑运算) …… …… end do 类似于 C 中的 while(逻辑运算) {……}。 一开始那个计算圆柱表面积的程序中,应该也算是这一类。不过它是通过内部的 if 语句来 控制循。看来也是可以的,不过在这本书上没看到这样写。其实应该也可以归于下面这种。 3、没看到和 C 里面的 do{……}while(逻辑运算); 相对应的循环语句,不过可以这样,保证 至少做一循环: do while(.ture.) …… …… if(逻辑运算) exit !exit 就好比 C 里面的 break。C 里的 continue 在 Fortran 里是 cycle

end do 4、Fortran 的一个特色:带署名的循环 可以这样,不易出错: outer: do i=1,3 inner: do j=1,3 …… end do inner end do outer 还可以这样,很方便: loop 1: do i=1,3 loop2: do j=1,3 if(i==3) exit loop1 !exit 终止整个循环 loop1 if(j==2) cycle loop2 !cycle 跳出 loop2 的本次循环,进行 loop2 的下次循环 write(*,*) i,j end do loop2 end do loop1 还有一些循环主要用于 Fortran 中的数组运算,为 Fortran 特有,很实用。 六、数组 1、数组的声明 和 C 不同的是,Fortran 中的数组元素的索引值写在()内,且高维的也只用一个() ,如 integer a(5) !声明一个整型一维数组 real :: b(3,6) !声明一个实型二维数组 类型可以是 integer, real, character, logical 或 type。最高可以到 7 维。 数组大小必须为常数。 但是和 C 语言不同, Fortran 也有办法使用大小可变的数组, 方法如: integer, allocatable :: a(:) !声明小可变经过某个途径得知所需数组大小 size 之后,用下面的语句: allocate(a(size)) !配置内存空间 之后该数组和通过一般方法声明的数组完全相同。 与 C 不同,Fortran 索引值默认为从 1 开始,而且可以在声明时改变该规则: integer a(-3:1) ! 索引值为-3,-2,-1,0,1 integer b(2:3,-1:3) !b(2~3,-1~3)为可使用的元素 2、数组在内存中的存放 和 C 不同,Fortran 中的数组比如 a(2,2)在内存中存放顺序为 a(1,1),a(2,1),a(1,2),a(2,2 )。原则是放低维的元素,再放高维的元素。此规则称为 column major。 3、赋初值 (1)最普通的做法: integer a(5) data a /1,2,3,4,5/ 或 integer :: a(5)=(/1,2,3,4,5/) 若 integer :: a(5)=5,则 5 个元素均为 5 对于 integer :: a(2,2)=(/1,2,3,4/)

根据数组元素在内存中存放的方式,等价于赋值 a(1,1)=1,a(2,1)=2,a(1,2)=3,a(2,2)=4 (2)利用 Fortran 的特色:隐含式循环。看例子就明白了。 integer a(5) integer i data (a(i),i=2,4)/2,3,4/ !(a(i),i=2,4)表示 i 从 2 到 4 循环,增量为默认值 1 还可以这样: integer i integer :: a(5)=(/1,(2,i=2,4),5/) !五个元素分别赋值为 1,2,2,2,5 integer :: b(5)=(/i, i=1,5/) !五个元素分别赋值为 1,2,3,4, 还可以嵌套 data ((a(i,j),i=1,2),j=1,2)=/1,2,3,4/ !a(1,1)=1,1(2,1)=2,a(1,2)=3,a(2,2)=4 4、操作整个数组 设 a,b 为相同类型、维数和大小的数组 a=5 !所有元素赋值为 5 a=(/1,2,3/) !这里假设 a 为一维,a(1)=1,a(2)=2,a(3)=3 a=b !对应元素赋值,要求 a,b,c 维数和大小相同,下同 a=b+c a=b-c a=b*c a=b/c a=sin(b) !内部函数都可以这样用 5、操作部分数组元素 a 为一维数组 a(3:5)=(/3,4,5/) !a(3)=3,a(4)=4,a(5)=5 a(1:5:2)=3 !a(1)=3,a(3)=3,a(5)=3 a(3:)=5 !a(3)以及之后的所有元素赋值为 5 a(1:3)=b(4:6) !类似于这种的要求左右数组元素个数相同 a(:)=b(:,2) !a(1)=b(1,2),a(2)=b(2,2),以此类推 6、WHERE where 形式上类似于 if,但只用于设置数组。设有两个同样类型、维数和大小的数组 a,b where(a<3) b=a !a 中小于 3 的元素赋值给 b 对应位置的元素 end where 再如:where(a(1:3)/=0) c=a !略去了 end where,因为只跟了一行 where 可嵌,也 !可类似 do 循环有署名标签。 7、FORALL 有点像 C 中的 for 循环: forall(triplet1[,triplet2 [,triplet3…]],mask) 其中 triplet 形如 i=2:6:2,表示循环,最后一个数字省略则增量为 1 例如: forall(i=1:5,j=1:5,a(i,j)<10) a(i,j)=1 end forall 又如: forall(i=1:5,j=1:5,a(i,j)/=0) a(i,j)=1/a(i,j)

forall 也可以嵌套使用,好比 C 中 for 循环的嵌套。 七、函数 Fortran 中函数分两类:子程序(subroutine)和自定义函数(function) 。自定义函数本 质上就是学上的函数, 一般要传递自变量给自定义函数, 返回函数值。 子程序不一定是这样, 可 以没有返值。传递参数要注意类型的对应,这跟 C 是一样的。 1、子程序 目的:把某一段经常使用的有特定功能的程序独立出来,可以方便调用。 习惯上一般都把子程序放在主程序结束之后。 形式: subroutine name (parameter1, parameter2) !给子程序起一个有意义的名字。可以传递参数,这样可以有返回值。括号内也可以 空着,代不传递参数。 implicit none integer:: parameter1, parameter2 !需要定义一下接收参数的类型。 …… !接下来的程序编写跟主程序没有任何别。 …… mreturn !跟 C 不同,这里表示子程序执行后回到调用它的地方继续执行下面的程序。不一定 放 !在最后。可以放在子程序的其他位置,作用相同;子程序中 return 之后的部 分不执行。 end [subroutine name] 调用:使用 call 命令直接使用,不需要声明。在调用处写: call subroutine name(parameter1,parameter2) 注意点: a.子程序之间也可相互调用。直接调用就是了,像在主程序中调用子程序一样。 b.传递参数的原理和 C 中不同。Fortran 里是传址调用(call by address/reference),就是 传递时用参数和子程序中接收时用的参数使用同一个地址, 尽管命名可以不同。 这样如果子 程序 的执行改子程序中接收参数的值,所传递的参数也相应发生变化。 c.子程序各自内部定义的变量具有独立性,类似于 C。各自的行代码也具有独立性。因此各 个子程序主程序中有相同的变量名、行代码号,并不会相互影响。 2、自定义函数 和子程序的明显不同在于:需要在主程序中声明之后才能使用。调用方式也有差别。另外 按照惯例用函数不去改变自变量的值。如果要改变传递参数的值,习惯上用子程序来做。 声明方式:real, external :: function_name 一般自定义函数也是放在主程序之后。 形式: function function_name(parameter1, parameter2) implicit none real:: parameter1, parameter2 !声明函数参数类型,这是必需的 real::function_name !声明函数返回值类型,这是必需的 ……

…… function_name=…. !返回值的表达式 return end 也可以这样直接声明返回值类型,简洁些: real function function_name(parameter1, parameter2) implicit none real:: parameter1, parameter2 !这个还是必需的 …… …… function_name=…. !返回值表达式 return end 调用:function_name(parameter1,parameter2) 不需要 call 命令。 自定义函数可以相互调用。调用时也需要事先声明。 总之,调用自定义函数前需要做声明,调用子程序则不需要。 3、关于函数中的变量 (1)注意类型的对应。Fortran 中甚至可以传递数值常量,但只有跟函数定义的参数类型 对应才会到想要的结果。如 call ShowReal(1.0)就必须用 1.0 而不是 1。 (2)传递数组参数,也跟 C 一样是传地址,不过不一定是数组首地址,而可以是数组某个 指定元素地址。比如有数组 a(5),调用 call function(a)则传递 a(1)的地址,调用 call functio n(a(3))则递 a(3)的地址。 (3)多维数组作为函数参数,跟 C 相反的是,最后一维的大小可以不写,其他维大小必须 写。这决于 Fortran 中数组元素 column major 的存放方式。 (4)在函数中,如果数组是接收用的参数,则在声明时可以用变量赋值它的大小,甚至可 以不指定小。例如: subroutine Array(num,size) implicit none integer:: size integer num(size) !可以定义一个数组,其大小是通过传递过来的参数决定的。这很实用 …… …… return end (5)save 命令:将函数中的变量值在调用之后保留下来,下次调用此函数时该变量的值就 是上次保的值。只要在定义时加上 save 就行: integer, save :: a=1 (6)传递函数(包括自定义函数、库函数、子程序都是可以的) 。类似于 C 中的函数指针 需要在 主程序和调用函数的函数中都声明作为参数传递的函数。如 real, external :: function !自定义函数 real, intrinsic :: sin !库函数 external sub !子程序

(7)函数使用接口(interface) :一段程序模块。以下情况必需: a.函数返回值为数组 b.指定参数位置来传递参数时 c.所调用的函数参数个数不固定 d.输入指标参数时 e.函数返回值为指针时。 具体用法结合例子容易看懂。例子都很长。看书吧。 4、全局变量 功能就不用说了。 原理: 根据声明时的相对位置关系而取用, 不同与 C 中根据变量名使用。 如果在主程序中定义: integer :: a,b common a,b !就是这样定义全局变量的

在子程序或自定义函数中定义: integer :: c,d common c,d 则 a 和 c 共用相同内存,b 和 d 共用相同内存。 全局变量太多时会很麻烦。 可以把它们人为归类, 只需在定义时在 common 后面加上区间名 。如 common /groupe1/ a, common /group2/ b。这样使用时就不必把所有全局变量 都列出来,再声明 common /groupe1/ c 就可以用 a、c 全局变量了。 可以使用 block data 程序模块。在主程序和函数中不能直接使用前面提到的 data 命令给全 局变量赋初值。可以给它们各自赋初值;如果要使用 data 命令必须要这样: block data [name] implicit none integer a,b,c real d,e

common a b c common /group1/ d,e data a,b,c,d,e /1,2,3,4.0,5.0/ end [block data [name]] 5、Module Module 不是函数。它用于封装程序模块,一般是把具有相关功能的函数及变量封装在一起 。用法很单,但能提供很多方便,使程序变得简洁,比如使用全局变量不必每次都声明一长 串, 写在 odule 里调用就行了。Module 一般写在主程序开始之前。 形式: module module_name …… …… end [module [module_name]] 使用:在主程序或函数中使用时,需要在声明之前先写上一行:use module_name. Module 中有函数时必须在 contains 命令之后(即在某一行写上 contains 然后下 面开始写数, 多所有函数都写在这个 contains 之后) 。 并且 module 中定义过的变量在 module 里的 函数中可直接使用,函数之间也可以直接相互调用,连 module 中的自定义函数在被调用时 也不用 先声明。 6、include 放在需要的任何地方,插入另外的文件(必须在同一目录下)。如: include 'funcion.f90'

八、文件 1、文本文件 Fortran 里有两种读取文件的方式,对应于两种文件 顺序读取:用于文本文件 直接读取:用于二进制文件 这里只摘录关于文本文件的读取。一般模式如下。 character(len=20)::filenamein="in.txt", filenameout="out.txt" !文件名 logical alive integer::fileidin=10,fileidout=20 !10,20 是给文件编的号,除 1,2,5,6 的正整数都可,因为 2、6 是默认的输出位置(屏 幕 ) ,1、5 是默认的输入位置(键盘) integer::error

real::in,out !下面这一段用于确认指定名字的文件是否存在 inquire(file=filenamein, exist=alive) !如果存在,alive 赋值为 0 if(.NOT. alive) then write(*,*) trim(filenamein), " doesn't exist."!trim 用于删去 filenamein 中字串 !后面的 stop 多余空格,输出时好看些 end if open([unit=]fileidin, file=filenamein, status="old") open([unit=]fileidout,file=filenameout[,status="new"]) !unit 指定输入/输出的位置。 打开已有文件一定要用 status="old"; 打开新文件用 status="new"; !不指定 status,则默认 status="unknown",覆盖已有文件或打开新文件…… read([unit=]fileidin, [fmt=]100,iostat=error )in !error=0 表示正确读入数据。 100 format(1X,F6.3) !按一定格式输入输出,格式可以另外写并指定行代码,也可以直接写在 read/write 中 write(([unit=]fileidout, "(1X,F6.3)")out close(fileidin) close(fileidout) !1X 代表一个空格。F6.3 代表 real 型数据用占 6 个字符(含小数点) ,其中小数点后三位。 !常用的还有 I3,用于整型数据,共占三个字符;A8,字符型,占 8 个字符。换行用 / 二进制文件的读取有所不同。不再列举。 2、内部文件 另一个很实用的读写功能是内部文件(internal file) 。看看这个例子就明白了。 integer::a=1,b=2 character(len=20)::string write(unit=string,fmt="(I2,'+',I2,'=',I2)")a,b,a+b write(*,*)string 则结果输出 1+2=3。反过来也是可以的: integer a character(len=20)::string="123" read(string,*)a write(*,*)a 则输出 123。 !全文结束


相关文章:
fortran语法
fortran教程 15页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题...3. 格式码,用于倍准度实数的输出入,基本型态为 rDw.d,使用规则与 E 格式...
FORTRAN90程序设计实验指导
Fortran基本用法小结 9页 免费 Fortran90课件 353页 3下载券 Fortran77和90 95...首先,将含 FORTRAN PowerStation 4.0 的光盘插入光盘驱动器,在资源管理器中运行 ...
vi 用法总结(完全版)
:%s/Fortran/\UFortran/ ; :%s/Fortran/\U&/ 一些典型示例: :s/red/blue...vi常用命令总结 4页 免费 vi命令用法实例总结 6页 免费 vim用法总结 4页 免费...
fortran90程序设计chapter13
Fortran基本用法小结 9页 免费 fortran90程序设计chapter... 12页 5财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。...
fortran90程序设计chapter10
Fortran基本用法小结 9页 免费 Fortran77和90 95编程入门... 91页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈...
几种Fortran 编译器简介
Fortran77和90 95编程入... 91页 1下载券 Fortran基本用法小结 9页 免费 Fortran...几种Fortran 编译器 几种 ---...
forturn30个程序
喜欢此文档的还喜欢 Fortran基本用法小结 9页 免费 Fortran77和90 95编程入.....二,源程序 《有格式顺序文件的存取》 PROGRAM exam1004 INTEGER ::A(10),sum...
Fortran导引
Fortran基本用法小结 9页 免费 Fortran讲义 第三章 28页 免费 Intel Visual Fortran 与 ... 7页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或...
ANSYS使用 问答 总结
模拟陶瓷的烧结过程是不是有实际*作的可能性如果有其基本的 2 原理和模型怎样...FORTRAN 编程语言的基础上形成的你只 要会 FORTRAN 语言这就很容易理解 APDL ...
恒星振动理论3
Fortran基本用法小结 9页 免费 高考物理难题分类练习3 15页 免费恒...第三章 恒星振动的基本性质 恒星振动的基本性质 振动 恒星振动波的基本性质可以...
更多相关标签:
fortran common 用法 | fortran中write的用法 | fortran write用法 | fortran type用法 | fortran allocate用法 | fortran external用法 | fortran sum函数用法 | fortran function用法 |