FORTRAN知识点总结

合集下载

Fortran程序总结

Fortran程序总结

1.行的书写(行的长度、分行、续行)一行可以是0~132个字符,空格有意义,语句最长不超过2640个字符一行可以有多个语句,用“;”分隔一个语句可分行写,读行标记为&(放在尾部),但如为关键字,首尾均加&。

最多可有511个续行。

2.说明语句必须出现在可执行语句之前,格式说明语句(FORMAT语句)除外。

3.注释标志符:自由格式:!固定格式:C *语句分隔符:分号;(仅自由格式可以使用)续行符:自由格式:&申明标号:1到5位无符号整数空格:关键字、变量、常量内部不能用空格,但相邻两者之间须用空格4.信息处理的分类:数值处理和信息处理现代计算机工作原理:程序存储和程序控制(冯·诺依曼)1、运算器——算术运算、逻辑运算2、控制器——根据指令控制计算机工作运算器、控制器和寄存器称为中央处理器CPU3、I/O设备——提供数据传输服务4、总线——数据传输的公共通道1.机器语言:二进制代码形式,可以被计算机直接执行,不可移植2.汇编语言:用助记符来代替机器指令,容易记忆,不可移植3.高级语言:接近自然语言(英语)的程序设计语言,又称算法语言,易学、易用、易维护,可移植性好例:FORTRAN、BASIC、PASCAL、C、LISP、PROLOG等5.FORTRAN90程序是一种分块结构,由若干个程序单元块组成:主程序、外部子程序、模块、块数据单元无论是主程序单元,还是子程序单元,都是独立的程序单位,应该独立编写,它们的形式相似。

非语句行:注释语句:!后的所有字符都被编译器忽略。

可独占一行,也可在其它语句之后,空行为注释行(固定格式用C和*)6.常量的定义:常量是程序执行过程中不能变化的量。

基本数据类型有五种:整型、实型、复型、字符型和逻辑型前三种属于数值类型,后两种为非数值类型,主要用于文字处理和控制。

FORTRAN 90通过KIND值确定整数的存储开销、最大位数和取值范围,如表所示。

Fortran-第一讲--第一章

Fortran-第一讲--第一章

1.3.1 声明部分


声明由不可执行语句组成 位于程序开头 定义程序名和程序引用的数据以及变量类型
PROGRAM语句用来指定程序的名字 程序名最长可达31个字符 由字母、数字和下划线任意组合而成 第一个字符必须是字母 如果存在PROGRAM语句,它必须是程序的第一个语句行 例:下列程序名是否有效,如无效则说明原因 new_program 3rd
无效的实数表示: -12.0E1.5

下列各组数在计算机里表示的值是否一样 4650. 4.65E+3 -12.71 -1.27E1 0.0001 1.0E4 3.14159E0 314.159E-3
1.5.3 字符类型



字符类型由字符串组成 字符常数是由单引号或双引号括住的字符串 在单引号或双引号之间括起来的部分称为字符文本, 字符文本可以采用任意计算机可以表示的字符,而 不受Fortran字符集限制 如果字符文本中含有单引号该怎么办?

这一转换仅仅是指参与操作的两个操作数类型 分别为实数和整数而言
表达式
1 2 3 1+1/4 1.0+1/4 1+1.0/4
结果
1 1.0 1.25
因为混合运算的情况是如此复杂,所以我们在程序中要尽量避免这种情 况发生
练习
下面的程序段的三个赋值语句是否正确,正 确写结果,错误说明原因 INTEGER :: i,j INTEGER, PARAMETER :: K=4 i = K **2 j = i/K K=i+j
简单地说:学完本章,你应该可以编写除函数以外的简单程序
1.1 Fortran字符集
正如英语的学习从abc开始,Fortran的学习 也是从字符集开始

fortran用法总结

fortran用法总结

我的Fortran基本用法小结周日, 10/14/2007 - 21:00 — gator一、说明二、概述三、数据类型及基本输入输出四、流程控制五、循环六、数组七、函数八、文件一、说明本文多数内容是我读彭国伦《Fortran 95 程序设计》的笔记。

只读到第九章,主要是3~9章,都是最基本的用法(原书共16章)。

这里主要摘录了我看书过程中总结的一些Fortran和C不同的地方,主要是语法方面。

希望这份笔记能够给学过C但没有接触过Fortran的同学带去一些帮助。

要想得更清楚些,推荐看一下原书,觉得作者真的写得很好,很清楚;如果有C语言的基础,看完前九应该很快的,花一两天就行了。

觉得如果耐心看完本文,基本功能应该也可以顺利用起来了。

外,由于我之前没有用过Fortran,这次为了赶文档看书又看得很粗浅,大多数东西看过之后都没得及仔细想,只是按着作者的意思去理解。

所以这份笔记还处于纸上谈兵的层次。

如果有不妥的方,希望大家指正。

谢谢!文中蓝色的部分是程序代码,!后面的内容为注释。

二、概述1、名词解释Fortran=For mula Tran slator/Translation一看就知道有什么特色了:可以把接近数学语言的文本翻译成机械语言。

的确,从一开始,IBM设计的时候就是为了方便数值计算和科学数据处理。

