7数组(RRAY).pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Fortran95程序设计 第7章 数组(ARRAY) * Fortran95 程序设计 彭国伦 编著 韦 劼 群 wjq@ 2008.11 * 7-1 基本使用 数组(ARRAY)是一种使用数据的方法。它可以配合循环等的功能,用很精简的程序代码来处理大量的数据 7-1-1 一维数组 数组可一次声明出一长串同样数据类型的变量 数组也是一种变量,使用前要声明 Datatype name(size) 数组的大小,必须使用整型常数 Datatype指数组的类型,除了4种基本 类型(integer,real,complex,logical) 之外,也可用type自订出来的类型 数组变量的名字 [ex0701.f90] * 7-1-1 一维数组 比较 EX0701.f90 (“聪明的写法”) EX0702.f90 (“笨的写法”) [ex0701.f90] [ex0702.f90] * 7-1-2 二维数组 声明数组大小时,如使用两个数字,它就变成二维数组。 使用二维数组时要给两个坐标索引值。 例子:ex0703.f90 [ex0703.f90] * 7-1-3 多维数组 Fortran最多可以声明高达七维的数组 使用多维数组,头脑一定要清醒,因为会很容易把坐标位置搞混。 [ex0705.f90] * 7-1-4 另类的数组声明 在没有特别赋值的情况下,数组的索引值都是由1开始。 Integer a(5) !a(1), a(2), a(3), a(4), a(5) 特别赋值数组的坐标值使用范围 Integer a(0:5) ! a(0), a(1), a(2), a(3), a(4), a(5) Integer a(-3:3) ! a(-3), a(-2), a(-1),a(0), a(1), a(2), a(3) * 7-2 数组内容的设置 7-2-1 赋初值 INTEGER A(5) DATA A /1,2,3,4,5/ 结果:A(1)=1、 A(2)=2、 A(3)=3、 A(4)=4、 A(5)=5 隐含式 INTEGER A(5) INTEGER I DATA(A(I),I=2,4)/2,3,4/ 结果:A(2)=2、 A(3)=3、 A(4)=4、 A(1)和A(5)没有设定 [ex0706.f90] [ex0707.f90] * 7-2-2 对整个数组的操作 可以通过简单的命令来操作数组 [ex0708.f90] * 7-2-3 对部分数组的操作 F90、F95还提供一次只挑出部分数组来操作的功能。 [ex0708.f90] * 7-2-4 WHERE 7-2-5 FORALL [ex0710.f90] [ex0711.f90] WHERE是F95添加的功能,用来取出部分数组内容来设置。 FORALL是F95添加的功能,是一种使用隐含式循环来使用数组的方法。 [ex0712.f90] [ex0713.f90] [ex0714.f90] * 7-3 数组的保存规则 一个数组不管是声明成什么“形状”(指维数跟大小),它所有元素都是分布在计算机内存的同一个连续模块当中。 了解这些,在程序优化时可编写出效率较高的代码。 INTEGER A(5) 元素在内存连续模块中的排列情况为 A(1)= A(2)= A(3)= A(4)= A(5) INTEGER A(-1:3) 元素在内存连续模块中的排列情况为 A(-1)= A(0)= A(1)= A(2)= A(3) * 7-3 数组的保存规则 INTEGER A(3,3) 二维数组,9个元素 元素在内存连续模块中的排列情况为 A(1,1)= A(2,1)= A(3,1) 先放第1列的元素 = A(1,2)= A(2,3)= A(3,2) 再放第1列的元素 = A(1,3)= A(2,3)= A(3,3) 先放第3列的元素 * 7-4 可变大小的数组 F90、F95在程序执行后根据需求来实时决定数组的大小。 Allocate(a(100),stat=error) error是事先声明好的整型变量,做allocate这个动作时会经由stat这个叙述传给error一个数值,如error等于0则表示allocate数值成功,否则失败。 [ex0715.f90] [ex0716.f90] [ex0717.f90] * 7-5 数组的应用 排序算法 最简单的排序方法:选择排序法 ex0718.f90 矩阵相乘 ex0719.f90 [ex0718.f90] [ex0719.f90] * 作业 P153 1 [ex0435.f90] [

文档评论(0)

taotao0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档