zoukankan      html  css  js  c++  java
  • fortran90答疑

    1. EXTERNAL 声明外部函数的名称  
    是不是在整个程序当中都能用?怎么用?在其他子程序中可以直接call吗?
    这个不清楚你想表达什么意思?比如我自己写了一个外部函数,叫 sqrt,因为 Fortran 内置了 sqrt,但我希望我的程序用我自己写的这个,这个时候就需要用 external sqrt 来声明。在每个调用该函数的程序/子程序中都应该这样声明。
    2. INTENT 说明过程哑元的用意 过程哑元
    什么是过程哑元?
    INTENT 主要是说明函数或者子程度的变量(哑元)是输入变量(in),还是输出变量(out),还是既有输入也有输出(inout)的。所谓的哑元,就是程序后面的那些个变量,比如 subroutine sub (a,b,c) 中的 a, b, c,呵呵……如果是属性是 in,那么表示这个哑元的值不能被改变。如果是 out,表示该程序会输出这个变量,如果是 inout,表明它的值在调用前后会发生变化。
    3. INTRINSIC   声明一个内部函数  
    只能在这个子程序里面运行?
    只是表明这个程序是内置的函数,与 external 是对应的……
    4. OPTIONAL  允许过程被调用时哑元    过程哑元     
    什么意思?
    如果函数 subroutine sub(a,b,c) 中的 c 是一个 optional 哑元,那么调用这个函数是可以用 call sub(a, b)……
    5. 在F90中,每个变量名都应该在说明部分中说明其类型,不应该使用隐式说明、为了抑制隐式说明发生作用,应该在程序说明部分开始就写出语句:
    IMIPLlCIT NONE
    既声明不使用隐式说明
    什么是隐式说明?
    隐式声明是 fortran 的特色,默认情况下,所有以 I、J、K、L、M、N 开头的变量都是整型,所有以这些字母以外字母开头的变量都是实型。如果你希望以 A 开头的也是实型,你可以用 implicit integer (A) 来声明所有以 A 开头的也是整型。除非你显示地声明了变量的类型。
    如果使用 implicit none, 那么以上的规则就不再算数了,所有的变量都必须声明。
    6.程序变量定义的时候这两句话什么意思?   
    TYPE (wavedes)  WDES
    TYPE (latt)     LATT_CUR,LATT_INI
    这应该是较新的 Fortran 才引入的特性,允许自定义数据的类型,因此,上面的两句话声明 WDES 是 wavedes 一类的变量,而 LATT_CUR, LATT_INI 是 latt 一类的变量。
    7. 另外
             INQUIRE(FILE=DIR_APP(1IR_LEN)//'WAVECAR.'//EXT,EXIST=junk)
    这个DIR_APP(1IR_LEN)//'WAVECAR.'//EXT中,'WAVECAR.'两端的东东什么意思?,知道这是个函数,不能明确什么意思。那么在一般情况下,文件名前后加上一些东西是为了什么?
    字符串后的 // 表示将 // 前后的两个字符串联接起来。因为在上面这句话中,前后两个都是变量,所以不能直接写成一个字符串(写成字符串后就没有办法获得变的真实取值了,所以用 // 来连接……
    8. 程序中常看到。
    LATT_INI%A=LATT_CUR%A
      这个%是什么运算?还是只是当做变量名中和字母作用一个字符?
    这里的 LATT_INI 应该是一组变量的一个综合体,如:
    TYPE Date
       INTEGER :: Day=1
       INTEGER :: Month=1
       INTEGER :: Year=2000
    END TYPE Date
    TYPE (Date) :: D
    这里的 D 就相当于你的 LATT_INI,它应该包括了三个变量,即 Day, Month, Year,如果你想对 D 中的 Day 赋值,那就要用 D%Day = 25...
    9. 程序里面有很多退出的关键字
    exit 是退出当前的循环或者判断语句种吗?
    stop 退出主程序?
    break 呢?
    exit 表示退出循环
    stop 表示停止整个程序的运行,不管是不是在主程序中……
    break 不是 Fortran 中的,至少我没有看到过用 break 的……
  • 相关阅读:
    产品经理的职责有哪些?到底该做什么?(转) 写的非常好,非常专业
    互联网界产品经理和项目经理(转) 总结的非常好
    各式结构化数据 动态 接入-存储-查询 的处理办法 (第二部分)
    各式结构化数据 动态 接入-存储-查询 的处理办法 (第一部分)
    不规矩的xml与JAVA对象互相转换的小技巧-使用Marshaller
    大数据架构-使用HBase和Solr将存储与索引放在不同的机器上
    小程序项目别的页面初始化拿到的值为两种状态(已解决)
    vue项目引入第三方js插件,单个js文件引入成功,使用该插件方法时报错(问题已解决)
    qs.stringify和JSON.stringify的使用和区别
    百度地图API-javascript-web地图的应用
  • 原文地址:https://www.cnblogs.com/guosj/p/3756395.html
Copyright © 2011-2022 走看看