设计强大的数组操作就是为了实现这一目标。

ortran奠定了高级语言发展的基础。

现在Fortran在科研和机械方面应用很广。

2、Fortran的主要版本及差别按其发展历史,Fortran编译器的版本其实很多。

现在在广泛使用的是Fortran 77和Fortran90。

ortran 90在Fortran 77基础上添加了不少使用的功能,并且改良了77编程的版面格式,所以编程时推荐使用90。

鉴于很多现成的程序只有77版本,有必要知道77的一些基本常识,至少保证能够看77程序。

以下是77和90的一些格式上的区别。

fortran语言复习总结

fortran语言复习总结

2 表控输入 READ 语句:
类似 cin>>
READ * ,变量 1,变量 2,„
表控输出 PRINT 语句: 类似 cout<<
PRINT * ,表达式 1,表达式 2,„
3 PARAMETER 语句:给常数命名 位于类型声明后,可执行语句前
PARAMETER(名称 1=表达式 1,名称 2=表达式 2,„)
输入:
↙。
输出:

第六章 选择结构 同 C++,只是除逻辑 IF 语句,其他都需要有 END IF 对应
1 逻辑 IF 语句
IF(<逻辑表达式 e>) <语句 S>
e 为逻辑表达式或关系表达式,S 为可执行语句。
2 基本块 IF 语句
(1)IF(<逻辑表达式 e>)THEN
[<THEN 语句体>]
END IF
5 两种书写格式:固定格式和自由格式
6 数据类型:有内部数据类型、派生数据类型、数组和指针类型等
预定义内部数据类型
INTEGER→int、
REAL→float/double、
COMPLEX、
CHARACTER→char、
LOGICAL→bool
第四章 表控输入输出
1 三种类型输入输出:表控格式、二进制形式(无格式)、有格式
式不正确会致错
输出:例: PRINT 10,i,j,k
10 FORMAT(1X,'i=',I4,3x,'j=',I4,3x,'k=',I4)
w>实际长度,前补空格。
w<实际长度,输出 w 个“*”。

Fortran学习总结 - 我不是企鹅的日志 - 网易博客

Fortran学习总结 - 我不是企鹅的日志 - 网易博客

Fortran学习总结- 我不是企鹅的日志- 网易博客Fortran学习总结目录:一、说明二、概述三、数据类型及基本输入输出四、流程控制五、循环六、数组七、函数八、文件一、说明本文多数内容是读彭国伦《Fortran 95 程序设计》的笔记。

二、概述1、名词解释Fortran=Formula Translator/Translation一看就知道有什么特色了:可以把接近数学语言的文本翻译成机械语言。

的确,从一开始,IBM设计的时候就是为了方便数值计算和科学数据处理。

设计强大的数组操作就是为了实现这一目标。

fortran奠定了高级语言发展的基础。

现在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)以&amp;续行,放在该行末或下行初。

以下都是讨论Fortran 90。

3、Fortran的一些特点,和C的一些不同其实很多,在下面涉及具体方面时可以看到。

第二章 关于FORTRAN的初步知识

第二章 关于FORTRAN的初步知识

前一页
休息
6
FORTRAN语言的常量
2:实型常量
有两种表示方法: (1)小数点法表示: 如: 12.5 0.12 12. .55等 (小数点表示) (2)科学计数法(指数)表示: 实数或整数E或e整数
如: 1.8635E2 5.d-1 等 (指数表示)
前一页 休息 7
FORTRAN语言的常量
3:双精度型常量
前一页
休息
14
FORTRAN语言的变量
2:隐含说明语句
implicit double precision (字母1,字母2)或(单个字 符),...... implicit complex (字母1,字母2)或(单个字符),...... implicit logical (字母1,字母2)或(单个字符),...... implicit character (字母1,字母2)或(单个字符),...... 其意义见前页。
5:逻辑型常量
逻辑型常量的表示: .true. 表示真值 .false. 表示假值
6: 文字型常量
文字型常量的表示: ‘若干个字符’ 例如:'abcdef' '123456xyz'
前一页 休息 10
FORTRAN语言的变量
标识符的命名规则:
以字母(不分大小写)开头,后跟若干个字母或数字。 变量类型: 1:隐含说明(约定) 凡不加说明的标识符,以字母I~N( 或i~n)开头的为整型变量,以其它字母开头的变量为实 型变量。 2:显示说明语句 3:隐含说明语句
前一页 休息 12
FORTRAN语言的变量
1:显示说明语句
complex 若干个标识符彼此间用逗号分隔
定义的每一个标识符为复型变量。

fortran语言程序设计知识点

fortran语言程序设计知识点

fortran语言程序设计知识点Fortran语言是一种面向科学与工程计算的编程语言,因其在数值计算和科学应用方面的高效性而受到广泛使用。

本文将重点介绍Fortran语言程序设计的一些重要知识点。

一、基础语法1.1 变量与数据类型在Fortran中,变量是用于存储数据的容器。

常见的数据类型包括整型(INTEGER)、实型(REAL/DOUBLE PRECISION)、复数型(COMPLEX)、逻辑型(LOGICAL)等。

变量的命名需遵循一定规则,如以字母开头,长度不超过31个字符等。

