Fortran数组之详细介绍.ppt

Fortran数组之详细介绍.ppt

ID:49206447

大小:282.50 KB

页数:30页

时间:2020-02-01

Fortran数组之详细介绍.ppt_第1页
Fortran数组之详细介绍.ppt_第2页
Fortran数组之详细介绍.ppt_第3页
Fortran数组之详细介绍.ppt_第4页
Fortran数组之详细介绍.ppt_第5页
资源描述:

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

1、第七章数组数组的概念数组的说明与引用数组元素的存储结构数组的输入输出给数组赋初值数组的应用7.1数组的概念数组:把具有相同数据类型的一批数据看成一个整体INTEGER,PARAMETER::N=5INTEGERIREALP(N),AVER=0DOI=1,NREAD(*,*)P(I)AVER=AVER+P(I)ENDDOAVER=AVER/NDOI,NPRINT(*,*)P(I)-AVERENDDOEND7.2数组的说明与引用一、数组的说明1.用DIMENSION语句说明数组格式:DIMENSION数组说明符[,数组说明符]…数组说明符:数组名(维说明符[,维说明符]…)维说明符的一般形式是

2、:[维下界:]维上界下界为1时,可以省略不写,冒号也省略。维下界和上界都只能是整型常量表达式。维上界的值必须大于维下界的值。例:IMPLICITINTEGER(A-C),REAL(I,J)DIMENSIONB(3:15),IX(10)注意:(1)DIMENSION语句在程序单位的可执行语句之前。(2)用DIMENSION语句说明数组时,需用类型说明语句或IMPLICIT语句指明数组的类型,否则数组的类型服从I-N规则。例:DIMENSIONJU(20),NAME(-10:10,1:2)REALJUCHARACTERNAME一维实型数组JU,有20个元素。二维字符型数组NAME,共有42个元

3、素,每个元素的定义长度为1。格式:类型符,DIMENSION(维说明符[,维说明符]…)::数组名[,数组名]…2.用类型说明语句说明数组格式:类型符数组说明符[,数组说明符]…例如:CHARACTER*6CH(-10:10,5:9)*8REALKK(8)REAL(8)A(30)3.用DIMENSION语句和类型说明语句同时说明数组例如:REAL(8),DIMENSION(0:10)::A,B,CINTEGER,DIMENSION(4,5)::D,E三个双精度型数组A,B,C,各含有11个元素。两个整型数组D,E,各含有20个元素。例如:REAL,DIMENSION(0:10)::A,B(

4、20),C(4,5,3)说明A为A(0:10),而B为B(20),C为C(4,5,3)。以数组名后面的维说明为准。数组名(下标[,下标]…)二、数组元素的引用其中1:5:2的含义是从1变化到5,每次增加2。三元表达式的形式是:初值:终值:步长其中步长为1时,步长可以省略。允许对数组进行整体操作,例如:INTEGER,DIMENSION(1:5)::AA(:)=0!或写成A=0,将A的全部元素赋为0INTEGER,DIMENSION(4,5)::AA(:,:)=10!或写成A=10,将A的全部元素赋为10A(:,1:5:2)=470!再将A第1,3,5列元素赋为4707.3数组元素的存储结构

5、B(1,1)B(2,1)B(3,1)B(2,4)B(3,4)B(1,2)B(3,2)B(2,2)A(2)A(3)A(4)A(10)A(1)例:INTEGERA(10),B(3,4)数组元素按列存放7.4数组的输入输出一、使用DO循环输入输出数组元素INTEGER::I,JREAL::MAT(2,3)DOI=1,3DOJ=1,2READ(*,*)MAT(J,I)ENDDOENDDODOI=1,2DOJ=1,3WRITE(*,10)MAT(I,J)ENDDOENDDO10FORMAT(1X,F6.2)END特点:每执行一个输入语句输入一个数组元素值(一个数组元素值组成一个输入记录)。每执行一个

6、输出语句输出一个数组元素值(每一行输出一个数组元素值)。数组元素按照在内存中的排列顺序一次全部输入输出。二、以数组名作为输入输出项INTEGERW(3,3)READ(*,*)W!按列的顺序输入WRITE(*,10)W!按列的顺序输出10FORMAT(1X,3I3)输入:1,4,7,2,5,8,3,6,9123456789例:将矩阵存放在数组中并输出。输出:□□1□□4□□7□□2□□5□□8□□3□□6□□9三、用隐DO循环对数组元素进行输入输出既可灵活控制输入输出元素的顺序和个数,又能通过执行一次输入输出语句完成。隐DO循环的形式:(输入/输出表,i=e1,e2[,e3])例:WRITE

7、(*,*)(3,4,I=1,3)等价于:WRITE(*,*)3,4,3,4,3,4例:WRITE(*,100)(I,A(I),I=1,10,2)100FORMAT(1X,5(I2,I4))隐DO循环可以多层嵌套。INTEGERW(3,3)READ(*,*)WWRITE(*,10)((W(I,J),J=1,3),I=1,3)10FORMAT(1X,3I3)内循环外循环输出:W(1,1)W(1,2)W(1,3)W(2,1)W

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

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

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