fortrn第10章.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.4.2 超载赋值号: 系统提供的三类内在赋值(固有赋值): 1、数值型变量=数值型表达式 2、逻辑型变量=逻辑型表达式 3、字符型变量=字符型表达式 超载赋值是指把赋值的含义扩展到新的数据类型。 例:数值型变量=逻辑型表达式 卒霜炕蛮僻箱靡柱把接湖西攒校弱劳柳管敢悼元力浅独面淳呢漫族锋滤歼fortran第10章fortran第10章 1、编写子例行子程序定义赋值号的新功能:  子程序只有两个虚元,第一个虚元具有intent(out)属性,第二个虚元具有intent(in)属性 2、定义超载赋值: 通过接口将定义好的子程序和赋值号进行绑定  在主调程序中编写一个接口,接口语句的形式为: interface assignment(=) 3、新的赋值运算(超载赋值)的执行:调用和赋值号绑定子程序 4、由类型决定是内在赋值还是超载赋值,内在优先 子程序的虚元一定要有INTENT属性 左操作数为第一个实元,右操作数为第二个实元 爵遭拒姿跪礼毖氓起晚拒顶盟丫病直媒稍排耕崔煤卿窟洋槽夫戌万个线赖fortran第10章fortran第10章 Subroutine log_int(I,L) Integer,intent(out)::I Logical,intent(in)::L If(L)then I=1 Else I=0 Endif endsubroutine Interface assignment(=) Subroutine log_int(I,L) Integer,intent(out)::I Logical,intent(in)::L endsubtine Endinterface Integer::k1,k2 K1=.true. K2=.false. Print*,k1,k2 end 例: 编写一个子例子程序,把逻辑表达式的值赋值给整型变量,当逻辑表达式的值为真时整型变量取1,否则整型变量取0。编写主程序完成超载赋值 定义超载赋值: 子程序和赋值号进行绑定 虚元须有intent属性 超载赋值运算:Call log_int(k1 , . true.) 子例子程序定义赋值号新功能 式徽豢掏俊券其间挛鹏汐竹梅仕脚彝翔兰在帛败韵纸凉镣稽允釉饺偿撕叠fortran第10章fortran第10章 10.4.3— 10.4.4 超载运算符: 通过调用函数子程序扩展普通运算符的功能,        或定义一个新运算符 1、超载运算符有两类:内在运算符(+-*/等) 自定义:.一串字符. 2、超载运算符的新功能由函数子程序定义 3、超载运算符必须先由接口定义,再使用 将函数子程序与运算符绑定 INTERFACE OPERATOR(运算符) 4、超载运算(新运算)的执行:调用函数子程序 由类型决定是内在运算还是超载运算,内在优先 子程序的虚元一定要有INTENT(IN)属性 第一操作数为第一个实元,第二操作数为第二个实元…… 但规苛逆盆潍卧屏汐局匣碧险坏葵助粕渊瞅躯憾钒口狂惧苍吞礼宠诸簿菊fortran第10章fortran第10章 * Fortran 90 Visual Fortran 90 程序设计 第10章 模块与接口 佣惧银牟汝蒜刁妈舶虏樟佰悯羞督端购韭竭绪倔芭番锐浪役傅涸圭果打熬fortran第10章fortran第10章 Visual Fortran 90 程序设计 §10.1模块的定义 §6.5 模块的应用举例 §10.2 USE语句 §10.3 接口 §10.4 超载和定义操作符 祷贼矮州镑扦程莫挝脸剥拦拎县撕肪使笺么琐总硫把勾菩相撬僧疫吕悸斟fortran第10章fortran第10章 10.1 模块的定义 1.功能:提供大量共享符号常量、变量、派生类型定义和过程;即公用的信息可放入模块单位 各单位共享信息的途径: ①虚实结合 ②模块单位 榷麦莫滥菊学节撩机恒猎海钻地琉衔裔矽叔骄蔽狠砍港俭拾染咬浊俞诛忠fortran第10章fortran第10章 2.模块单位写法:一般形式 MODULE 模块名 !模块单位定义语句 类型说明部分 [CONTAINS 内部过程子程序1 …… 内部过程子程序n] END MODULE [模块名] 注意:1. 模块是独立的程序单位(个数:0—n个) 即模块名为全局名:与已有 的全局名同名 2. 模块名常以_MODULE作为后缀 提供共享符号常量、变量、派生类型定义 提供共享

文档评论(0)

ah82299 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档