1.2 运算符与表达式Fortran支持常见的算术运算符(如+、-、*、/)以及逻辑运算符(如. AND.、. OR.、. NOT.)等。

表达式由变量、常数和运算符组成,可以进行数值运算和逻辑判断。

1.3 控制结构Fortran提供循环结构(DO)、条件结构(IF-THEN-ELSE)和选择结构(SELECT CASE)等控制语句,用于控制程序的流程。

二、数组与数据处理2.1 数组定义与操作Fortran中数组是由相同类型的数据元素组成的集合。

可以使用DIMENSION语句定义数组的维度和大小,通过下标访问和修改数组元素。

2.2 数组运算与函数Fortran提供了许多对数组进行运算和处理的函数,如数组求和(SUM)、最大最小值(MAX、MIN)、数组重排(RESHAPE)等,方便对数据进行统计和处理。

2.3 文件读写操作Fortran支持对文件进行读写操作,可以通过OPEN语句打开文件,使用READ和WRITE语句读取和写入数据。

可以根据需要设置文件的访问模式和格式。

三、过程与模块3.1 过程(Subroutine/Function)过程是一段独立的代码块,可接受传入参数并返回值。

在Fortran中,过程可以是子程序(Subroutine)或函数(Function)。

子程序用于完成一系列操作,而函数则返回一个值。

3.2 模块(Module)Fortran中的模块是一个编译单元,用于组织和管理相关的过程和变量。

fortran90-知识点整理

fortran90-知识点整理

U(部件)
*:
系统约定设备
某个值: 指定通道号(设备逻辑号、文件号)
f(格式)
表控格式 I/O(*): 系统约定的格式。 基本格式(自定格式)I/O:按用户要求的格式组织 I/0。 带控制信息表的 I/O:
I:碰到回车(ENTER)为一个记录。 O:一行为一个记录。
程序执行过程中按表控格式输入数据 各数据间有分隔符: ,或空格 类型匹配:整型:带小数点只取整数部分;
1、计算条件表达式的值
2、真
右边语句
IF 的下一个语句
3、假
IF 的下一个语句
注意:
1.右边通常为一条且只一条可执行语句。
错例:IF (A<B) T=A;A=B;B=T
2.不能为以下语句:
END、另一个逻辑 IF、 块 IF、ELSIF、ENDIF、DO
错例:IF(X<2)END
3.常应用于简单的条件赋值或条件转移(在循环结构中)
USE 模块 1,模块 2,…
基本语句概述 程序的最基本的语句主要有四种:类型说明语句、赋值语句、输入语句、输出语句。运用 这些基本的语句,就可以编写一些简单的程序。 内在函数 FORTRAN 90 配置的函数称为内在函数。内在函数分为三种: 基本函数 :
SIGN 符号 函数值:|A1|(若 A2>0)
整型→实型→ 双精度 →复型 例: 8/5+2.0*5/2=6.0(逐步转化)
赋值语句
1、类型要求 逻辑型、字符型的赋值语句要求“=”两边类型相同 数值型赋值,不区别整型、实型和复型 2、种别方面 字符型要求种别相同 其余类型的 e、V 种别允许不同 输入输出语句 1、I/O 的对象 ——列在<I/O 表>中

fortran知识点总结

fortran知识点总结

fortran知识点总结一、语法结构Fortran语言的语法结构遵循一套严格的规则。

下面是一些常见的语法结构:1. 程序单元:Fortran程序由一个或多个程序单元组成。

每个程序单元由一个或多个声明和执行语句组成。

2. 注释:在Fortran中,注释可以用来提高代码的可读性。

注释以感叹号(!)开头,直到行末为止。

3. 标识符:Fortran中的标识符由字母、数字和下划线组成,且区分大小写。

标识符用于表示变量、函数、子程序等。

4. 变量声明:在Fortran中,变量声明使用关键字“REAL”、“INTEGER”、“LOGICAL”等来指定变量的数据类型。

例如,REAL :: x 表示声明了一个实数类型的变量x。

5. 程序控制结构:Fortran提供了多种控制结构,包括顺序结构、条件结构和循环结构。

这些结构提供了程序的流程控制和逻辑控制。

6. 函数和子程序:Fortran支持函数和子程序的定义和调用。

函数和子程序可以帮助程序员组织和重用代码。

7. 模块和接口:Fortran中的模块和接口提供了一种组织代码的方式。

模块可以包含多个子程序和全局变量,接口可以用来定义子程序的接口。

二、数据类型在Fortran中,数据类型用于表示数据的类型和大小。

Fortran提供了多种数据类型,包括整数、实数、逻辑值、字符、复数等。

下面是一些常见的数据类型:1. 整数:整数类型用于表示整数值。

在Fortran中,整数类型包括“INTEGER”、“LOGICAL” 和“CHARACTER”类型。

2. 实数:实数类型用于表示实数值。

在Fortran中,实数类型包括“REAL”和“COMPLEX”类型。

REAL类型用于表示实数,COMPLEX类型用于表示复数。

3. 字符:字符类型用于表示字符值。

在Fortran中,字符类型使用CHARACTER关键字进行声明。

字符类型可以表示单个字符或者字符数组。

