| 24小時(shí)熱門(mén)版塊排行榜 |
| 查看: 3172 | 回復(fù): 21 | ||||||||
賀儀鐵桿木蟲(chóng) (著名寫(xiě)手)
|
[求助]
FORTRAN 基礎(chǔ)知識(shí)講解
|
|||||||
|
1. EXTERNAL 聲明外部函數(shù)的名稱 是不是在整個(gè)程序當(dāng)中都能用?怎么用?在其他子程序中可以直接call嗎? 2. INTENT 說(shuō)明過(guò)程啞元的用意 過(guò)程啞元 什么是過(guò)程啞元? 3. INTRINSIC 聲明一個(gè)內(nèi)部函數(shù) 只能在這個(gè)子程序里面運(yùn)行? 4. OPTIONAL 允許過(guò)程被調(diào)用時(shí)啞元 過(guò)程啞元 什么意思? 5. 在F90中,每個(gè)變量名都應(yīng)該在說(shuō)明部分中說(shuō)明其類型,不應(yīng)該使用隱式說(shuō)明、為了抑制隱式說(shuō)明發(fā)生作用,應(yīng)該在程序說(shuō)明部分開(kāi)始就寫(xiě)出語(yǔ)句: IMIPLlCIT NONE 既聲明不使用隱式說(shuō)明 什么是隱式說(shuō)明? 6.程序變量定義的時(shí)候這兩句話什么意思? TYPE (wavedes) WDES TYPE (latt) LATT_CUR,LATT_INI 7. 另外 INQUIRE(FILE=DIR_APP(1 IR_LEN)//'WAVECAR.'//EXT,EXIST=junk)這個(gè)DIR_APP(1 IR_LEN)//'WAVECAR.'//EXT中,'WAVECAR.'兩端的東東什么意思?,知道這是個(gè)函數(shù),不能明確什么意思。那么在一般情況下,文件名前后加上一些東西是為了什么?8. 程序中?吹健 LATT_INI%A=LATT_CUR%A 這個(gè)%是什么運(yùn)算?還是只是當(dāng)做變量名中和字母作用一個(gè)字符? 9. 程序里面有很多退出的關(guān)鍵字 exit 是退出當(dāng)前的循環(huán)或者判斷語(yǔ)句種嗎? stop 退出主程序? break 呢? 根據(jù)具體情況給分!多答多得! |
先進(jìn)材料與分子模擬 | 第一性原理 | 有用的呦 | 基礎(chǔ)知識(shí) |
lyl的 | Fortran |

至尊木蟲(chóng) (職業(yè)作家)
|
這些都不是標(biāo)準(zhǔn)的 Fortran 語(yǔ)句,你可以去看一些前處理的語(yǔ)法…… 多半是一些跨平臺(tái)的源代碼中才會(huì)包括這些吧,至少這類程序不作處理是不能使用 Fortran 的編譯器編譯的…… 一般使用 Fortran pre-processor 對(duì)這類程序進(jìn)行前處理,如果用 gfortran 的話,那么一般直接加一個(gè) -cpp 選項(xiàng)就可以了…… |
至尊木蟲(chóng) (職業(yè)作家)
|
這個(gè)不清楚你想表達(dá)什么意思?比如我自己寫(xiě)了一個(gè)外部函數(shù),叫 sqrt,因?yàn)?Fortran 內(nèi)置了 sqrt,但我希望我的程序用我自己寫(xiě)的這個(gè),這個(gè)時(shí)候就需要用 external sqrt 來(lái)聲明。在每個(gè)調(diào)用該函數(shù)的程序/子程序中都應(yīng)該這樣聲明。 INTENT 主要是說(shuō)明函數(shù)或者子程度的變量(啞元)是輸入變量(in),還是輸出變量(out),還是既有輸入也有輸出(inout)的。所謂的啞元,就是程序后面的那些個(gè)變量,比如 subroutine sub (a,b,c) 中的 a, b, c,呵呵……如果是屬性是 in,那么表示這個(gè)啞元的值不能被改變。如果是 out,表示該程序會(huì)輸出這個(gè)變量,如果是 inout,表明它的值在調(diào)用前后會(huì)發(fā)生變化。 只是表明這個(gè)程序是內(nèi)置的函數(shù),與 external 是對(duì)應(yīng)的…… 如果函數(shù) subroutine sub(a,b,c) 中的 c 是一個(gè) optional 啞元,那么調(diào)用這個(gè)函數(shù)是可以用 call sub(a, b)…… |
至尊木蟲(chóng) (職業(yè)作家)
|
隱式聲明是 fortran 的特色,默認(rèn)情況下,所有以 I、J、K、L、M、N 開(kāi)頭的變量都是整型,所有以這些字母以外字母開(kāi)頭的變量都是實(shí)型。如果你希望以 A 開(kāi)頭的也是實(shí)型,你可以用 implicit integer (A) 來(lái)聲明所有以 A 開(kāi)頭的也是整型。除非你顯示地聲明了變量的類型。 如果使用 implicit none, 那么以上的規(guī)則就不再算數(shù)了,所有的變量都必須聲明。 這應(yīng)該是較新的 Fortran 才引入的特性,允許自定義數(shù)據(jù)的類型,因此,上面的兩句話聲明 WDES 是 wavedes 一類的變量,而 LATT_CUR, LATT_INI 是 latt 一類的變量。 字符串后的 // 表示將 // 前后的兩個(gè)字符串聯(lián)接起來(lái)。因?yàn)樵谏厦孢@句話中,前后兩個(gè)都是變量,所以不能直接寫(xiě)成一個(gè)字符串(寫(xiě)成字符串后就沒(méi)有辦法獲得變的真實(shí)取值了,所以用 // 來(lái)連接…… 這里的 LATT_INI 應(yīng)該是一組變量的一個(gè)綜合體,如: 這里的 D 就相當(dāng)于你的 LATT_INI,它應(yīng)該包括了三個(gè)變量,即 Day, Month, Year,如果你想對(duì) D 中的 Day 賦值,那就要用 D%Day = 25... exit 表示退出循環(huán) stop 表示停止整個(gè)程序的運(yùn)行,不管是不是在主程序中…… break 不是 Fortran 中的,至少我沒(méi)有看到過(guò)用 break 的…… |
新蟲(chóng) (小有名氣)
鐵桿木蟲(chóng) (著名寫(xiě)手)

