FORTRAN程序设计第七章_第1页
FORTRAN程序设计第七章_第2页
FORTRAN程序设计第七章_第3页
FORTRAN程序设计第七章_第4页
FORTRAN程序设计第七章_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FORTRAN计程仪编程,1 .数组概要2 .数组声明3 .数组元素引用4 .数组逻辑结构和存储结构5 .给数组赋予初始值6 .数组输出7 .数组应用实例,第7章数组,上述问题相对简单,所作的程序计程仪也不复杂,是这些个程序计程仪的特征之一会产生与大量数据相关的复杂问题,例如修订100年内的月平均温度和高于平均温度的月数。 校订1500名学生的平均身高和大于平均身高的男女学生数。 修订某百货大楼近十年的平均销售额和高于平均销售额的月份。 解开一百元一次方程式。 解高阶差分方程。 对5050次矩阵的转置矩阵进行订正。 对某班三十名学生的学习成绩进行排名处理。 这些个的问题都涉及数十、数百、数千甚

2、至数万个数据,如果在计划内使用简单的内部数据类型和变量来解决这样的问题,其难度将非常大,无法进行计划计程仪的设定、修改和制作。 数据数组的示例: 1、3、5、7、9示例:三个学生的四门课程的成绩98、89、88、95.578、67、87、667变量和数组的差异,数组的分类,维数是多少数组概念:包含相同种类的变量、数组元素或下标变量,数组名:数据数组元素的集合:数组中某数据的名称数组元素的写法:一维度数组:数组名(下标表达式)、数组元素和下标,二次元数组:数组名(行下标表达式、列下标表达式)下标的值为正、负、零的序列a的元素是A(-1 )、A(0)、A(1)、A(2)、A(3)、A(4)的序列a

3、的各元素是A(-1 )、A(0)、A(1)、A(2)、A(3)的例子: 98、89、88 您可以使用阵列存储来定径套按相同类型排序的数据。 例如,保存30名学生成绩数据的变量定径套: s1,s2,s3,s30 REAL s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s10 REAL s(15 )数组大小是数组元素的个数。 数组声明包括类型声明语句、DIMENSION语句、2数组说明、注:数组说明包括: (1)确定数组的名称;(2)确定数组元素的类型;(3)确定数组的结构。、plume计程仪列中的所有数组都必须先描述类型、名称和大小,然后再使用类型声明语句和DIMENSION属性

4、进行数组声明。 1 .数组定义的典型标准格式是类型标识符数组名1 (维描述1,维描述2 ),数组名2,2.dim enn sion。数组名二维描述的形式:维下限:维上限(或下标:下标边界),REAL A(1:10 ),B(80:90 ),c (-5330 ) num1() mum2(2:5 ) dimension s (3:5 ),M(1:10 ),注:数组名不能与本计程仪程序用户针织面料内的其他识别符重复。 声明reala (10 ) integera ()一维整数数组,七个数组元素INTEGER week(0:6 )! 宣告一维度整数阵列,七个阵列元素realsc (-53360-1,53

5、3609 )! 声明具有25个数组元素REAL ar(2:5,- 1:2,4,4 )的二维实数数组。声明具有64个数组元素的三维实数数组。 注: (1)在计程仪程序中,数组名只能定义一次,定义数组的语句必须出现在所有可执行语句之前。 (2)在定义阵列时,维指定符中的下划线和下划线的上一次必须是整数常数或整数常数公式,并且上界的值大于下界的值。 (3)在数组宣言中,维下限为1,维下限为1为差动奥尔特。 (4)在4)DIMENSION语句中定义数组时,可以根据IN原则确定数组元素的类型,也可以用类型说明文提醒数组进行明确说明。 在这种情况下,对数组说明的dimension语句放在前面,类型说明文放

6、在后面。 (5)在数组声明中出现:可以向声明语句分配数组的初始值。 3 .使用类型宣言语句和DIMENSION属性在数组宣言FORTRAN 90型宣言语句中导入DIMENSION属性,将类型宣言语句和DIMENSION语句合为一个,使用DIMENSION属性进行数组宣言。 典型的格式为,DIMENSION() : 以下是有效的数组声明: INTEGER、DIMENSION(3): num、total、REAL、dimmension数组sc和jp是实型二次元数组。 INTEGER、dimension(5):s=(/45、78、85、55、95/)需要:可以为数组指定初始值。 说明:声明的数组的类

7、型由类型声明符确定。 声明数组的维数和维的上下边界由DIMENSION属性之后的维说明表决定。 必须显示符号: 数组声明表中的数组通常不提供维说明表,但在这种情况下,数组的维数和维的上下边界由DIMENSION属性提供的维说明表决定。 如果某些数组具有相同的维说明,则使用此数组声明更简单。 在FORTRAN 90中,还可以指定数组中特定维的说明,以及更改dimension property维的说明。 DIMENSION属性维的说明将INTEGER、DIMENSION(3): num、total、price (4,5,5 )数组num和total确定为整数的一维数组。 数组price根据自身维的