4. 数组:数组类型用于表示多个相同类型的数据。

Fortran程序设计期末复习要点

Fortran程序设计期末复习要点

Fortran程序设计期末复习要点一、基本知识:1.算法的概念,分类(数值型、非数值型)、特点。

2.Fortran程序的组成:1)一个主程序(以program开头,end结束),若干个子程序(function,subroutine)。

2)可执行语句、非执行语句,它们在程序中放置的位置。

3.Fortran程序的书写格式:固定格式、自由格式4.Fortran源程序运行的过程:编辑(.f90)-> 编译(.obj) -> 连接(.exe)->运行二、语法基础1.常量和变量:1)五种基本类型:integer,real,complex,character,logical2)常量:要求给出一个数据,能辨认出该常量的类型?是否是正确的常量形式?5,2.5,1.23e2, 1.23d-2,’abc’, “xyz”,.true. , .false., (2.5,3.6)3)符号常量(parameter):注意:不能改变其值!4)变量:会定义,掌握变量名的命名规则。

2.表达式的正确书写:三种表达式:算术表达式、关系表达式、逻辑表达式考查:各种表达式的书写,计算表达式的值。

掌握:各种运算符的运算规则和优先级。

特别注意:整数相除的结果还是整数!(如1/3)逻辑运算两端都必须是逻辑量!= = 不能写成=类似0<x<5的条件怎么表示?3.常用内部函数:1)数学函数:sqrt(),abs(),mod(),exp(),log(),sin(),cos(),tan(),int(),real()2)字符串函数:char(),ichar(),len_trim(),index()三、程序的三种基本结构1.顺序结构:赋值语句、表控格式输入/输出语句、格式输出(I,F,A,X,/,重复系数)2.选择结构:掌握:块IF语句的三种形式、逻辑IF语句、SELECT CASE和IF语句的嵌套。

算法:分段函数的计算。

3.循环结构:掌握:do 循环、do while循环和exit,cycle算法:求n!, 判断素数,最大公约数,求定积分,P146,习题1,2,3四、数组1.一维和二维数组的定义(注意:数组的大小必须为常量)2.二维数组在内存中的存放方式——按列存储,二维数组的元素个数有多少个?3.数组元素的引用方式:下标法、数组片段4.DATA语句的用法,特别是对二维数组的初始化。

FORTRAN知识点总结

FORTRAN知识点总结

F O R T R A N第2章FORTRAN90基础知识:程序单元的概念:fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。

每个程序只有一个主程序单元。

各单元体的程序体形式上相同。

程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。

语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。

字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。

数据结构:整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回;实型REAL ,小数形式和指数形式;复型COMPLEX (种别类型参数值取实部与虚部中较大者);字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成;逻辑型LOGICAL。

派生数据类型TYPE;数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A);字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。

变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。

第3章基本语句:类型说明语句:类型说明(种别说明),属性说明::变量名表尽量避免把两个实数作相等或不相等的比较。

淘汰隐式说明IMPLICIT NONE种别说明:种别参数即对可移植数据精度和范围进行选择的机制KIND(X) 返回变元X的种别参数值SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。

fortran文件知识点

fortran文件知识点

Fortran文件知识点Fortran(Formula Translation)是一种高级编程语言,专门用于科学和工程计算。

它于20世纪50年代初由IBM公司开发,并成为第一种被广泛应用的程序设计语言。

Fortran文件是指使用Fortran语言编写的源代码文件,其中包含了Fortran程序的逻辑和算法。

在本文中,我们将逐步介绍Fortran文件的知识点,帮助读者了解如何编写和使用这种文件。

第一步:文件结构Fortran文件通常由以下几个部分组成:1.程序声明:用于声明程序的名称和目的,以及引入外部模块或库文件。

2.变量声明:用于声明程序中使用的各种变量,包括整数、实数、字符等类型。

3.主程序:包含实际的计算逻辑和算法,用于执行特定的任务或解决问题。

第二步:文件扩展名Fortran文件通常使用.f或.f90作为文件扩展名。

.f扩展名是Fortran 77的标准,而.f90扩展名是Fortran 90及更高版本的标准。

这些扩展名有助于编译器识别文件类型并选择正确的编译方式。

第三步:编写Fortran文件编写Fortran文件可以使用任何文本编辑器,例如记事本、Sublime Text、Visual Studio Code等。

以下是一个简单的Fortran文件示例:program helloimplicit nonecharacter(10):: namewrite(*,*)'请输入您的名字:'read(*,*) namewrite(*,*)'您好,', trim(name), '!'stopend program hello在这个示例中,我们定义了一个名为hello的主程序,其中包含一个字符类型的变量name。

程序首先向用户请求输入姓名,然后输出一个问候语。

最后,程序通过stop语句终止运行。

第四步:编译和运行Fortran文件要编译Fortran文件,我们需要使用特定的编译器。

_fortran-第二章fortran基础知识全解

