FORTRAN数组介绍大全.ppt

FORTRAN数组介绍大全.ppt

ID:48748195

大小:237.50 KB

页数:46页

时间:2020-01-26

FORTRAN数组介绍大全.ppt_第1页
FORTRAN数组介绍大全.ppt_第2页
FORTRAN数组介绍大全.ppt_第3页
FORTRAN数组介绍大全.ppt_第4页
FORTRAN数组介绍大全.ppt_第5页
资源描述:

《FORTRAN数组介绍大全.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、§6数组§6.1数组的定义与操作§6.2动态数组§6.3数组在函数和子程序中的应用§6.4数组的应用举例§6.1数组的定义与操作数组:相同类型数据组成的有序的有限集合数组必须先定义后使用。定义数组时,要对数组的名称、类型、数组的维数和元素的数量加以说明。用类型说明结合DIMENSION属性进行定义:类型,dimension(维数说明[,维数说明])::数组名[,数组名]§6.1.1数组的定义维数说明:由下标界限说明组成,有几个下标界限说明就表示数组是几维的。多于一维的数组称多维数组,下标界限说明之间用逗号(,)分隔。下标

2、界限说明的写法:下标下限:下标上界下标界限为整数,上界必须大于下界下标下界为1时可以连同后面的冒号一起省略;但是,上界是不可省略的。定义数组时,下标界限必须为整型常量。例:INTEGER,DIMENSION(-2:10)::P定义一维整数组P,下标从-2到10,13个元素。例:DIMENSIONA(12),IW(4,5)定义一维实型数组A,下标从1到12,12个元素;定义二维整型数组IW,4行5列,20个元素。例:real,dimension(3,4)::b,m(-5:10)定义二维实型数组B,3行4列,12个元素;定义

3、一维实型数组M,下标从-5到10,16个元素。例:characterc(100)*20定义一维字符数组C,有100个字符串,每个可容纳20个字符§6.1.2数组的逻辑结构与存储结构一维数组:数列、向量二维数组:矩阵、行列式、表格三维数组:帐簿对更多维数的数组,可以从概念上理解。在学习程序设计语言时,一般只要求熟练掌握二维数组的应用,作为理解和应用多维数组的基础。数组元素在内存中连续存放,下标数值小的排在前面。存储多维数组时,下标变化速度依次为第一个,第二个…例:A(10),依次存储A(1),A(2),A(3),…A(10

4、)B(8,9),依次存B(1,1),B(2,1),…B(8,1),B(1,2),B(2,2),…B(8,2),…………………….B(1,9),B(2,9),…B(8,9)特别提示:二维数组是按列存储的。用数组名(下标[,下标])指定所要引用的数组元素。例:a(12),B5(3,6),c3b4(I,J,K)数组元素的下标可以是算术表达式,系统计算此表达式的值并自动取整。表达式中所涉及到的不是常量的量必须要先行算出。例:a(I+1),b5(b5(3)+a(2))例:c3b4(I,I+5,c3b4(a(b5(c3b4(1,4,

5、2),6)),3,2))§6.1.3数组元素的引用必须确保数组元素的下标的值不超过下标界限。如果下标越界,系统一般会对存储于数组之前(后)的存储单元进行操作(引用或者赋值),导致错误。如果作为数组元素的下标的算术表达式中存在没有赋值的变量,系统一般自动将它按零处理,可能会导致计算结果不正确,或者不稳定(时对时错)。这类错误很难发现,是许多程序存在bug的原因。数组元素的下标表达式过于复杂时,最好先行算出,最好不要书写过于复杂的语句和表达式。§6.1.4数组的输入与输出数组必须先定义后使用,本节讨论中提到的数组假定已经定义

6、如下:DIMENSIONA(10),M(12),D(5,6)允许用数组名来I/O整个数组例:READ(*,*)A,M,DWRITE(*,*)A,D多维数组I/O时,按其元素在内存中存储的顺序依次I/O各元素,遵守的原则是:最左边的下标变化最快。特别提示:二维数组是按列存储的,在输入/输出时也按列进行。在程序中可以输入/输出指定的元素,作为特例,可用DO循环对数组全体元素或部分元素进行输入/输出。DoI=1,5doj=1,6read*,d(I,j)enddoEnddo用DO循环对数组进行输入/输出不方便,为此,提供了针对I

7、/O的隐含DO循环方式。例:read(*,*)(A(I),I=4,10,2)read(*,*)(M(K),K=1,12)WRITE(*,*)((D(L,N),N=1,6),L=1,5)隐含DO循环方式输出/输入多维数组时要用到多重循环,注意其书写方式。§6.1.5数组的操作数组赋值:可以给所有元素赋同一个值例:DIMENSIONA(10),M(12),D(5,6)A=1.2;M=3;D=4.5数组构造器:(/取值列表/)取值列表:标量、隐DO表、向量。隐DO表和向量整体作为一个标量。标量之间用逗号。数组构造器可给多维数组

8、的某一维赋值:Real,Dimension(2,3)::A,BA(1,:)=(/1,2,3/)!给第1行赋值A(2,:)=(/4,5,6/)!第2行§6.1.5数组的操作通过Reshape()函数可以把数组构造器的数据赋给某种形状的数组reala(2,3),b(2,3),c(3,2)a(1,:)=(/1,2,3/);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。