Fortran的数据结构
- 格式:ppt
- 大小:1.38 MB
- 文档页数:27
fortran二维数组存储顺序Fortran二维数组存储顺序Fortran是一种古老而又经典的编程语言,具有高效、稳定、可靠等优点,被广泛应用于科学计算、工程设计、数据处理等领域。
在Fortran 中,二维数组是一种常见的数据结构,它可以用来表示矩阵、图像、地图等复杂的数据模型。
而二维数组的存储顺序则是Fortran程序员需要了解和掌握的重要知识之一。
按类划分,Fortran二维数组的存储顺序可以分为两种:行主序(Row-major order)和列主序(Column-major order)。
下面分别对这两种存储顺序进行详细介绍。
一、行主序行主序是指二维数组按照行为主序进行存储,即先存储第一行的所有元素,再存储第二行的所有元素,以此类推,直到存储完最后一行的所有元素。
在Fortran中,行主序是默认的存储方式。
例如,有一个3×4的二维数组A,其元素值分别为:A(1,1)=1 A(1,2)=2 A(1,3)=3 A(1,4)=4A(2,1)=5 A(2,2)=6 A(2,3)=7 A(2,4)=8A(3,1)=9 A(3,2)=10 A(3,3)=11 A(3,4)=12那么,在行主序下,A的存储顺序为:1 2 3 4 5 6 7 8 9 10 11 12。
行主序的优点是访问数组元素时具有更好的局部性,即访问相邻的元素时可以利用CPU的缓存机制,提高访问效率。
而其缺点则是在进行列操作时,需要跨越多个内存块,导致访问速度变慢。
二、列主序列主序是指二维数组按照列为主序进行存储,即先存储第一列的所有元素,再存储第二列的所有元素,以此类推,直到存储完最后一列的所有元素。
在Fortran中,可以通过在数组声明时使用“column-major”来指定列主序。
例如,有一个3×4的二维数组B,其元素值分别为:B(1,1)=1 B(1,2)=5 B(1,3)=9B(2,1)=2 B(2,2)=6 B(2,3)=10B(3,1)=3 B(3,2)=7 B(3,3)=11B(4,1)=4 B(4,2)=8 B(4,3)=12那么,在列主序下,B的存储顺序为:1 2 3 4 5 6 7 8 9 10 11 12。
前言FORTRAN90的新特性1、淘汰了所有转移语句,增加了新的控制结构,使程序结构化。
增加了结构块,模块及过程的调用灵活形式。
2、加强数组的算法功能。
提出超载概念与实现方法。
提高了文字处理功能。
3、更接近自然语言与公式演算。
允许在字符数据用选取不同种别。
特别:语句书写对列的要求放宽:一般一行写一条语句(也可也多个语句,用“;”分隔),没有标号区、续行区、正文区的区别。
一行最多为132列,可以在任何列处中断语句,中断处写一个“&”,随后在下一行任意列处继续。
一个语句最长不能超过2640个字符。
语句结尾不可有标号、符号。
注释以“!”开始,可以位于任何位置。
***以下只讨论与FORTRAN77不相同处。
第一章FORTRAN90的基本语句第一节类型说明语句1、变量名全长不得超过31个字符。
2、变量类型定义:INTEGER::X,YREAL::ACOMPLEX::B,C,D3、建议淘汰隐式说明,在程序说明部分一开始就写:IMPLICIT NONE向系统声明不使用隐式说明。
4、可以在变量说明时就置初值。
如:REAL::X=1.1,Y,Z=2.25、种别——决定变量的精度和所占内存单元数。
a.如:REAL(KIND=2)::X 说明变量X为REAL型,种别为2。
KIND是种别说明关键字。
如没有种别说明,则采用系统省缺值。
b.有关函数:KIND(X) 返回X的种别参数。
当X取常数0时,返回省缺种别参数。
如KI ND(0)、KIND(0.0)、KIND(.FALSE.)、KIND('A')分别返回整型、实型、逻辑型、字符型的省缺种别参数。
SELECTED_REAL_KIND(N,M) 返回种别参数,使之满足十进制有效位为N, 值范围在10**(-M)和10**M之间的实数。
SELECTED_INT_KIND(N,M) 与上类似,选择整型类别。
c.常数类别表示对数值型常数、逻辑型常数用后缀法,即在常数后加一下划线,再跟种别参数。
fortran中数组的定义-回复Fortran 中数组的定义在Fortran编程中,数组是一种强大且灵活的数据结构。
它允许我们存储和操作一系列相同类型的数据。
数组在科学计算中广泛应用,可以用于存储矩阵、向量、图像等多维数据。
在本文中,我们将一步一步回答有关Fortran中数组的定义的问题。
第一步:声明数组在Fortran中,要声明一个数组,我们需要指定数组的名称、维度和元素的数据类型。
数组的名称是一个标识符,用于在程序中引用该数组。
维度决定了数组的大小和形状,可以是一维、二维、三维或更高维。
元素的数据类型定义了数组中每个元素的类型,可以是整数、实数、复数等。
在Fortran中,声明一个一维整数数组的语法如下:fortranINTEGER :: myArray(10)这个声明语句创建了一个名为myArray的整数数组,大小为10。
我们可以通过myArray(i)来访问数组中的元素,其中i代表数组中的索引。
索引从1开始,最大为数组的大小。
第二步:初始化数组在声明数组之后,可以选择对数组进行初始化。
作为初始化的一种方法,我们可以使用一个数组常量来为数组赋值。
数组常量是一个由花括号括起来的列表,其中包含了按顺序排列的元素值。
例如,下面的语句将一个一维整数数组的前五个元素初始化为1、2、3、4和5:fortranINTEGER :: myArray(10)myArray = [1, 2, 3, 4, 5, 0, 0, 0, 0, 0]这个数组被初始化为:1, 2, 3, 4, 5, 0, 0, 0, 0, 0。
数组的大小必须与数组常量的元素数目相匹配,否则会引发编译错误。
第三步:访问数组元素一旦数组被声明和初始化,我们可以使用索引操作符来访问和修改数组元素的值。
在Fortran中,数组的索引从1开始,并且可以使用一个或多个索引来访问多维数组的元素。
以下是一个二维实数数组的声明和初始化:fortranREAL :: myArray(3, 3)myArray = RESHAPE([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0], [3, 3]) 这个数组myArray的值被初始化为:1.0 4.0 7.02.0 5.0 8.03.0 6.0 9.0我们可以使用两个索引来访问二维数组中的元素。
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. 数组:数组类型用于表示多个相同类型的数据。