_fortran-第二章fortran基础知识全解
•Fortran 变量( variable) 是一个数据对象,它 的值在程序执行期间可以改变。
•程序单元中的每个Fortran 变量有唯一的名字, 变量名是内存中特定位置的标号,该标号方便 人类记忆和使用。Fortran 95 中的变量名可以 长达31 个字符,由字母、数字和下划线字符的 任意组合构成,但是名字的第一个字符必须是 字母。 •编程时,给变 量取有意义的名 字
Fortran95/2003程序设计
第二章 Fortran 基础知识
本章学习目标: • 了解Fortran 中的合法字符 • 了解Fortran 语句和Fortran 程序基本结构 • 了解可执行和不可执行语句之间的区别 • 了解常量与变量的区别 • 理解INTEGER、REAL 和CHARACTER 数据类 型的区别 • 掌握默认和显式类型说明的不同,理解为什么 总该使用显式类型说明 • 了解Fortran 赋值语句的结构
type , PARAMETER name=value [, name2= value2 , ...]
type 是常数的类型(整型、实型、逻辑型或字符型)
CHARACTER, PARAMETER :: ERROR MESSAGE= 'Unknown error!'
2.6 赋值语句和算术运算
variable name = expression i=i+1
•Fortran 有5 个自带或"内置"的常数和变量数 据类型,其中三个对数字有效(INTEGRE, REAL 和COMPLEX) ,一个是逻辑的(LOGICAL) ,还 有一个是字符串组成的(CHARACTER) •除内置数据类型以外, Fortran 允许程序员定 义派生数据类型(derived data type)

FORTRAN语言自学基础

FORTRAN语言自学基础

《FORTRAN语言》自学提纲第一章1 FORTRAN基础1. 一个FORTRAN程序由一个主程序或一个主程序与若干个子程序组成。

但一个完整的FORTRAN程序只能有一个主程序,主程序的第一个语句是PROGRAM语句,用以说明主程序的名称。

这个语句也可以省略,省略时默认为主程序的名称为MAIN。

2.FORTRAN的子程序主要有三种:⑴函数子程序,其第一个语句为FUNCTION;⑵子例行子程序,其第一个语句为SUBROUTINE;⑶数据块子程序,其第一个语句为BLOCK DATA。

主程序与各个子程序可以独立编译,最后再链接成一个可执行程序。

在编写并输入一个FORTRAN程序时,既可以将主程序与各个子程序存放在一个文件中,也可以将它们分别存放在不同的文件中。

但必须注意,主程序与各个子程序都是独立的程序单位,每个程序单位的最后一行必须用END语句作为结束。

在主程序中,虽然END语句还具有使程序停止运行的作用,但由于一个程序单位只能在最后一行有END语句,因此,在程序的其它位置处需要停止运行时,只能用STOP 语句,不能用END语句。

同样的道理,在子程序中,虽然END语句还具有使程序流程返回到调用程序的作用,但在子程序的其它位置(不是最后一行)需要返回到调用程序时,只能用RETURN语句,不能用END语句。

3.FOPTRAN源程序的书写格式有严格的规定。

⑴一行中第一列为“C”或“*”时,该行被认为是注释行。

注释行可以写在四个区中的一个区,且注释行可以出现在程序单位的任何位置。

但注释行不能有续行,需要时可以将连续若干行都定义为注释行。

⑵FORTRAN语句部分不能占用标号区及续行标志区,只能从第七列开始。

当语句太长时,可以使用续行。

在继续行的标号区内必须为空白(即继续行不允许有标号),标号只能出现在起始行上。

⑶起始行与继续行或各继续行之间的空格不起作用,因此,对于一般的语句,可以不必到72列才转为继续行,继续行也不必一定要从第7列接着写,但是,包括在引号内的字符串中的空格是有效的,因此,对于字符串要使用继续行时应特别注意,最好写到一行的72列时再转为继续行,且要从继续行的第7列接着写。

(完整)《FORTRAN 95程序设计》学习笔记

(完整)《FORTRAN 95程序设计》学习笔记

《FORTRAN 95程序设计》学习笔记66RPG gg★目录★《FORTRAN 95程序设计》学习笔记 (1)基础知识(基础、字符串、FORMAT、隐式、TYPE) (1)流程与控制(if、select、do) (4)数组(声明、隐式循环、整体操作、可变数组) (5)函数与子程序(子程序、函数、全局变量) (6)MODULE与面向对象(重载操作符、虚函数) (9)文件相关(OPEN、WRITE、READ) (10)指针(指向变量、数组、函数) (11)Visual Fortran 编译器(DLL,VB调用) (12)数值算法与IMSL(数值算法插件) (14)常用库函数(数学、数组、零碎、子程序) (15)基础知识(基础、字符串、FORMAT、隐式、TYPE)★【小玩意】二进制观察器:装在M.. Visual Studio\DF98\bin,有一个Bitviewer,可以观察变量储存方式★【语法】续行:行结尾或行开头使用& 符号;注释:使用! 符号★【语法】数学表达式:+ ;- ;* ;/ ;( ;) ;**乘幂★【语法】程序结束:STOP (Ruby的exit)★【语法】输出:write(*,*),完整写法:write(unit=*,fmt=*)⏹建议:少用print,尽量用write★【语法】声明⏹整型:integer(kind=4) a ;其中kind是使用的bytes数,4 or 2◆其他写法:integer*4 a; integer(4) a⏹浮点:real(kind=4) a ;有效数位6位(12345678存为1.234567E7),如果是kind8则为15位有效数字◆此外:1E10:单精10^10,1D10:双精10^10⏹复数:complex :: a=(2,3)◆实部:real(a) ;虚部:imag(a)⏹布尔型:Logical,.true. 和.false.★【语法与函数】字符串:character(20) string⏹注意理解,fortran的弱智字符串就是一个长度不能变的一维的东西,极其猥琐,和Java、Ruby不能相提并论的⏹string(13:13) = “a” :对第13个字节的读、存⏹string(2:3) = “go”⏹string(6) = “我的妈呀”:从第6个位置开始设置为“我的妈呀”⏹ a = string_a // string_b:用“//”连接两个字符串⏹【常用函数】char(num),ichar(char):ASCII码的转换相关功能⏹【常用函数】len(string),len_trim(string):长度,去掉尾部空格后的长度⏹【常用函数】index(string,key):找key在string首出现的位置⏹【常用函数】trim(string):返回去掉尾部空格的字符串(用途不大)⏹【函数】repeat(char,int):返回一个重复int次的char串⏹character(len=20) string 普通声明;character(len=*) string 接收的时候可自动长度★【规范格式】FORMAT格式化⏹ e.g.◆write (*,100) A◆100 format(I4) ←这里是100号标识调用的格式⏹参数控制符(前面加数字为重复次数,如4I6或<a>I6。

