Fortran 95 程序设计-第五章 - 复件.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
七、数组中山大学环境科学与工程学院陆 希复习—数据类型和属性一般形式:类型说明【(种别说明)】【,属性说明表】 :: 变量名表【=初值】类型说明,五种,三种数值型:整数型、实数型、复数型 两种非数值型:字符型,逻辑型种别说明,F90的新概念。一个数据,不仅有一个类型,在同一类型下还可分若干种别,种别值确定了数据的大小范围和精度。有了种别说明后,程序更易于移植。因为在不同的计算机系统上,同一种变量类型可以有不同的精度,因此当程序在另一种机子上运行时可能会出现溢出。规定种别则可以避免这种现象出现。一个数据通常在内存中占有一个存储单元。对整型数而言,如果该变量在程序中使用值范围很小,则只需半个存储单元,如果变量的整数变化范围很大,则存储时有必要占两个内存单元。实型数更复杂,除了存储的数值范围大小不同外,要求精度也会不同,有的只要8为有效值即可,有的则可能要24位有效值,因此所要求的存储单元数量不同,为了提高效率,节约内存,按照该变量表达的值范围与表达的精度范围,把同一类划分成几个种别,不同种别分配不同数目的内存单元。属性说明关键字很多。一般来说,数据属性描述了一个对象是如何在程序中被应用的。可以使用一个或多个语句来规定某个数据对象的属性。Visual Fortran的数据属性如表所示:数组定义(基本使用)数组赋值与运算(内容设置)数组的保存规则可变大小的数组及其它数组的应用数组是科学和工程计算问题中常见的向量和矩阵的反映和概括。数组在FORTRAN程序中有着重要的意义,在批量大的情况下,如果不利用数组就失去了计算机的优越性 。数组是另一种使用内存的方法,配置一大块内存空间,用以存储一批数据。统计100年内月平均温度及高于平均温度的月数。统计学校1500名学生的平均身高及大于平均身高的男女生人数。统计某商场近10年月平均销售额及高于平均销售额的月份。求解100元一次方程组。求解高阶微分方程。计算50?50阶矩阵的转置矩阵。对某班30名学生的学习成绩进行排序处理。 以上问题都要涉及几十、几百、几千,甚至上万个数据,如果在程序中采用简单的内部数据类型和变量来求解这类问题,其难度将大大增加,甚至无法设计和编写程序。 !统计3个数的平均值及大于平均值的数据个数。使用普通变量和顺序结构实现。PROGRAM example1REAL a1,a2,a3,sum,avINTEGER numREAD *,a1,a2,a3 !输入3个数sum=a1+a2+a3 ;av=sum/3 !求3个数之和,计算平均值num=0 !赋初值IF (a1av) num=num+1 !统计大于平均值的数据个数IF (a2av) num=num+1IF (a3av) num=num+1PRINT *,‘平均值为:’,av !输出平均值PRINT *,大于平均值的数据个数为:,num !输出大于平均值的数据个数END !统计15个数的平均值及大于平均值的数据个数。使用普通变量和顺序结构实现。PROGRAM example2REAL a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,sum,avINTEGER numREAD *,a1,a2,a3,a4,a5,a6,a7,a8,aa9,a10,a11,a12,a13,a14,a15sum=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15av=sum/15; num=0IF (a1av) num=num+1IF (a2av) num=num+1IF (a15av) num=num+1PRINT *,平均值为:,av; PRINT *,大于平均值的数据个数:,numEND !统计15个数的平均值及大于平均值的数据个数。使用普通变量和循环结构实现。PROGRAM example3REAL a,sum,avINTEGER numsum=0.0DO i=1,15 READ *,a sum=sum+aENDDOav=sum/15!该程序虽然变量比较少,程序比较短,但数据被输入两遍。num=0DO i=1,15 READ *,a IF (aav) num=num+1ENDDOPRINT *,平均值为:,avPRINT *,大于平均值的数据个数为:,numEND !统计15个数的平均值及大于平均值的数据个数。使用数组和循环结构实现。PROGRAM example4PARAMETER(max_num=20)REAL a(max_num),sum,avINTEGER numsum=0.0DO i=1,max_num READ *,a(i) sum=sum+a(i)ENDDOav=sum/max_num!该程序变量少,程序短

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档