| 查看: 3152 | 回复: 21 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
FORTRAN 基础知识讲解
|
|||
|
1. EXTERNAL 声明外部函数的名称 是不是在整个程序当中都能用?怎么用?在其他子程序中可以直接call吗? 2. INTENT 说明过程哑元的用意 过程哑元 什么是过程哑元? 3. INTRINSIC 声明一个内部函数 只能在这个子程序里面运行? 4. OPTIONAL 允许过程被调用时哑元 过程哑元 什么意思? 5. 在F90中,每个变量名都应该在说明部分中说明其类型,不应该使用隐式说明、为了抑制隐式说明发生作用,应该在程序说明部分开始就写出语句: IMIPLlCIT NONE 既声明不使用隐式说明 什么是隐式说明? 6.程序变量定义的时候这两句话什么意思? TYPE (wavedes) WDES TYPE (latt) LATT_CUR,LATT_INI 7. 另外 INQUIRE(FILE=DIR_APP(1 IR_LEN)//'WAVECAR.'//EXT,EXIST=junk)这个DIR_APP(1 IR_LEN)//'WAVECAR.'//EXT中,'WAVECAR.'两端的东东什么意思?,知道这是个函数,不能明确什么意思。那么在一般情况下,文件名前后加上一些东西是为了什么?8. 程序中常看到。 LATT_INI%A=LATT_CUR%A 这个%是什么运算?还是只是当做变量名中和字母作用一个字符? 9. 程序里面有很多退出的关键字 exit 是退出当前的循环或者判断语句种吗? stop 退出主程序? break 呢? 根据具体情况给分!多答多得! |
» 猜你喜欢
303求调剂
已经有6人回复
07化学303求调剂
已经有5人回复
332求调剂
已经有6人回复
考研调剂
已经有7人回复
0856求调剂
已经有5人回复
总分293求调剂
已经有6人回复
275求调剂
已经有5人回复
085600 材料与化工 329分求调剂
已经有7人回复
材料与化工328分调剂
已经有6人回复
291 求调剂
已经有6人回复

snoopyzhao
至尊木虫 (职业作家)
- 程序强帖: 16
- 应助: 157 (高中生)
- 贵宾: 0.02
- 金币: 18844.7
- 红花: 29
- 帖子: 3803
- 在线: 1422.4小时
- 虫号: 183750
- 注册: 2006-02-13
- 专业: 污染生态化学
【答案】应助回帖
★
jjdg(金币+1): 感谢参与 2011-11-05 15:41:19
ben_ladeng: 专家考核存档 2011-11-09 00:18:32
jjdg(金币+1): 感谢参与 2011-11-05 15:41:19
ben_ladeng: 专家考核存档 2011-11-09 00:18:32
|
自己看吧: The recl specifier has a positive value that specifies the length of each record if the access method is direct or the maximum length of a record if the access method is sequential. If the file is connected for formatted input/output, the length is the number of characters. If the file is connected for unformatted input/output, the length is measured in processor-dependent units. The length may, for example, be the number of computer words. If the file exists, the length of the record specified must be an allowed record length. If the file does not exist, the file is created with the specified length as an allowed length. |
13楼2011-11-05 14:28:37
snoopyzhao
至尊木虫 (职业作家)
- 程序强帖: 16
- 应助: 157 (高中生)
- 贵宾: 0.02
- 金币: 18844.7
- 红花: 29
- 帖子: 3803
- 在线: 1422.4小时
- 虫号: 183750
- 注册: 2006-02-13
- 专业: 污染生态化学
【答案】应助回帖
★
jjdg(金币+1): 感谢参与 2011-10-29 23:02:17
ben_ladeng: 专家考核存档 2011-10-30 07:11:16
贺仪(金币+30): 多谢你的热心帮助! 2011-10-30 09:48:21
jjdg(金币+1): 感谢参与 2011-10-29 23:02:17
ben_ladeng: 专家考核存档 2011-10-30 07:11:16
贺仪(金币+30): 多谢你的热心帮助! 2011-10-30 09:48:21
|
这个不清楚你想表达什么意思?比如我自己写了一个外部函数,叫 sqrt,因为 Fortran 内置了 sqrt,但我希望我的程序用我自己写的这个,这个时候就需要用 external sqrt 来声明。在每个调用该函数的程序/子程序中都应该这样声明。 INTENT 主要是说明函数或者子程度的变量(哑元)是输入变量(in),还是输出变量(out),还是既有输入也有输出(inout)的。所谓的哑元,就是程序后面的那些个变量,比如 subroutine sub (a,b,c) 中的 a, b, c,呵呵……如果是属性是 in,那么表示这个哑元的值不能被改变。如果是 out,表示该程序会输出这个变量,如果是 inout,表明它的值在调用前后会发生变化。 只是表明这个程序是内置的函数,与 external 是对应的…… 如果函数 subroutine sub(a,b,c) 中的 c 是一个 optional 哑元,那么调用这个函数是可以用 call sub(a, b)…… |
2楼2011-10-29 11:59:43
snoopyzhao
至尊木虫 (职业作家)
- 程序强帖: 16
- 应助: 157 (高中生)
- 贵宾: 0.02
- 金币: 18844.7
- 红花: 29
- 帖子: 3803
- 在线: 1422.4小时
- 虫号: 183750
- 注册: 2006-02-13
- 专业: 污染生态化学
【答案】应助回帖
★
jjdg(金币+1): 感谢参与 2011-10-29 23:02:26
ben_ladeng: 专家考核存档 2011-10-30 07:11:22
贺仪(金币+30): 多谢你的热心帮助 2011-10-30 09:48:56
jjdg(金币+1): 感谢参与 2011-10-29 23:02:26
ben_ladeng: 专家考核存档 2011-10-30 07:11:22
贺仪(金币+30): 多谢你的热心帮助 2011-10-30 09:48:56
|
隐式声明是 fortran 的特色,默认情况下,所有以 I、J、K、L、M、N 开头的变量都是整型,所有以这些字母以外字母开头的变量都是实型。如果你希望以 A 开头的也是实型,你可以用 implicit integer (A) 来声明所有以 A 开头的也是整型。除非你显示地声明了变量的类型。 如果使用 implicit none, 那么以上的规则就不再算数了,所有的变量都必须声明。 这应该是较新的 Fortran 才引入的特性,允许自定义数据的类型,因此,上面的两句话声明 WDES 是 wavedes 一类的变量,而 LATT_CUR, LATT_INI 是 latt 一类的变量。 字符串后的 // 表示将 // 前后的两个字符串联接起来。因为在上面这句话中,前后两个都是变量,所以不能直接写成一个字符串(写成字符串后就没有办法获得变的真实取值了,所以用 // 来连接…… 这里的 LATT_INI 应该是一组变量的一个综合体,如: 这里的 D 就相当于你的 LATT_INI,它应该包括了三个变量,即 Day, Month, Year,如果你想对 D 中的 Day 赋值,那就要用 D%Day = 25... exit 表示退出循环 stop 表示停止整个程序的运行,不管是不是在主程序中…… break 不是 Fortran 中的,至少我没有看到过用 break 的…… |
3楼2011-10-29 12:16:13

5楼2011-10-30 16:19:23













IR_LEN)//'WAVECAR.'//EXT,EXIST=junk)
回复此楼