fortran语言知识点总结

fortran语言知识点总结

fortran语言知识点总结Fortran语言知识点总结:1. 基本语法和数据类型Fortran的基本语法和数据类型与其他编程语言类似,包括变量声明、赋值、条件语句、循环语句等。

在Fortran中,变量可以使用不同的数据类型进行声明,包括整数、实数、逻辑型和字符串型。

此外,Fortran还支持数组类型,可以方便地处理多维数组数据。

2. 过程和函数Fortran支持模块化编程,可以将代码模块化为过程和函数。

过程是一系列执行指令的代码块,可以在程序中被多次调用。

函数是一个具有返回值的过程,可以被其他代码调用,并返回一个值。

通过过程和函数的使用,可以提高代码的重用性和可维护性。

3. 指针和动态内存分配Fortran支持指针和动态内存分配,可以在程序中灵活地操作内存。

通过指针,可以获得变量的地址,并在程序中直接操作内存。

同时,动态内存分配允许程序在运行时分配或释放内存,可用于处理不确定大小的数据。

4. 文件操作Fortran提供了丰富的文件操作功能,可以进行文件的打开、写入、读取和关闭等操作。

通过文件操作,可以将程序的输入和输出与外部文件进行交互,从而扩展程序的功能和应用范围。

5. 并行计算Fortran具有强大的并行计算能力,可以利用多核处理器和分布式计算环境实现并行计算。

通过并行计算,可以加速程序的执行速度,提高计算效率。

6. 编译和调试Fortran程序需要通过编译器进行编译,生成可执行文件。

Fortran编译器通常会检查程序的语法和语义错误,并生成可执行文件。

同时,Fortran还提供了丰富的调试工具,可以帮助程序员发现和修复程序中的错误。

7. 数值计算和科学工程计算Fortran是一种专门用于数值计算和科学工程计算的语言,提供了丰富的数学库和科学计算库。

通过这些库,可以方便地进行复杂的数值计算和科学工程计算。

总结:Fortran是一种专门用于数值计算和科学工程计算的编程语言,具有丰富的数学库和科学计算库。

第七讲 FORTRAN的基本知识

第七讲 FORTRAN的基本知识

3、用IMPLICIT语句(隐含说明语句)指定变量类型 、 语句( 语句 隐含说明语句) 例: IMPLICIT INTEGER(A,C,T-V) 注: 以上三种方法中,以类型说明语句最优先, 以上三种方法中,以类型说明语句最优先,IMPLICIT语句 语句 次之, 规则” 次之,“I-N规则”的隐含约定级别最低。 规则 的隐含约定级别最低。 类型说明只在本程序单位内有效。 类型说明只在本程序单位内有效。 IMPLICIT语句和类型说明语句应该出现在本程序单位中的 语句和类型说明语句应该出现在本程序单位中的 所有执行语句的前面,其中, 所有执行语句的前面,其中,IMPLICIT语句又应在所有 语句又应在所有 的类型说明语句的前面。 的类型说明语句的前面。
变量类型: 变量类型:
整型变量、实型变量、双精度变量、复型变量、 整型变量、实型变量、双精度变量、复型变量、逻辑型变量 和字符型变量。 和字符型变量。 1、隐含约定(I-N规则) 规则) 、隐含约定( 规则 FORTRAN规定:在程序中的变量名,凡以字母 ,J,K, 规定: 规定 在程序中的变量名,凡以字母I, , , L,M,N六个字母开头的,即认为该变量为整型变量。 六个字母开头的, , , 六个字母开头的 即认为该变量为整型变量。 2、用类型说明语句确定变量类型 、 1)INTEGER语句(整型说明语句) ) 语句(整型说明语句) 语句 2)REAL语句(实型说明语句) 语句( ) 语句 实型说明语句) 3)DOUBLE PRECISION语句(双精度说明语句) 语句( ) 语句 双精度说明语句) 4)COMPLEX语句(复型说明语句) 语句( ) 语句 复型说明语句) 5)LOGICAL语句(逻辑型说明语句) 语句( ) 语句 逻辑型说明语句) 6)CHARACTER语句(字符型说明语句) 语句( ) 语句 字符型说明语句)

