Visual Fortran90 编译器及代码书写格式
FORTRAN90程序设计1[1]
程序设计举例
算法
算法是计算机软件中的一个基本概念,它是对解决实际问题的方法和步
骤的描述。设计算法是程序设计的核心,也是编写程序的基础。
正确的算法有以下几个显著特点:
(1)有穷性(flniteness)。 (2)确定性(certainty)。 (3)有效性(effcctivencss)。 (4)有零个或多个输入(input)。 (5)有一个或多个输出(output)。
简单的FORTRAN90程序分析
(6)空格并不是随处都可以使用的,一个像关键字、变量和常量名以 及操作符等的字符,其内部是不能使用空格的,空格会使字符失去其原 有的含义。 (7)FORTRAN90的注释语句是以感叹号为标志的,一行中感叹号后的 所有字符都被编译器作为注释语句而忽略。注释语句可以单独占一行, 也可在程序的其他语句后面出现。在FORTRAN90中,空行被作为注释 语句。 (8)如果遇到一条语句的长度超过了FORTRAN90所允许的行最大长度, 需要写成几行,FORTRAN90提供了一个续行符 ( & ) ,通过在语句末尾 添加续行符,编译器就会把下一行作为续行来处理。如果是把一个如关 键字这样的字符分成两行,那么需要在下行语句的开头再加一个续行符。
CHARACTER ( LEN = 10 ) :: STRING 子字符串是字符串中的若干个连续字符的集合。子字符
CHARACTER (LEN = 5 ) :: SUBSTRING 串的表示方法如下: CHARACTER (LEN = 1 ) :: CHAR STRING=’JANEJORDE’ 字符串变量名([FIRST-POSITION] : [END-POSITION]) ! SUBSTRING的值为“JANE” SUBSTRING=STRING ( :5 ) 缺省的开始位置是1,缺省的结束位置是字符串的长度。 SUBSTRING=STRING ( 5:6 ) ! SUBSTRING的值为“J” 如果开始位置大于结束位置则子字符串为空,即它的长 SUBSTRING=STRING ( 3:7 ) ! SUBSTRING的值为“NEJO” N=7 度为0。 CHAR=’ABCDEFGHIJK’ ( N:N ) ! CHAR的值为“G”
Fortran90编程
字。以关键词end type结束。
派生类型的声明和使用
n 声明: n 赋值: n 引用结构成员:
例一:派生数据类型
模块(Module)
n 是一种不能直接执行的程序单元,但可以包含
数据声明和过程
n
使不同的过程实现过程和数据的共享 n 可以实现对自定义数据类型的封装
n 相对于program,function,subroutine,是一种特
例三:数据类型的范围
定义符号常量
n 符号常量在程序中不可以改变其值 n 定义符号常量可以增强程序的可读性和可维护
性 n 定义方法:加上parameter属性
real (8) ,parameter :: pi=3.1415926535_8
例四:定义符号常量
三、控制结构
n if语句:if then elseif else endif
n
在Compaq Visual Fortran中调用 CXML
n 第一种方法:在工程中加入cxml.lib
n 第二种方法:使用include
PROGRAM example INCLUDE 'CXML_INCLUDE.F90’
在Compaq Visual Fortran中调用 Intel MKL
n 添加库函数路径 n 在工程中加入mkl_s.lib
总结:Fortran90的新特性
n n n n n n n n
高级的表达能力:数组运算 (例如, X(1:N)=R(1:N)*COS(A(1:N))) 动态存储分配 (ALLOCATE, DEALLOCATE, ...) 导出类型(derived types)与操作符重载(operator overloading) 更好的变量声明方式(parameterized types),提高移植性 模块 更多的现代控制结构 (SELECT CASE,END SELECT,DO, END DO,EXIT...) 更多的内部函数 (date, precision, arrays, ...) 新的源程序书写格式-自由格式(free format) 指针
Fortran90学习指导
FORTRAN90学习指导一、FORTRAN90基础知识1.源程序及其构成书写格式:主程序定义语句、结束语句注意:在没有程序名称的时候,程序开头的PROGRAM也不要出现。
如果使用了程序名称且在END语句中出现,则END语句中的PROGRAM不能省略。
语句行可以是0~132个字符;除赋值语句外,每个语句都要使用关键字开头。
如果希望一行中出现多个语句,语句一定要用分号隔开。
空格不能随便使用,关键字、变量和常量名以及操作符中的空格会使字符失去其原有的含义。
但它们之间一定要加空格。
注释行:以感叹号为标记,或“C”、“*”(FORTRAN90中不提倡此用法)续行标记:在句末尾添加续行符&,如果将关键字分成两行,则下一行开头也要加续行标记。
如果续行符出现在注释语句中,则失去了续行的功能。
2.FORTRAN90字符集126个英文字母(大小写字母等价)210个阿拉伯数字3下划线421个特殊字符:空格= + - * / (),. ‘ :!“% & ;< > ? $5其他字符(只可以出现在字符常量、字符串编辑描述符、注释和输入输出记录中)3.基本数据类型1 整型KIND值可以为1、2、4类型说明关键字:INTEGERKIND值决定数据的范围。
对于整数没有误差。
I=3/2=1;I=1/2=0INTEGER(KIND=4)::AINTEGER*4::AINTEGER(4)::A2 实型KIND值可以为4(单精度7位有效数字)、8(双精度15~17位有效数字)类型说明关键字:REAL小数表示形式、指数表示形式(规格化的指数形式)错误表示形式:E34、.E34、0.14E2.38开3次方:8.0**(1.0/3.0)3 复型KIND值为4、8是实数的有序对,将两个实数中间用逗号分隔,然后放在一对括号中类型说明关键字:COMPLEX复数的运算:+、—、*、/4 字符型KIND值为国家语言种类由一对单撇号或一对双撇号之间的字符序列组成。
FORTRAN90指导
FORTRAN90学习指导一、FORTRAN90基础知识1.源程序及其构成书写格式:主程序定义语句、结束语句注意:在没有程序名称的时候,程序开头的PROGRAM也不要出现。
如果使用了程序名称且在END语句中出现,则END语句中的PROGRAM不能省略。
语句行可以是0~132个字符;除赋值语句外,每个语句都要使用关键字开头。
如果希望一行中出现多个语句,语句一定要用分号隔开。
空格不能随便使用,关键字、变量和常量名以及操作符中的空格会使字符失去其原有的含义。
但它们之间一定要加空格。
注释行:以感叹号为标记,或“C”、“*”(FORTRAN90中不提倡此用法)续行标记:在句末尾添加续行符&,如果将关键字分成两行,则下一行开头也要加续行标记。
如果续行符出现在注释语句中,则失去了续行的功能。
2.FORTRAN90字符集126个英文字母(大小写字母等价)210个阿拉伯数字3下划线421个特殊字符:空格= + - * / (), . ‘: !“% & ;< > ? $5其他字符(只可以出现在字符常量、字符串编辑描述符、注释和输入输出记录中)3.基本数据类型1 整型KIND值可以为1、2、4类型说明关键字:INTEGERKIND值决定数据的范围。
对于整数没有误差。
I=3/2=1;I=1/2=0INTEGER(KIND=4)::AINTEGER*4::AINTEGER(4)::A2 实型KIND值可以为4(单精度7位有效数字)、8(双精度15~17位有效数字)类型说明关键字:REAL小数表示形式、指数表示形式(规格化的指数形式)错误表示形式:E34、.E34、0.14E2.38开3次方:8.0**(1.0/3.0)3 复型KIND值为4、8是实数的有序对,将两个实数中间用逗号分隔,然后放在一对括号中类型说明关键字:COMPLEX复数的运算:+、—、*、/4 字符型KIND值为国家语言种类由一对单撇号或一对双撇号之间的字符序列组成。
Fortran自由格式和固定格式
1)Free Format(自由格式)扩展名.F901行:一行为132列。
可以有复数条程序语句,语句间用分号“;”分开。
语句没有位置规定。
一行可以是0~132个字符,空格有意义语句最长不超过2640个字符最多可有511个续行2注释行:起始用注释符“!”号,此行其后的所有字符均作为注释(字符串中的!号除外,如print *,’help!!!!’)。
3续行:当一个语句非常长以至于132列都书写不下时,允许有39个续行。
在语句行最后加上续行符“&”号。
如果字符串跨2行以上,则在续行的开始位置也要加&号。
注意语句的有效字符是从“&”前和续行符“&”之后的位置算起。
(一行程序代码的最后如果是符号&,代表下一行程序会和这一行连接。
如果一行程序代码的开头是符号&,代表它会和上一行程序连接。
如果把Fortran的关键字分为两行书写,则两行都要加续行符号。
)4空格:在语句名和变量名中间不能有空格。
需要空格的地方必须有一个以上空格(GOTO 和GO TO,ELSEIF和ELSE IF,END构造名(构造名有:DO, PROGRAM, FUNCTION, MODULE, SUBROUTINE)等有两种写法的除外),如关系运算符==,<= 不能写成= =,< =。
这与F77有很大不同之处,因为F77的设计中将编译源程序的空格忽略。
(二)Fixed Format(固定格式)扩展名:.F 或.FOR1标号区:第l—5列可以写l至5位整数。
也可以没有标号。
标号区中的空格不起作用。
如lOO与100 或1 0 0作用相同。
标号应是无符号整数(无正负号或小数点)。
标号大小顺序没有任何要求。
假如第二行的标号为1000,第三行的标号可以是10,也可以是99999。
标号区内不得出现标号以外的内容,但注释行例外。
注释行的内容可以写在标号区内,一行中第一列为C或*的,该行即被认为注释行,编译时对该行内容不作翻译,对程序运行不产生任何影响。
FORTRAN90复习
第三章 FORTRAN 90 基础知识基本知识,如:字符集、名称、关键字、程序单元、书写格式、数据类型。
名称:①名称只能由英文字母、数字、下划线符“_”和美元符号“$”组成。
②名称第一个字符必须是英文字母。
③名称不能超过31个字符。
合法名称: Number,Max, PrOgRaM, FIND_IT, read, x, a3b7, china, total, x$y$z 。
非法名称:X-Y-Z, 8q, a.5, _wrong,U.S.A., DR.WANG,$abcd,r a t e 。
书写格式:自由格式,固定格式3个通用标志符:注释标志符“!”、语句分隔标志符“;”和续行标志符“&”。
数据类型第四章 内部数据类型与表控输入输出常量和变量:语法描述; 精度(kind 值)和取值范围整型。
实型。
复型。
字符型。
CH(1:5)是什么?逻辑型。
变量的申明(几种声明方式,谁优先)。
表达式 (会写正确的表达式,表达式计算结果)如:e算术表达式:算术运算符的优先级和结合规则;操作数的类型转换不同优先级运算符,“先高后低”结合先乘方、后乘除、再加减,括号最优先相同优先级运算符,“从左向右”结合,如9-4+12/3*2**3 = ?乘方算符,“从右向左”结合,如2**3**2 = ?尽量多地使用( ),以使意义明确,避免出现歧义和产生错误转换规则“由低级向高级转换”①数据类型和KIND相同的两个算术操作数,计算时不转换,运算结果的类型和KIND与原数据相同。
②数据类型相同但KIND值不同的两个算术操作数,计算时,将KIND值低的操作数转换为高KIND值,运算结果为高KIND值的原类型。
③数据类型不同的两个算术操作数,将低级别类型的操作数高级别类型,运算结果的类型及KIND值与高级别类型操作数相同。
字符表达式字符串连接操作符//“I” // ‘ ‘ // “Love” // ‘ ‘ // “Fortran 90” I Love Fortran 90逻辑变量逻辑与逻辑或逻辑非逻辑等于逻辑不等逻辑异或X Y X.AND.Y X.OR.Y.NOT.X X.EQV.Y X.NEQV.Y X.XOR.Y T T T T F T F FT F F T F F T TF T F T T F T TF F F F T T F F逻辑运算的优先级:.NOT. →.AND.→.OR.→.EQV.、.NEQV.、.XOR、相同优先级时,运算按从左到右的顺序进行(“左结合”)(3>5).and.(4>1))的计算结果是什么?赋值语句 (能写出正确的赋值语句)第五章数据的有格式输入输出I编辑符F编辑符E编辑符D编辑符A编辑符READ(*,*)a,bWRITE(*,*)a,bWRITE(1,"(1X,I5)")WRITE(1,100)100 FORMAT(1X,I5)Open(10, FILE=“FILE1.txt” ,STATUS=“new”)WRITE( * , '(1X, A, "=", I2)') '2+3', 2+3第六章选择结构程序设计逻辑IF语句块IF语句多支块IF语句会写多支块IF程序,块CASE语句第七章循环结构程序设计EXIT语句的功能是:在循环体执行过程中强制性终止整个循环语句的执行,转循环语句后的第一条语句执行。
fortran90简易教学教程
real(8):: x
double precision x
绝对值在 2.22e-308 和 1.79e+308 之间,还包括 0,有效位 15 位
complex :: x character(5) :: z=’abcde’
complex x chracter*5 z
logical :: x
logical x
(逻辑型,.true. 或 .false.)主要不要漏写.
注意以下几点 1.Integer(1)、integer(2)赋值溢出,编译器不报错 比如 Integer(1):: x
x=128 write (*,*)x 输出:-128
而 integer、real、double precision 都可以判断溢出
优化,一般来说,fortran 的程序比 c 程序的执行效率要高一些。当然目前的 fortran90 已 经提供了指针,我认为主要的作用是实现一些数据结构。 4. 变量采用的是静态存储变量,在调用子过程或函数时,参数传递通过引用方式传递,节 省了复制变量的时间
二、书写风格
fortran 的老版本是 fortran77,教材上面的程序就是 f77 格式,而新版本是 fortran90,是 f77 的一个超集,这两种标准我都讲一讲,主要是因为我们既要看得懂老程序,同时自己写 程序时最好还是按新标准去写。
end
2.数组作为形参可以进行局部传递 program main
implicit none integer,dimension(50) ::IA integer :: lbound=10 call input(IA(lbound)) end
subroutine(X) implict none integer,dimension(20) :: X X=1 Write (*,*) x
(最新整理)FORTRAN90第四章格式输入输出
WRITE(*,’(1X,I4)’)I,则输出结果为2345
2021/7/2W6 RITE(*,’(I4)’)I,则输出结果为345
13
定位编辑符:控制输入输出位置,称制表位。Tn 移动到第n列;TLn向左移动n列;TRn向右移动n列。 很显然,后两种移动是相对于当前位置的。例 如:READ(*,’(I4,TL3,I4)’)I, J
(最新整理)FORTRAN90第四章格式输入输出
2021/7/26
1
§4 格式输入输出
格式化输出/输入的具体格式由“格式说 明”规定。
格式说明是由各种格式编辑符组成的字符 串。编辑符之间用逗号(,)分隔。
例:3X,I5,F8.3,L2,A
一个数据所占列数叫“字段宽度”,用w表 示。负数的符号也包含在字段宽度之内。
当 输 入 数 据 为 12345678 时 , 执 行 该 语 句 后 I=1234,J=2345
/编辑符表示:结束本记录的输入输出并开 始下一个记录的输入输出。例如:
WRITE(*,’(1X,I3/1X,I4)’)I,J
当I=123,J=4567时,输出为
123
2021/7/26
14
4567
如果格式说明中有连续的相同的编辑符,可 以用重复系数“合并同类项”。 例 :FORMAT(1X,F8.3,F8.3,F8.3,F8.3) 等 价 于 FORMAT(1X,4F8.3)
•纵向走纸控制符.FORTRAN规定,输出记录的第
一个字符作纵向走纸控制符,不输出.实际输出从
输20出21/7/记26 录的第二个字符开始.
12
第一个字符 纵向走纸控制
空格 0 1 +
其它字符
FORTRAN90程序设计教程 第1章 FORTRAN程序设计基础
例1.1 求
其中
2
x y u x y
2
a b x 2 2 a b
ab ab
a b a b y 4 a b
ab ab
这一题的算法并不难,可写成: (1)从键盘输入a、b的值。 ab x a b ,y (2)如果a<b,则 ab , 4 x a b , y 否则 。 ab (3)计算u的值。 (4)输出u的值。
3. N-S图
由于传统流程图的缺点,1973年美国学者 I.Nassi和B.Shneiderman提出了一种新的流程图工 具─N-S图。N-S图以三种基本结构作为构成算法 的基本元素,每一种基本结构用一个矩形框来表 示,而且取消了流程线,各基本结构之间保持顺 序执行关系。N-S图可以保证程序具有良好的结 构,所以N-S图又叫做结构化流程图。
例1.3的算法:
(1)输入m和n的值。 (2)求m除以n的余数r。 (3) 若r=0 ,则转至第 (6) 步,否则执行第 (4) 步。 (4)n→m,r→n。 (5)转第(2)步。 (6)输出n。
算法的五个特征:
(1) 有穷性。算法中执行的步骤总是有限次数的, 不能无止境地执行下去。 (2) 确定性。算法中的每一步操作必须具有确切 的含义,不能有二义性。 (3) 有效性。算法中的每一步操作必须是可执行 的。 (4) 要有数据输入。算法中操作的对象是数据, 因此应提供有关数据。 (5) 要有结果输出。算法的目的是用来解决一个 给定的问题,因此应提供输出结果,否则算法 就2没有实际意义。
1.2.2 算法的描述
算法的描述有许多方法,常用的有:自 然语言、一般流程图、N-S图等。前面例 1.1~例1.3的算法是用自然语言──汉语描述 的,其优点是通俗易懂,但它不太直观, 描述不够简洁,且容易产生二义性。在实 际应用中常用流程图表示算法。
Visual Fortran90 编译器及代码书写格式
空行为注释行(固定格式用C和*)
说明语句:用于说明变量的类型、属性等 可执行语句: 输入、赋值、输出……
语句有位置规定:
说明语句必须出现在可执行语句之前,格式说明语句
(FORMAT语句)除外。
标志符小结
注释标志符:
自由格式:!
固定格式:C *
语句分隔符:分号;(仅自由格式可以使用) 续行符: 申明标号: 自由格式:& 1到5位无符号整数
书写格式
!Free Format
program main write(*,*)”Hello” !这也是注释
write(*,*)&
”Hello” 6: 7: end 如果把Fortran的关键字分为两行书写,则两行都要 加续行符号。如6、7行。 wri& &te(*,*)”Hello”
书写格式
行的书写(行的长度、分行、续行)
会自动形成*.f90的文件。
4、注意:文件名以及文件夹名一律使用西文字符。
5、Build—Compile:编译
Build—Build:连接
Build—Exetuce:运行 或单击工具栏相应按钮。 注意:
a、保存文件时将自动创建同名的project 文件,形成*.dsp文件;
b、同时还将自动创建同名的workspace,形成*.opt和*.dsw 文件;
空格:关键字、变量、常量内部不能用空格,但相 邻两者之间须用空格
程序设计练习
问题一:输入两个整数,对其进行
交换,将交换后结果从屏幕上输出。
问题二:输入三个整数,对其进行
从小到大排序,将排序结果从屏幕上 输出。
程序设计练习
问题三:输入任意两个整数M和N,
判断M能否被N整除。
Visual Fortran90 编译器及代码书写格式
左边:项目工作区窗口 右边:可用于编辑文件和阅读文档的主工作区 下端:输出窗口和状态栏
Developer Studio解题过程
分析问题,设计算法,绘制框图,编写程序。 创建有关工作空间、项目(已建,可省略)。 创建并输入源程序,创建其它辅助文档。 编译源程序。 构建、连接生成目标程序(可执行程序)。 运行目标程序。 调试程序
Visual Fortran 90 程序设计
编译器简介 代码书写格式
编译器简介
作用:把高级语言翻译成机器码,也就是常常可以 看到扩展名为EXE、COM的文件。 相同的程序代码可用不同厂商的编译器来编译, 所生成的文件也不会完全相同。编译器的好坏主要 取决于编译结果。
一、启动和退出Fortran PowerStation
空行为注释行(固定格式用C和*)
说明语句:用于说明变量的类型、属性等 可执行语句: 输入、赋值、输出……
语句有位置规定:
说明语句必须出现在可执行语句之前,格式说明语句
(FORMAT语句)除外。
标志符小结
注释标志符:
自由格式:!
固定格式:C *
语句分隔符:分号;(仅自由格式可以使用) 续行符: 申明标号: 自由格式:& 1到5位无符号整数
书写格式
!Free Format
program main write(*,*)”Hello” !这也是注释
write(*,*)&
”Hello” 6: 7: end 如果把Fortran的关键字分为两行书写,则两行都要 加续行符号。如6、7行。 wri& &te(*,*)”Hello”
书写格式
FORTRAN90用法总结
SUBROUTINE SETUP(L)
TYPE(LIST)L
NULLIFY(L%END)
END SUBROUTINE SETUP
10、指针
1>定义指针
类型说明,POINTER::指针变量名...
类型说明,TARGET::目标变量名...
P=>A
2>动态变量
例:INTEGER,POINTER::P
INTEGER S
ALLOCATE(P)
P=4
S=P
DEALLOCATE(P)
PRINT *,S
END
3>指针数组变量定义
类型说明,DIMENSION(:...:),POINTER::指针变量名
END TYPE派生类名称
2>类型定义
TYPE(派生类名称)::结构体
②结构体名.成员名
4>定义的同时赋值
TYPE(派生数据类型名)::结构体变量名=派生数据类型名(成员初值表)
5>结构体数组
TYPE(派生数据类型名),DIMENSION(维说明符)::结构体数组名
[类型],ALLOCATABLE::数组名(:[,:]...)...
②申请
ALLOCATE(数组名(维说明))
③释放
DEALLOCATE(数组名)
8、子程序
1>子程序
CONTAINS(内部子程序的标志(外部EXTERNAL))
[类型说明] FUNCTION函数名(虚参表)
函数体
END
2>子例行程序
SUBROUTINE子例行程序名(虚参表)
标号 FORMAT(格式说明)
3>其他编辑符
chapter3-FORTRAN90基础知识
第三章 FORTRAN 90 基础知识FORTRAN 90是一种内容丰富、功能强大、特色鲜明的高级程序设计语言。
本章将介绍FORTRAN 90的一些基本知识,如:字符集、名称、关键字、程序单元、书写格式、数据类型和兼容性等,为进一步学习其它内容奠定基础。
3.1 字符集FORTRAN 90源程序是一个符合FORTRAN 90词法、语法和语义规定的特殊文本,它由FORTRAN 90字符集规定的字符按照词法、语法和语义规定进行描述。
FORTRAN 90字符集由下面四部分字符组成:1.英文字母大写字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 。
小写字母:a b c d e f g h I j k l m n o p q r s t u v w x y z 。
2.阿拉伯数字数字字符:0 1 2 3 4 5 6 7 8 9。
3.下划线下划线字符:_。
4.特殊字符特殊字符:空格 <Tab> + - * / ( ) , . ' : ! " % & ; < > ? $。
Digital Visual FORTRAN 5.0字符集增加了一些可打印字符,包括十六进制ASCII码为09h(Tab符)、20h至7Eh之间的字符和某些特殊字符集(如:IBM字符集)中字符。
说明:①除字符型常量和Hollerith常量外,源程序中词法和语法描述不区分字母的大小写,如语句“INTEGER I”和语句“integer i”是等价的。
②FORTRAN 90字符集以外的可打印字符,只能出现在注释、字符常量、Hollerith常量、字符串编辑符和输入输出记录中。
③字符:_ ! " % & ; > < ?为FORTRAN 90新增字符。
3.2 名称名称在FORTRAN 77中称“符号名”,在其它语言中称“标识符”。
FORTRAN90第6章1
real::a,f
READ*,a
print *,f(a) END
例6-3求出20-50间的素数,调用函数实现
6.2.3函数子程序应用举例:
例6-3、编写判断素数的函数子程序,调用它实现例 5-11的功能:求出20~50之间的全部素数。 FUNCTION PRIME(M) RESULT(PRIME_RESULT) IMPLICIT NONE INTEGER::M,I,PRIME_RESULT DO I=2,M/2 IF(MOD(M,I)==0) EXIT ENDDO IF(I>M/2) THEN PRIME_RESULT=1 ELSE PRIME_RESULT=0 ENDIF END FUNCTION PRIME
FUNCTION PRIME(M) RESULT(PRIME_RESULT) IMPLICIT NONE 说明结果 为逻辑类 INTEGER::M,I 型 LOGICAL::PRIME_RESULT
先假定是 PRIME_RESULT=.TRUE. 素数 DO I=2,sqrt(real(m)) IF(MOD(M,I)==0) PRIME_RESULT=.FALSE. ENDDO END FUNCTION PRIME
用一个主程序求1!+2!+3!+4!则代码为:
PROGRAM MAIN INTEGER::FACT=1,SUM=0,I,N N=4 DO I=1,N 计算I! FACT=FACT*I 累加I! SUM=SUM+FACT ENDDO 所有功能都在主 PRINT*,SUM 程序单位内完成 END
例:编写求N!的函数子程序。
表示函 数开始
函数名字 N是虚元
表示函 数结果
存放函数结 果的变量
fortran90整型定义初始化
fortran90整型定义初始化摘要:1.Fortran90 简介2.Fortran90 整型定义3.Fortran90 整型初始化4.示例代码正文:1.Fortran90 简介Fortran90 是一种高级编程语言,主要用于数值计算和科学计算。
它是Fortran 语言的一个版本,于1990 年发布。
Fortran90 具有丰富的数学函数库和强大的数据处理能力,广泛应用于工程、科学和研究领域。
2.Fortran90 整型定义在Fortran90 中,整型是一种数据类型,用于表示整数。
整型数据类型的名称为integer,它可以是正数、负数或零。
Fortran90 中整型的大小为默认为整数位数,可以根据需要进行调整。
3.Fortran90 整型初始化在Fortran90 中,可以通过以下方式对整型变量进行初始化:(1)直接赋值:在声明变量后,通过等号=赋值。
例如:```integer :: a = 10```(2)使用赋值语句:通过使用赋值语句进行初始化。
例如:```integer :: bb = 20```(3)使用子程序或函数:通过调用子程序或函数进行初始化。
例如:```integer :: cc = init_value(10)```其中,init_value 为子程序或函数,用于初始化c 的值。
4.示例代码下面是一个简单的Fortran90 程序,演示了整型的定义和初始化:```fortranprogram mainimplicit noneinteger :: a, b, sum! 定义整型变量a 和binteger :: a = 10integer :: b = 20! 计算a 和b 的和sum = a + b! 输出结果print *, "The sum of a and b is:", sumend program main```以上就是Fortran90 整型定义和初始化的相关内容。
fortran90数据文件的操作上机
0.85, 6.75; 1.62, 7.88; 3.27, 4.44; 4.44, 7.89; 5.28, 9.87; 6.11, 8.46; 7.80,21.50 【要求】 1.源程序必须放在文件MYF2.F90文件中。 2.建立数据文件MYF2.DAT,所需输入数据即从该文件中读出 3.程序运行结果存于文件MYF2.OUT中 4.数据文件的打开、使用、关闭均要求采用FORTRAN语言文 件管理语句实现 【注意】本题完成后必须将MYF2.F90、MYF2.DAT、MYF2.OUT等文件拷贝到考
tg ( x )
8x ( 2 n 1)
2 2
n0
4x
2
将上式右端编写成外部过程。当级数通项的绝对值小于 eps=1E-10时停止计算。在同一行上,x用F6.3,级数之和 及用于验证的内部函数TAN(X)用F10.5格式输出。用于计算 的数据存放在文件MYF2.DAT中,从该文件输入的x的值为: 0.358 0.593 -0.665 0.785 0.993 -1.012 1.109 【要求】 1.源程序必须放在文件MYF2.F90文件中。 2.建立数据文件MYF2.DAT,所需输入数据即从该文件中读出 3.程序运行结果存于文件MYF2.OUT中 4.数据文件的打开、使用、关闭均要求采用FORTRAN语言文 件管理语句实现 【注意】本题完成后必须将MYF2.F90、MYF2.DAT、 MYF2.OUT、MYF2.EXE等文件拷贝到考试盘的根目录下供 阅卷用。
试盘(盘符为T:)的根目录下供阅卷用。
功能:解除文件号与文件的连接关系。 写法:CLOSE(关闭信息表) 关闭信息表主要有下列说明符: UNIT=ut IOSTAT=it 为可选项
STATUS=ss。指定文件关闭后是否保留。为可选项,SS 可为KEEP或DELETE,默认除SCRATCH全部保留。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
或双击桌面快捷方式图标
退出:窗口菜单上关闭按钮
联机帮助:F1键可得上下文帮助
二、Developer Studio用户界面
c、编译连接后自动形成Debug目录,该目录中存放编译连接后 文件。如:*.obj,*.lnk,*.exe等
关于工作空间与项目的说明
用户在开发软件过程中会创建和产生大量的源程序 文件、资源文件和其它类型辅助文件(需求分析、 规格说明书、流程图、开发计划等),这些文件相互 关联,合理地组织这些文件是软件开发的一项重要 工作,Windows中的“我的电脑”资源管理器就是合 理组织文件的有效工具。 Developer Studio中的工作空间和项目功能类似 “我的电脑”资源管理器功能。通过工作空间和项 目来合理地组织文件。
关于工作空间与项目的说明
工作空间:项目集合。一个工作空间创建一个文
件夹,且文件夹内包含若干项目(子文件夹)和二
个管理这些项目的数据库文件(.opt,.dsw)。
项目:与软件有关的源程序文件、资源文件、辅 助文件的集合。一个项目也创建一个文件夹,且 文件夹内包含源程序文件(.f90)、资源文件、辅 助文件、可执行文件、项目管理文件(.dsp)。
逻辑错误
结果有错
2、处理方法:
1* 编译连接错误:output窗口中双击错误 信息(高亮度显示)指针指向编辑窗口源程 序中包含错误的相应的行。 2*光标放在output窗口内,按F4切换到下 一个错误shift+F4切换到上一个错误
注意: 连接错误不是出现在具体的某一行上。
Fortran程序代码的编写格式
3)下次要修改程序时,可直接使用菜单 File/Open Workspace来打开*.dsw的工 程文件。或双击*.dsw文件
如若进行第二个源程序的编辑,可采用如下两种方法: 1、关闭Fortran PowerStation 5.0后再重新打开,重 复上述步骤; 2、不关闭系统,单击File-Close Workspace结束上一 个项目,再单击File-New新建文件,重复上述步骤。
工作空间、项目、文件之关系
用 户 工作空间1 工作空间2 工作空间3 工作空间4 工作空间5
项目31
项目32
项目33
项目34
项目35
源程序331
资源文件332
其它文件333
注意:1)一个项目中只能含有1个主程序文件, 不能将两个独立的程序文件放入同一个项目中, 否则会导致编译错误。
2)可用DEL移去已建立的文件。 所移去的文件仅从此项目中移去, 目录下该文 件仍 然存在。
1、界面组成:菜单、工具栏——上端
左边:项目工作区窗口 右边:可用于编辑文件和阅读文档的主工作区 下端:输出窗口和状态栏
Developer Studio解题过程
分析问题,设计算法,绘制框图,编写程序。 创建有关工作空间、项目(已建,可省略)。 创建并输入源程序,创建其它辅助文档。 编译源程序。 构建、连接生成目标程序(可执行程序)。 运行目标程序。 调试程序
四、程序运行环境
操作系统(windows95以上)
Visual Fortran 5.0/6.0(Fortran PowerStation 4.0) 要了解:编辑程序、编译程序和连接装配程序的功能
五、基本编辑和输入(同word)
1、插入、改写状态;
2、文本块的使用、选择(先选择再使用); 3、语法着色:绿色:注释文本;
会自动形成*.f90的文件。
4、注意:文件名以及文件夹名一律使用西文字符。
5、Build—Compile:编译
Build—Build:连接
Build—Exetuce:运行 或单击工具栏相应按钮。 注意:
a、保存文件时将自动创பைடு நூலகம்同名的project 文件,形成*.dsp文件;
b、同时还将自动创建同名的workspace,形成*.opt和*.dsw 文件;
有两种:
• Free Format(自由格式)
扩展名:.F90
建议所有程序全部改用自由格式来编程
•Fixed Format(固定格式)本教材不采用
扩展名:.F或.FOR
Free Format(自由格式)
基本上允许非常自由的编写格式,但要注意: 1.!感叹号后面的文本都是注释。 2.每行可以编写132个字符。 3.行号放在每行程序的最前面。 4.一行程序代码的最后如果是符号&,代表下一行程序会 和这一行连接。如果一行程序代码的开头是符号&,代 表它会和上一行程序连接。 5.程序命令之间的空格,无意义。
和与偶数和。
蓝色:关键字;
黑色:代码。
六、出错信息及处理方法
1、出错信息:在output窗口内显示 例:一般错误 严重错误 警告 运行错误 warning FOR4227:……
Floating point division by zero
error FOR3592:missing END IF Statement
空行为注释行(固定格式用C和*)
说明语句:用于说明变量的类型、属性等 可执行语句: 输入、赋值、输出……
语句有位置规定:
说明语句必须出现在可执行语句之前,格式说明语句
(FORMAT语句)除外。
标志符小结
注释标志符:
自由格式:!
固定格式:C *
语句分隔符:分号;(仅自由格式可以使用) 续行符: 申明标号: 自由格式:& 1到5位无符号整数
一行可以是0~132个字符,空格有意义, 语句最长不超过2640个字符
一行可以有多个语句,用“;”分隔
一个语句可分行写,读行标记为&(放在尾部),但如为 关键字,首尾均加&。 最多可有511个续行。 例 pro&
&gram main
语句的分类
注释语句:!后的所有字符都被编译器忽略 可独占一行,可在其它语句之后,
书写格式
!Free Format
program main write(*,*)”Hello” !这也是注释
write(*,*)&
”Hello” 6: 7: end 如果把Fortran的关键字分为两行书写,则两行都要 加续行符号。如6、7行。 wri& &te(*,*)”Hello”
书写格式
行的书写(行的长度、分行、续行)
空格:关键字、变量、常量内部不能用空格,但相 邻两者之间须用空格
程序设计练习
问题一:输入两个整数,对其进行
交换,将交换后结果从屏幕上输出。
问题二:输入三个整数,对其进行
从小到大排序,将排序结果从屏幕上 输出。
程序设计练习
问题三:输入任意两个整数M和N,
判断M能否被N整除。
问题四:分别求出100以内的奇数
三、开发自己的简单应用程序
1、运行Fortran PowerStation 5.0(Visual Fortran 5.0)
2、File-New-File标签:
选择:Fortran free Format…(自由格式).F90
或Fortran Fixed Format…(固定格式 ).For 单击[OK]按钮进入编辑界面。 3、代码编辑完后,按【保存】按钮选择文件夹保存文件。
Visual Fortran 90 程序设计
编译器简介 代码书写格式
编译器简介
作用:把高级语言翻译成机器码,也就是常常可以 看到扩展名为EXE、COM的文件。 相同的程序代码可用不同厂商的编译器来编译, 所生成的文件也不会完全相同。编译器的好坏主要 取决于编译结果。
一、启动和退出Fortran PowerStation