至尊木蟲(chóng) (職業(yè)作家)
鐵桿木蟲(chóng) (職業(yè)作家)
鐵桿木蟲(chóng) (著名寫(xiě)手)

木蟲(chóng) (正式寫(xiě)手)
|
7. 另外 INQUIRE(FILE=DIR_APP(1IR_LEN)//'WAVECAR.'//EXT,EXIST=junk) 這個(gè)DIR_APP(1IR_LEN)//'WAVECAR.'//EXT中,'WAVECAR.'兩端的東東什么意思?,知道這是個(gè)函數(shù),不能明確什么意思。那么在一般情況下,文件名前后加上一些東西是為了什么? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 這里的 inquire 是查詢文件是否存在的函數(shù),"file="后面的是文件名,因?yàn)楹凶兞亢妥址杂?/連接。 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085600 295分求調(diào)劑 +15 | W55j 2026-03-30 | 18/900 |
|
|---|---|---|---|---|
|
[考研] 環(huán)境工程297分求調(diào)劑一志愿杭高院 +10 | GENJIOW 2026-03-31 | 11/550 |
|
|
[考研] 085601材料工程找調(diào)劑 +20 | oatmealR 2026-03-29 | 21/1050 |
|
|
[考研] 307分求調(diào)劑 +14 | (o~o) 2026-03-31 | 15/750 |
|
|
[考研] 070300一志愿211,312分求調(diào)劑院校 +14 | 小黃鴨寶 2026-03-30 | 14/700 |
|
|
[考研] 08生物與醫(yī)藥專碩初試346找調(diào)劑 +4 | dianeeee 2026-04-01 | 5/250 |
|
|
[考研] 324分 085600材料與化工 +17 | 呆鵝oor 2026-03-27 | 17/850 |
|
|
[考研] 0710生物學(xué)考研調(diào)劑 +3 | 李多米lee. 2026-03-27 | 4/200 |
|
|
[考研] 262求調(diào)劑 +9 | 勵(lì)志一定發(fā)文章 2026-03-31 | 10/500 |
|
|
[考研] 0856材料與化工調(diào)劑,339 +10 | 10213207 2026-03-31 | 10/500 |
|
|
[考研] 085602 307分 求調(diào)劑 +10 | 不知道叫什么! 2026-03-26 | 10/500 |
|
|
[考研] 375求調(diào)劑 +7 | 雨夏整夜 2026-03-29 | 7/350 |
|
|
[考研] 合肥區(qū)域性重點(diǎn)一本招收調(diào)劑 +4 | 6266jl 2026-03-30 | 8/400 |
|
|
[考研] 289求調(diào)劑 +3 | Acesczlo 2026-03-29 | 4/200 |
|
|
[考研] 266分,求材料相關(guān)專業(yè)調(diào)劑 +10 | 哇呼哼呼哼 2026-03-30 | 12/600 |
|
|
[考研] 303求調(diào)劑 +7 | DLkz1314. 2026-03-30 | 7/350 |
|
|
[考研] 085600 286分 材料求調(diào)劑 +11 | 麻辣魷魚(yú) 2026-03-27 | 12/600 |
|
|
[考研]
|
gr哈哈哈 2026-03-28 | 3/150 |
|
|
[考研] 291求調(diào)劑 +5 | Y-cap 2026-03-29 | 6/300 |
|
|
[考研] 11408軟件工程求調(diào)劑 +3 | Qiu學(xué)ing 2026-03-28 | 3/150 |
|