Fortran学习总结-我不是企鹅的日志-网易博客

Fortran学习总结-我不是企鹅的日志-网易博客

Fortran学习总结-我不是企鹅的日志-网易博客Fortran学习总结- 我不是企鹅的日志- 网易博客Fortran学习总结目录:一、说明二、概述三、数据类型及基本输入输出四、流程控制五、循环六、数组七、函数八、文件一、说明本文多数内容是读彭国伦《Fortran 95 程序设计》的笔记。

二、概述1、名词解释Fortran=Formula Translator/Translation一看就知道有什么特色了:可以把接近数学语言的文本翻译成机械语言。

的确,从一开始,IBM设计的时候就是为了方便数值计算和科学数据处理。

设计强大的数组操作就是为了实现这一目标。

fortran 奠定了高级语言发展的基础。

现在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。

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

F O R T R A N第2章FORTRAN90基础知识:程序单元的概念:fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。

每个程序只有一个主程序单元。

各单元体的程序体形式上相同。

程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。

语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。

字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。

数据结构:整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回;实型REAL ,小数形式和指数形式;复型COMPLEX (种别类型参数值取实部与虚部中较大者);字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成;逻辑型LOGICAL。

派生数据类型TYPE;数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A);字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。

变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。

第3章基本语句:类型说明语句:类型说明(种别说明),属性说明::变量名表尽量避免把两个实数作相等或不相等的比较。

淘汰隐式说明IMPLICIT NONE种别说明:种别参数即对可移植数据精度和范围进行选择的机制KIND(X) 返回变元X的种别参数值SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。

N指十进制有效位数,m指明值范围内以10为底的幂次。

种别表示方法:数值型常数、逻辑型常数的种别用后缀法表示,字符型用前缀法。

属性说明:PARAMETER常量名属性,如INTEGER,PARAMETER::N=5(N值不可更改);DIMENSION数组属性,如INTEGERDIMENDION(1:10)::X。

算术表达式:**乘方。

-→→括号+→→**或*求函数值/或ABS绝对值;MAX最大值;MIN最小值;SQRT平方根;MOD 求余数。

COS,SIN,TAN,ATAN,LOG 自然对数,LOG10常用对数,EXP指数,SIGN符号。

输入:READ(部件号,格式说明)输入如READ(5,'(I7)')X,Y I7表示每行输入一个整数,每个数占7个字符。

表控格式READ*,输入表;READ(*,*)输入表。

输出:WRITE(部件号,格式说明)输出表WRITE(6,'(1X,2F6.2)')X,Y 1X表示一个空格,F表示作实型编辑,6表示每个数占六列,2表示小数部分占两列,F前的2表示重复系数。

省略设备号PRINT格式说明,输出表表控格式WRITE(*,*)X,Y PRINT*,X,Y第4章选择结构程序设计:关系与逻辑表达式:> < == >= <= /=; .NOT. .AND..OR..EQV. .NEQV.混合运算符的优先级别:逻辑运算符→→关系运算符算数运算符括号→IF语句与IF结构的区别:IF语句:IF(e) SIF结构:IF(e1) THEN块1ELSEIF(e2) THEN块2ELSE块nENDIFCASE结构:SELECT CASE(MONTH)CASE(2)DAYS=28CASE(4,6,9,11)DAYS=30.........ENDSELECT第5章循环结构程序设计:不带循环变量的DO:[结构名:] DO循环体ENDDO[结构名] EXIT语句:停止循环,将控制转移到当前循环之外。

EXIT [DO结构名]CYCLE语句:在循环执行到该语句时,跳过循环体在它后面的那些语句,再从循环体的第1条语句开始执行。

CYCLE [DO结构名]带循环变量的DO:[结构名:] DO[,]v=u1,u2,[u3]循环体ENDDO[结构名]DOWhile结构: [结构名:] DOWHILE (逻辑表达式)循环体ENDDO[结构名]隐DO循环:(list,v=u1,u2,u3)如READ*,(A(I),I=1,5)第6章程序单元和过程:函数子程序:必须提供一个值,这个值赋给结果变量,成为函数的值。

[RECURSIVE]FUNCTION函数名(虚元表)RESULT(结果名)子例子程序:本身并不返回值,其计算结果全部通过虚实结合传递给主调程序。

必须通过CALL语句来调用。

CALL子程序名(实元表)[RECURSIVE]SUBROUTINE子程序名(虚元表)接口块:INTERFACE必须使用:实元是关键字变元时;实元是缺省的可选变元时;一个外部函数使用系统中的内部运算符扩展了原有的功能时;外部过程扩展了赋值号的使用范围时;使用一个类属名调用过程时;调用一个外部过程,该过程的结果是一个数组。

虚实结合:实元和虚元的个数相等,相应位置上的类型一致。