8、说明决定为整数型的二维数组。 的双曲馀弦值。 可以使用DIMENSION属性声明数组,以便在声明数组时指定初始值。 在整数(3) :3360 num=(/12、23、34/)数组中给出三个初始值,并且num(1)=12,num1 .语句:如果存在integerb (-1:2,7 ),则数组b中包含的元素的数量为()2.关于数组描述语句的以下正确描述是() a在数组描述语句的维描述语句中,下标的上边界是下标的上下边界是整数常数或实数常数c数组描述语句的维描述符的下边界下边界是整数常数或被代入的整数变量d数组描述符的维描述符下的营销对象的上,下边界是整数常数或整数常数式,20, d必须是3 .以下

9、的不正确描述是,() a是数组描述语句中不能对一个数组重复说明的B DIMENSION语句是数组和数组的类型c在相同的计程仪柱单位中,某个数组的定义只有一次D DIMENSION语句是不执行语句,b是数组声明是一个数组在plume plum中,必须引用数组元素、某些元素和所有元素,或者为数组元素分配新值。 数组元素参与运算,可以作为命令入式。 样本计程仪定栏:整数编号(-2:2 )、和=0. 0编号(-2 )=100。 数字(-1 )=200; 数字(0)=300; 数字(1)=400; 数字(2)=500 av1=(数字(-2 )数字(-1 )数字(0)数字(1)数字(2) )/5.0 do

10、i=-。 等效id(1)=25; id(2)=25; 标识符(10 )=25id (1)=2*标识符(1)。 标识符(5)=3*标识符(5) :标识符(10 )=2*标识符(2)3*标识符(9)标识符(233604 )=15。 标识符(633609 )=35id (:10 )=999! 标识符(1336010 )=999步骤标识符(1)标识符(2)标识符(3)标识符(5)标识符(6)标识符(7)标识符() 1252525252525252525252525252512515753512549999999999999999999999999、999、999、999、999、999、999、999

11、、999、999、999 9999、999,仅提供数组名而不指定数组的后缀表示引用该数组的所有数组元素。 在数组名之后指定数组下标,下标的个数由数组维数数决定。 如果下标是算术表达式,则引用数组元素。 对于以冒号分隔的两个算术表达式,冒号前面的表达式指定要引用的数组元素,冒号后面的表达式指定要引用的数组元素。 此数组元素称为数组片段引用。 注(1)引用数组元素时,数组元素的下标可以是任意表达式。 如果数组下标是实数表达式,则表达式的值将自动舍入。 例如,A(I )、B(J K )和C(X*SIN(X) 3)下面的两个代入语句是等效的: id(2.5)=25 id(2)=25下面的语句是合法的。

12、 例如,dimension a (10 ) do10 I=1,10 a(i )=I 10连续写入(*)I,a (I ),三维下标的一般形式是下边界:上边界:步骤。 如果省略下边界,则差异奥尔特值为数组中相应维的下边界。如果省略上边界,则差异奥尔特值为数组中相应维的上边界。如果省略步骤,则差异奥尔特值为1。 如果省略下标,则缺省奥尔特片段是此维的总长度。 例如:实际a (10 ) a (1:533602 )=3. 0! 将元素体A(1)、A(3)和A(5)设置为3.0 A(:5:2)=3.0。 将元素A(1)、A(3)和A(5)设置为3.0。 因为差动奥尔特的下限是1 A(2:3)=3.0。 将

13、元素A(2)、A(5)和A(8)设置为3.0。 这是因为上边界的差动奥尔特值为10 A(7:9)=3.0。 将元素A(7)、A(8)和A(9)设置为3.0。 差动奥尔特的步长为1 A(:)=3.0。 与A3.0一样,如果a的所有元素都设置为3.0,则对于多维数组中的数组段,每个维都用三个下标声明。 在单个语句或过程中引用此数组片段时,引用的下标和下标的数量相同。 请注意,三个下标只能修正一个下标。示例: reala (5,9 ) a 6336083602 )=3. 0在本示例中,数组a是二维数组,数组段是形状为(2,2 )的二维数组。 大括号内的第一三维组表示第一一维

14、度下标变化范围,第二三维组表示第二二次元下标变化范围。 该要素选择方法是,首先将第二维下标定为下限值,然后扫描第一维下标,所选择的要素为a (1,6 )、a (4,6 ),再将第二维下标增加1级,扫描第一维下标时,所选择的要素为a (1,8 )、a (4,8 ),这里该选择关系相当于以第2维为外层DO环变量、以第1维为内层环变量的变化。 四个这些个元素根据优先级保持一定的形状。 上式表示,数组的步长不能为0。 如果步长为负值,阵列子段将从上边界减小到下边界。 例如,如果声明数组B(10 ),则数组片段B(9:2:-2 )是由元素B(9)、B(7)、B(5)和B(3)组成的数组。 下界不能比上界

15、大。 否则,生成的数组大小为0。 三元下标的值可以不在数组的边界内。 例如,在阵列B(10 )的情况下,阵列片段B(3:15:6 )是由B(3)和B(9)组成的阵列。 a (1,6 ) a (1,8 ) a (4,6 ) a (4,8 ),数组引用必须保证下标的值落在下界和上界之间,否则会产生严重的结果。 使用内部函数(UBOUND、LBOUND )分别检测数组的上边界和下边界。 UBOUND (,DIM=) LBOUND (,DIM=)检测一维(指定维数,指定第二个残奥参数),结果为整数。 也可以查找所有维(未指定维数,第二个残奥参数不足)。 结果为一维整数数组。 例如:整数(-53360-1,11,15,- 2:2 )长边(num,1 )为- 5长边(n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论