关键字变元:虚元名=实元表达式可选择变元:OPTIONAL属性:一虚元的类型说明语句中有OPTIONAL 属性便是可选变元。

PRESENT(X)函数:用来检查它的自变量X是否在程序执行部分出现。

当X出现时,函数值为“真”,否则为“假”。

虚过程:如果虚元是一个过程名时,作为虚元的过程称为虚过程。

只有潜逃调用至少两层以上时才能用虚过程。

模块:MODULE包含程序说明语句和过程,但不能直接运行。

其他程序引用模块实际就是将该模块中的全部语句复制到本程序单元,并且所有与模块中的名字相同的变量彼此取值相通,共享存储单元。

模块名对程序来说是全局的,不能与本程序中的任何程序单元名、外部名相同,也不得与模块内的任何局部名重名。

引用:USE模块1,模块2,....,模块nUSE模块名,ONLY:实体名表递归:递归调用是指过程内直接或间接地调用自己。

内部过程:如果一个过程不是写在主程序外,而是写在主程序单元之内,作为主程序内包含的一个过程,则该过程为内部过程。

通常没有说明语句,一般没有虚元。

类属过程:允许不同类型的实元与同一虚元结合,放宽了虚实结合必须一致的条件。

超载运算符:标准FORTRAN运算符通过恰当的过程扩展其功能,使其具有新的含义。

自定义运算符。

超载赋值:指把赋值的含义扩展到新的数据类型。

赋值号两边的类型必须相容。

第7章数组:数组基本概念:用DIMENSION属性说明之,同时给出数组元素的起止下标;使用数组时,即可直接使用数组某个元素,也可直接使用数组名。

数组片段:代表数组中的部分元素,可连续也可不连续。

如:A(3:6) 或A(10:30:2) 步长是2 数组构成器:赋值4个元素的数组:A=(/1,2,3,4/)其中(/1,2,3,4/)就是数组构成器例:A=(/(SQRT(REAL(I)),I=1,4)/)或A=(/V(3),V(6),V(7),V(9),/)二维数组按列存放:A→→A→→A→)1,1(A)2,2()2,3()2,1()1,3(A)1,2(ARESHAPE函数:将数组构成器中的一维数据重新构成任意形的数组。

例:A=RESHAPE(SOURCE=(/1,2,3,4,5,6,7,8,9,-1,-2,-3/)),SHAPE=(/3,4/)数组形式:常数组 REAL,DIMENSION(3:5+7)::A可调数组REAL,DIMENSION(M,N)::A假定形状数组REAL,DIMENSION(:,:)::A动态数组(可变)REAL,DIMENSION(:),ALLOCATABLE::A数组做变元,只能作为过程的实元不能是虚元。

数组运算:数组赋值A=B;数组表达式A+B(对应元素相加);数组与标量A-5 (每个元素减5);数组作为内在函数的实元B=ABS(A) B与A形状相同。

数组内在函数:求数组大小SIZE(A);求数组最大值元素MAXVAL(A);求数组最小值元素MINVAL(A);求数组最大值元素下标MAXLOC(A);求数组最小值元素下标MINLOC(A).;数组各元素之和SUM(A);数组各元素之积PRODUCT(A);求数组维的下界LBOUND(A);求数组维的上界UBOUND(A);数组转置TRANSPOSE(A). 屏蔽数组赋值:如WHERE(A<0)B=0 (相应元素)第8章字符型数据:字符常量:''或''''之间的若干字符字符变量(特有长度属性):如CHARACTER(LEN=10,KIND=2)::A 字符子串:字符变量名(e1:e2)如NAME=''DAQINGPETROLUEM''则NAME(1:6)='DAQING' 字符表达式:指用字符运算符吧字符常量、字符变量或字符数组元素等字符型数据连接起来的有意义的式子。

字符运算符只有一个,就是字符连接符“//”。

如'HE'//'LLO'='HELLO'字符关系表达式,比较按字符的代码进行。

两字符串比较,以第一次出现不同字符的比较结果为准,字符个数不够时以空格补齐。

字符函数:求字符长度函数LEN(String)或LEN-TRIM(String);除去字符串尾部空格函数TRIM(String);字符与字符序号相互转化,字符向字符序号ICHAR(CH)或IACHAR(CH),字符序号向字符CHAR(I)或ACHAR(I);子串位置函数INDEX(String1,String2),String2是String1的子串,结果为正整数表示String2在String1最左边的子串的起始位置;字符串比较函数LGE(String1,String2)表示是1否大于等于2,LGT、LLE、LLT 分别表示是否大于、是否小于或等于、是否小于;首、尾部空格调整函数调左函数(把空格全调到尾部)ADJUSTL(String)或调右函数(把空格全调到首部)ADJUSTR(String)第9章派生类型和指针:派生类型:TYPE[存取方式描述::]派生类型名成员组i类型说明ENDTYPE[派生类型名]说明:TYPE(派生类姓名)::变量名[,...]指针:REALPOINTER::PT1,PT2 PT1=>XPT1=>PT2表示PT1指向PT2所指的目标,PT1和PT2都指向Y;PT1=PT2表示将PT2所指的目标的值赋给PT1所指的目标,X=Y。

相关文档
最新文档