VisualFortran90第1、2章_第1頁(yè)
VisualFortran90第1、2章_第2頁(yè)
VisualFortran90第1、2章_第3頁(yè)
VisualFortran90第1、2章_第4頁(yè)
VisualFortran90第1、2章_第5頁(yè)
已閱讀5頁(yè),還剩87頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Visual Fortran 90 程序設(shè)計(jì)程序設(shè)計(jì)u我已經(jīng)能熟練地操作計(jì)算機(jī)了,還學(xué)什么?我已經(jīng)能熟練地操作計(jì)算機(jī)了,還學(xué)什么?u計(jì)算機(jī)能做什么?計(jì)算機(jī)能做什么?u如何把計(jì)算機(jī)做為求解問(wèn)題的工具,為我服務(wù)終如何把計(jì)算機(jī)做為求解問(wèn)題的工具,為我服務(wù)終身?身?開(kāi)始的話開(kāi)始的話u計(jì)算機(jī)可以做任何事情;只要能把實(shí)際問(wèn)題計(jì)算機(jī)可以做任何事情;只要能把實(shí)際問(wèn)題抽象、制作為計(jì)算機(jī)可求解的程序。抽象、制作為計(jì)算機(jī)可求解的程序。u計(jì)算機(jī)求解問(wèn)題的步驟:計(jì)算機(jī)求解問(wèn)題的步驟:計(jì)算機(jī)能做什么?計(jì)算機(jī)能做什么?分析分析抽象抽象模型模型求解求解命令命令編程編程調(diào)試調(diào)試程序程序?qū)嶋H實(shí)際問(wèn)題問(wèn)題問(wèn)題問(wèn)題模型模型求解求解算

2、法算法編制編制程序程序問(wèn)題問(wèn)題實(shí)現(xiàn)實(shí)現(xiàn)問(wèn)題模型問(wèn)題模型u結(jié)構(gòu)分析結(jié)構(gòu)分析 線性方程組線性方程組u人口預(yù)報(bào)人口預(yù)報(bào) 微分方程微分方程u優(yōu)化問(wèn)題優(yōu)化問(wèn)題 線性規(guī)劃、非線性規(guī)劃線性規(guī)劃、非線性規(guī)劃u震動(dòng)問(wèn)題震動(dòng)問(wèn)題 矩陣分析;特征值、特征向量矩陣分析;特征值、特征向量u信息管理信息管理 二維數(shù)據(jù)表二維數(shù)據(jù)表u下棋下棋 樹(shù)型結(jié)構(gòu)遍歷樹(shù)型結(jié)構(gòu)遍歷u交通管理交通管理 圖型結(jié)構(gòu)遍歷圖型結(jié)構(gòu)遍歷“深藍(lán)深藍(lán)”與卡斯帕羅夫與卡斯帕羅夫u國(guó)際象棋棋盤有國(guó)際象棋棋盤有64格,每方有格,每方有16個(gè)子。棋手在思考下一步個(gè)子。棋手在思考下一步棋時(shí)大約有棋時(shí)大約有35種合法選擇。種合法選擇。u目前最好的國(guó)際象棋程序可以分析

3、到七八個(gè)回合,若要求電目前最好的國(guó)際象棋程序可以分析到七八個(gè)回合,若要求電腦能思考到第七個(gè)回合,即腦能思考到第七個(gè)回合,即14步棋,則需要有步棋,則需要有3514種可能種可能的結(jié)局。的結(jié)局。u下棋程序靠的是基本的行棋知識(shí)和強(qiáng)大無(wú)比的檢索演算能力。下棋程序靠的是基本的行棋知識(shí)和強(qiáng)大無(wú)比的檢索演算能力。這種信息檢索選擇方式好比一棵樹(shù);共有這種信息檢索選擇方式好比一棵樹(shù);共有35個(gè)枝干,每個(gè)枝個(gè)枝干,每個(gè)枝干有干有35個(gè)樹(shù)杈,個(gè)樹(shù)杈,最終到樹(shù)葉,即可供選擇的結(jié)果。越好,最終到樹(shù)葉,即可供選擇的結(jié)果。越好的程序,所派生的樹(shù)枝樹(shù)杈就越多。的程序,所派生的樹(shù)枝樹(shù)杈就越多。u一般來(lái)講,電腦每下一步棋,仍需有

4、一般來(lái)講,電腦每下一步棋,仍需有500億或億或600億種選擇。億種選擇。兩本教材(互為補(bǔ)充):兩本教材(互為補(bǔ)充):Fortran 90 程序設(shè)計(jì)(上課)程序設(shè)計(jì)(上課)Fortran 90 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與測(cè)試程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與測(cè)試(上機(jī))(上機(jī))教學(xué)課時(shí)教學(xué)課時(shí)(3學(xué)分)學(xué)分)上課上課48學(xué)時(shí)(學(xué)時(shí)(3學(xué)分)學(xué)分)上機(jī)上機(jī)48機(jī)時(shí)(機(jī)時(shí)(其中教師輔導(dǎo)其中教師輔導(dǎo)24機(jī)時(shí)機(jī)時(shí))關(guān)鍵在個(gè)人關(guān)鍵在個(gè)人上機(jī)時(shí)間安排各班級(jí)的同學(xué),每周五下午或晚上 都要去機(jī)房一樓的通告欄查看下周上機(jī)時(shí)間,每周上機(jī)時(shí)間、機(jī)房都有可能不同。課內(nèi)上機(jī)時(shí)間安排(輔導(dǎo)24機(jī)時(shí))周次周次星期星期節(jié)次節(jié)次機(jī)時(shí)機(jī)時(shí)數(shù)數(shù)機(jī)房機(jī)房3,

5、5,7,8周周星期三星期三6-7節(jié)節(jié)83039-17周周星期四星期四6-7節(jié)節(jié)18303水務(wù)水務(wù)1-4班班課內(nèi)上機(jī)時(shí)間安排(輔導(dǎo)24機(jī)時(shí))周次周次星期星期節(jié)次節(jié)次機(jī)時(shí)機(jī)時(shí)數(shù)數(shù)機(jī)房機(jī)房3,5,7,8周周星期一星期一8-9節(jié)節(jié)83039-17周周星期星期 三三6-7節(jié)節(jié)18403港航港航1-4班班課內(nèi)上機(jī)時(shí)間安排(輔導(dǎo)24機(jī)時(shí))周次周次星期星期節(jié)次節(jié)次機(jī)時(shí)數(shù)機(jī)時(shí)數(shù)機(jī)房機(jī)房3,5,7,8周周(大禹(大禹1班班+5班)班)星期二星期二6-7節(jié)節(jié)84039-12周周(大禹(大禹1-3班)班)星期二星期二1-2節(jié)節(jié)840313-16周周(大禹(大禹1-3班)班)星期二星期二6-7節(jié)節(jié)8403課內(nèi)上機(jī)時(shí)間安

6、排(輔導(dǎo)24機(jī)時(shí))周次周次星期星期節(jié)次節(jié)次機(jī)時(shí)數(shù)機(jī)時(shí)數(shù)機(jī)房機(jī)房3,5,7,8周周(大禹(大禹2-4班班+6班)班)星期二星期二8-9節(jié)節(jié)84039-12周周(大禹(大禹4-6班)班)星期二星期二3-4節(jié)節(jié)840313-16周周(大禹(大禹4-6班)班)星期二星期二8-9節(jié)節(jié)8403課外上機(jī)時(shí)間安排(自主24小時(shí))暫未安排暫未安排請(qǐng)記好上機(jī)時(shí)間安排,并請(qǐng)記好上機(jī)時(shí)間安排,并通知教學(xué)秘書(shū),防止與其通知教學(xué)秘書(shū),防止與其他老師調(diào)課沖突。他老師調(diào)課沖突。答疑時(shí)間:答疑時(shí)間:每次上機(jī)時(shí)間、課間每次上機(jī)時(shí)間、課間期末考試前、必要時(shí)可增加期末考試前、必要時(shí)可增加本人電子郵箱:本人電子郵箱:手機(jī)號(hào)碼手機(jī)號(hào)碼:

7TP:/10.33.12.8本門課的成績(jī)?cè)u(píng)定:本門課的成績(jī)?cè)u(píng)定:平時(shí)平時(shí)+期末期末平時(shí):平時(shí):作業(yè)、考勤、課堂提問(wèn)作業(yè)、考勤、課堂提問(wèn)考試時(shí)間:考試時(shí)間:2012年秋年秋10月中旬月中旬考試形式考試形式筆試筆試機(jī)試機(jī)試二、機(jī)試:二、機(jī)試: 考試時(shí)間為考試時(shí)間為70分鐘分鐘題型題型分值分值一、改錯(cuò)題一、改錯(cuò)題20分分二、編程題二、編程題20分分總計(jì)總計(jì)40分分課程要求u 課前請(qǐng)做好預(yù)習(xí)課前請(qǐng)做好預(yù)習(xí)u 保持課堂安靜,頭腦清醒,思維活躍保持課堂安靜,頭腦清醒,思維活躍u 做好課堂筆記做好課堂筆記u 認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè)認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè)u 重視上機(jī)實(shí)踐

8、,有效利用寶貴的上機(jī)時(shí)間重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間u“紙上談兵紙上談兵”學(xué)不出程序設(shè)計(jì)本領(lǐng);學(xué)不出程序設(shè)計(jì)本領(lǐng);u只有大量上機(jī)、編程、調(diào)試,才能掌握。只有大量上機(jī)、編程、調(diào)試,才能掌握。u學(xué)好程序設(shè)計(jì)語(yǔ)言的唯一途徑是上機(jī)。學(xué)好程序設(shè)計(jì)語(yǔ)言的唯一途徑是上機(jī)。u你的編程能力和你在機(jī)器上投入的時(shí)間成正比。你的編程能力和你在機(jī)器上投入的時(shí)間成正比。課程要求第第1章章 程序設(shè)計(jì)基礎(chǔ)知識(shí)程序設(shè)計(jì)基礎(chǔ)知識(shí)1.4 1.4 計(jì)算機(jī)軟件計(jì)算機(jī)軟件1.11.1計(jì)算機(jī)簡(jiǎn)介計(jì)算機(jī)簡(jiǎn)介1.21.2程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言1.3 1.3 算法的描述算法的描述一、一、 信息處理和計(jì)算機(jī)信息處理和計(jì)算機(jī)1、信息處理、

9、信息處理 數(shù)值處理數(shù)值處理2、信息處理的分類、信息處理的分類 非數(shù)值處理非數(shù)值處理3、現(xiàn)代計(jì)算機(jī)工作原理:、現(xiàn)代計(jì)算機(jī)工作原理: 程序存儲(chǔ)和程序控制程序存儲(chǔ)和程序控制 (馮(馮諾依曼)諾依曼) 1.1 1.1 計(jì)算機(jī)簡(jiǎn)介計(jì)算機(jī)簡(jiǎn)介二、計(jì)算機(jī)的組成二、計(jì)算機(jī)的組成1 1、運(yùn)算器運(yùn)算器算術(shù)運(yùn)算、邏輯運(yùn)算算術(shù)運(yùn)算、邏輯運(yùn)算2 2、控制器控制器根據(jù)指令控制計(jì)算機(jī)工作根據(jù)指令控制計(jì)算機(jī)工作 運(yùn)算器、控制器和寄存器稱為運(yùn)算器、控制器和寄存器稱為中央處理器中央處理器CPUCPU3 3、I/OI/O設(shè)備設(shè)備提供數(shù)據(jù)傳輸服務(wù)提供數(shù)據(jù)傳輸服務(wù)4 4、總線總線數(shù)據(jù)傳輸?shù)墓餐ǖ罃?shù)據(jù)傳輸?shù)墓餐ǖ? 5、存儲(chǔ)器、存儲(chǔ)

10、器存放數(shù)據(jù)和指令存放數(shù)據(jù)和指令 二進(jìn)制位(二進(jìn)制位(bitbit)00和和1 1的電路的電路 字節(jié)(字節(jié)(ByteByte)若干個(gè)位(若干個(gè)位(8 8個(gè))個(gè)) 存儲(chǔ)單元存儲(chǔ)單元字節(jié)字節(jié) 存儲(chǔ)器存儲(chǔ)器若干個(gè)存儲(chǔ)單元若干個(gè)存儲(chǔ)單元 計(jì)算機(jī)的存儲(chǔ)特性:計(jì)算機(jī)的存儲(chǔ)特性:存存寫寫 取取讀讀1 1.2程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言填補(bǔ)了人與計(jì)算機(jī)交流的鴻溝填補(bǔ)了人與計(jì)算機(jī)交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問(wèn) 題 需 要有 問(wèn) 題 需 要計(jì) 算 機(jī) 解 決計(jì) 算 機(jī) 解 決的人的人交流的鴻溝交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問(wèn) 題 需 要有 問(wèn) 題 需 要計(jì) 算

11、機(jī) 解 決計(jì) 算 機(jī) 解 決的人的人程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言的分類1.機(jī)器語(yǔ)言機(jī)器語(yǔ)言:二進(jìn)制代碼形式,可以被計(jì)算機(jī)直接執(zhí):二進(jìn)制代碼形式,可以被計(jì)算機(jī)直接執(zhí)行,不可移植行,不可移植2.匯編語(yǔ)言匯編語(yǔ)言:用助記符來(lái)代替機(jī)器指令,容易記憶,:用助記符來(lái)代替機(jī)器指令,容易記憶,不可移植不可移植3.高級(jí)語(yǔ)言高級(jí)語(yǔ)言:接近自然語(yǔ)言(英語(yǔ))的程序設(shè)計(jì)語(yǔ)言,:接近自然語(yǔ)言(英語(yǔ))的程序設(shè)計(jì)語(yǔ)言,又稱算法語(yǔ)言,易學(xué)、易用、易維護(hù),可移植性好又稱算法語(yǔ)言,易學(xué)、易用、易維護(hù),可移植性好例:例:FORTRAN、BASIC、PASCAL、C、LISP、PROLOG等等 F0R90源程序源程序 編譯程序

12、編譯程序機(jī)器語(yǔ)言目標(biāo)程序機(jī)器語(yǔ)言目標(biāo)程序 連接構(gòu)建連接構(gòu)建可執(zhí)行程序可執(zhí)行程序1 1.3 算法的描述v 什么是算法?什么是算法?廣義:解決某個(gè)問(wèn)題或處理某個(gè)事件的廣義:解決某個(gè)問(wèn)題或處理某個(gè)事件的 方法和步驟。方法和步驟。現(xiàn)代含義是現(xiàn)代含義是計(jì)算機(jī)解題步驟計(jì)算機(jī)解題步驟。程序設(shè)計(jì)程序設(shè)計(jì)=算法算法+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)算法描述的方法算法描述的方法v 文字說(shuō)明文字說(shuō)明 偽代碼偽代碼 流程圖流程圖 盒式圖(盒式圖(N-S圖)圖) 程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言文字說(shuō)明文字說(shuō)明例如,比較兩數(shù)例如,比較兩數(shù)A、B的大小,輸出較大的數(shù)的大小,輸出較大的數(shù) 粗略的思路:粗略的思路: (1)讀入讀入A、B ( 2)判

13、斷)判斷A是否大于是否大于B (3)若是則輸出)若是則輸出A,否則輸出,否則輸出B (4)結(jié)束)結(jié)束偽代碼偽代碼v一種介于自然語(yǔ)言和程序設(shè)計(jì)語(yǔ)言之間的一種介于自然語(yǔ)言和程序設(shè)計(jì)語(yǔ)言之間的文字和符號(hào)表達(dá)工具描述算法的方法:文字和符號(hào)表達(dá)工具描述算法的方法: IF AB 輸出輸出A ELSE 輸出輸出B END流程圖流程圖使用具有特定含義的圖形符號(hào)來(lái)表示算法。使用具有特定含義的圖形符號(hào)來(lái)表示算法。盒式圖(盒式圖(N-S圖)圖)條件條件滿足滿足不滿足不滿足S1塊塊S2塊塊0 = S0 = I I輸入輸入AS+A = SI I +1 = I I直到直到 I=4I=4輸出結(jié)果輸出結(jié)果 S S第第2章章

14、Fortran90基礎(chǔ)知識(shí)基礎(chǔ)知識(shí)2.4 2.4 程序單元概念程序單元概念2.1Fortran2.1Fortran語(yǔ)言的發(fā)展語(yǔ)言的發(fā)展2.22.2源程序及其構(gòu)成源程序及其構(gòu)成2.3 2.3 語(yǔ)言元素語(yǔ)言元素2.1 Fortran2.1 Fortran語(yǔ)言的發(fā)展簡(jiǎn)史語(yǔ)言的發(fā)展簡(jiǎn)史一、一、FORTRAN 含義及其適用范圍含義及其適用范圍 FORmula TRANslator 公式翻譯器公式翻譯器 科學(xué)和工程計(jì)算問(wèn)題的程序設(shè)計(jì)語(yǔ)言科學(xué)和工程計(jì)算問(wèn)題的程序設(shè)計(jì)語(yǔ)言 是第一門廣泛應(yīng)用的程序語(yǔ)言是第一門廣泛應(yīng)用的程序語(yǔ)言 著名編程語(yǔ)言著名編程語(yǔ)言Fortran創(chuàng)始人巴庫(kù)斯創(chuàng)始人巴庫(kù)斯 巴庫(kù)斯獲圖靈獎(jiǎng)巴庫(kù)斯

15、獲圖靈獎(jiǎng)FortranFortran語(yǔ)言的發(fā)展簡(jiǎn)史語(yǔ)言的發(fā)展簡(jiǎn)史第一個(gè)第一個(gè)FORTRAN語(yǔ)言版本是在語(yǔ)言版本是在1954年提出的,在年提出的,在1957年正式發(fā)布使用。年正式發(fā)布使用。1958 FORTRAN1962 FORTRAN1978 FORTRAN771991.FORTRAN 901997. FORTRAN95 FORRAN95不象不象FORTRAN90在在FORTRAN77添添加很多內(nèi)容,只能視為加很多內(nèi)容,只能視為90的修正的修正版,加強(qiáng)了并行運(yùn)算方面的支持版,加強(qiáng)了并行運(yùn)算方面的支持2.2 FORTRA902.2 FORTRA90源程序基本結(jié)構(gòu)源程序基本結(jié)構(gòu)例例2-1: 見(jiàn)書(shū)見(jiàn)

16、書(shū)P16頁(yè)例題:頁(yè)例題:已知華氏溫度與攝氏溫度之間的換已知華氏溫度與攝氏溫度之間的換算公式為:算公式為: 現(xiàn)輸入某一華氏溫度現(xiàn)輸入某一華氏溫度,請(qǐng)計(jì)算出相應(yīng)的攝氏溫度,請(qǐng)計(jì)算出相應(yīng)的攝氏溫度。)32(95hCTTPROGRAM H_TO_C!Given the Fahrenheit temprature ,to caculate the CentigradeREAL:TC,THREAD*,THTC=5*(TH-32)/9PRINT*,TH,TCEND PROGRAM H_TO_C例例2-2: 見(jiàn)書(shū)見(jiàn)書(shū)P17頁(yè):輸入頁(yè):輸入M個(gè)整數(shù),將其相加,打印出它們個(gè)整數(shù),將其相加,打印出它們的和。的和。P

17、ROGRAM CAL_M_SUMIMPLICIT NONEINTEGER:N,MREAL:T,AN=0;T=0PRINT*,Input number of data:READ*,MDOREAD*,AT=T+AN=N+1IF(N=M) EXITENDDOPRINT*,TEND PROGRAM CAL_M_SUM例例2-3: 求求 該問(wèn)題涉及五個(gè)階乘的相加,可用子該問(wèn)題涉及五個(gè)階乘的相加,可用子程序?qū)崿F(xiàn)階乘。程序?qū)崿F(xiàn)階乘。FUNCTION FACTOR(N) RESULT (FAC_RESULT)IMPLICIT NONEINTEGER:N,FAC_RESULT,IFAC_RESULT=1DO I

18、=1,NFAC_RESULT=FAC_RESULT*IENDDOEND FUNCTION FACTOR PROGRAM CAL_FACTORIMPLICIT NONEINTEGER:FACTOR,S=0,IDO I=4,8S=S+FACTOR(I)ENDDOPRINT*,S=,SEND PROGRAM CAL_FACTOR84!iiFORTRA90FORTRA90源程序基本結(jié)構(gòu)源程序基本結(jié)構(gòu)1、FORTRAN90程序是一種程序是一種分塊結(jié)構(gòu)分塊結(jié)構(gòu),由若干個(gè)程序單元,由若干個(gè)程序單元塊組成:塊組成: 主程序、外部子程序、模塊、塊數(shù)據(jù)單元主程序、外部子程序、模塊、塊數(shù)據(jù)單元 無(wú)論是主程序單元,還

19、是子程序單元,都是獨(dú)立的程序無(wú)論是主程序單元,還是子程序單元,都是獨(dú)立的程序單位,應(yīng)該獨(dú)立編寫,它們的形式相似。單位,應(yīng)該獨(dú)立編寫,它們的形式相似。2、主程序結(jié)構(gòu)、主程序結(jié)構(gòu) PROGRAM 程序名稱程序名稱 程序體程序體 END program 程序名稱程序名稱其中:其中:END既表既表示停止運(yùn)行,又示停止運(yùn)行,又是結(jié)束標(biāo)記。是結(jié)束標(biāo)記。FORTRA90FORTRA90源程序基本結(jié)構(gòu)源程序基本結(jié)構(gòu)3、各程序單元體形式上相同,都由若干行組成:、各程序單元體形式上相同,都由若干行組成: 語(yǔ)句行語(yǔ)句行:說(shuō)明語(yǔ)句說(shuō)明語(yǔ)句:用于說(shuō)明變量的類型、屬性等:用于說(shuō)明變量的類型、屬性等 例:例:INTEGER

20、:X,Y 可執(zhí)行語(yǔ)句可執(zhí)行語(yǔ)句:輸入、賦值、輸出:輸入、賦值、輸出 例:例:A=4;B=B+1非語(yǔ)句行非語(yǔ)句行:注釋語(yǔ)句注釋語(yǔ)句:!后的所有字符都被編譯后的所有字符都被編譯器忽略。器忽略。 可獨(dú)占一行,也可在其它語(yǔ)句之后,可獨(dú)占一行,也可在其它語(yǔ)句之后, 空行為注釋行空行為注釋行(固定格式用固定格式用C和和*)2.3 2.3 語(yǔ)言元素語(yǔ)言元素 Fortran90的語(yǔ)言元素是指在程序設(shè)計(jì)中所用到的基本的語(yǔ)言元素是指在程序設(shè)計(jì)中所用到的基本成分,例如成分,例如字符集、常量、變量、記號(hào)以及其它的基本結(jié)構(gòu)字符集、常量、變量、記號(hào)以及其它的基本結(jié)構(gòu)等。等。只有了解并掌握了這些基本要素,才可能正確自如地使

21、用該種只有了解并掌握了這些基本要素,才可能正確自如地使用該種語(yǔ)言。語(yǔ)言。 2.3.1 FORTRAN902.3.1 FORTRAN90字符集:字符集: 編寫編寫Fortran90程序時(shí),所能使用的所有字符及符號(hào)。程序時(shí),所能使用的所有字符及符號(hào)。 26個(gè)英文字母?jìng)€(gè)英文字母AZ(az)程序中不區(qū)分大小寫)程序中不區(qū)分大小寫在大多數(shù)處理系統(tǒng)中允許使用小寫字母,除了字符串內(nèi)的字符在大多數(shù)處理系統(tǒng)中允許使用小寫字母,除了字符串內(nèi)的字符外,小寫字母等價(jià)于相應(yīng)的大寫字母。外,小寫字母等價(jià)于相應(yīng)的大寫字母。10個(gè)阿拉伯?dāng)?shù)字個(gè)阿拉伯?dāng)?shù)字09 _(下劃線下劃線)注意與減號(hào)(注意與減號(hào)(-)的區(qū)別。)的區(qū)別。 2

22、1個(gè)特殊字符(見(jiàn)表個(gè)特殊字符(見(jiàn)表2-1):): 空格空格 = + - * / ( ) , : . $ !” % & ; ? 注意:注意:1、在、在FOR源程序中,只能使用以上字符源程序中,只能使用以上字符 2、字符型數(shù)據(jù)內(nèi)(即引號(hào)內(nèi))可以出現(xiàn)任意字符、字符型數(shù)據(jù)內(nèi)(即引號(hào)內(nèi))可以出現(xiàn)任意字符(包包括漢字括漢字) 在在Fortran90中,中,將字母、數(shù)字或?qū)S米址幕居行У男蛄袑⒆帜?、?shù)字或?qū)S米址幕居行У男蛄蟹Q為記號(hào),稱為記號(hào),它包括它包括標(biāo)號(hào)、關(guān)鍵字、名字、常數(shù)、運(yùn)算符和定界符標(biāo)號(hào)、關(guān)鍵字、名字、常數(shù)、運(yùn)算符和定界符。例如:。例如:A * SIN(x)+5.3 這個(gè)表達(dá)式包

23、括這個(gè)表達(dá)式包括6個(gè)記號(hào),即個(gè)記號(hào),即A、*、SIN、x、+、5.3。注意:注意: 在字符串內(nèi)部,不能隨意地添加空格。在字符串內(nèi)部,不能隨意地添加空格。例例“ABC”與與“A B C”不同。不同。 在記號(hào)內(nèi)部,也不許隨意地使用空格。在記號(hào)內(nèi)部,也不許隨意地使用空格。例例SIN(X)與與S I N(X)不同。不同。 記號(hào)與記號(hào)之間的空格可以隨意地使用。記號(hào)與記號(hào)之間的空格可以隨意地使用。 多個(gè)空格在語(yǔ)法上與一個(gè)空格的作用相同。多個(gè)空格在語(yǔ)法上與一個(gè)空格的作用相同。 一個(gè)記號(hào)與相鄰關(guān)鍵字、名字、常數(shù)或標(biāo)號(hào)之間,應(yīng)當(dāng)用一個(gè)或多個(gè)空格分一個(gè)記號(hào)與相鄰關(guān)鍵字、名字、常數(shù)或標(biāo)號(hào)之間,應(yīng)當(dāng)用一個(gè)或多個(gè)空格分

24、開(kāi),以避免錯(cuò)誤,同時(shí)也使結(jié)構(gòu)清晰。開(kāi),以避免錯(cuò)誤,同時(shí)也使結(jié)構(gòu)清晰。2.3.2 2.3.2 記號(hào)記號(hào)FortranFortran的數(shù)據(jù)類型(的數(shù)據(jù)類型(1 1)整型整型數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型字符類型字符類型邏輯類型邏輯類型實(shí)型實(shí)型派生類型(用戶自定義類型)派生類型(用戶自定義類型)數(shù)組數(shù)組指針指針復(fù)型復(fù)型FortranFortran的數(shù)據(jù)類型(的數(shù)據(jù)類型(2 2) 在每一基本類型中,依據(jù)不同的處理系統(tǒng)又細(xì)分在每一基本類型中,依據(jù)不同的處理系統(tǒng)又細(xì)分為不同的為不同的種別種別,每一種別都與一個(gè),每一種別都與一個(gè) 整數(shù)相對(duì)應(yīng),此整數(shù)相對(duì)應(yīng),此整數(shù)則稱為整數(shù)則稱為種別參數(shù)種別參數(shù)kind_V

25、alue 。 可在數(shù)值后用下劃線標(biāo)明種別,沒(méi)有下劃線為缺可在數(shù)值后用下劃線標(biāo)明種別,沒(méi)有下劃線為缺省種別。省種別。缺省種別整數(shù)的范圍一般取決于所用計(jì)算機(jī)缺省種別整數(shù)的范圍一般取決于所用計(jì)算機(jī)的字長(zhǎng)。說(shuō)明了種別參數(shù)后,可提高程序的可移植性。的字長(zhǎng)。說(shuō)明了種別參數(shù)后,可提高程序的可移植性。 簡(jiǎn)而言之,種別即決定數(shù)值在計(jì)算機(jī)中存儲(chǔ)的字簡(jiǎn)而言之,種別即決定數(shù)值在計(jì)算機(jī)中存儲(chǔ)的字節(jié)數(shù)。節(jié)數(shù)。 常量的定義常量的定義:常量是程序執(zhí)行過(guò)程中不能變化的量。:常量是程序執(zhí)行過(guò)程中不能變化的量。 基本數(shù)據(jù)類型有五種:基本數(shù)據(jù)類型有五種: 整型、實(shí)型、復(fù)型、字符型和邏輯型整型、實(shí)型、復(fù)型、字符型和邏輯型 前三種屬于數(shù)

26、值類型,后兩種為非數(shù)值類型,主前三種屬于數(shù)值類型,后兩種為非數(shù)值類型,主要用于文字處理和控制。要用于文字處理和控制。2.3.32.3.3基本類型常量基本類型常量整型數(shù)據(jù):微機(jī)支持整型數(shù)據(jù):微機(jī)支持4種種kind_Value:1,2,4,8kind_Value=1的范圍:的范圍: -128127(-2727-1)kind_Value=2的范圍:的范圍: -3276832767(-215215-1)kind_Value=4的的-21474836482147483647(-231231-1) Integer 默認(rèn)默認(rèn)kind_Value的值為的值為4 整型常量又叫整數(shù),整數(shù)值的集合就是數(shù)學(xué)整整型常量

27、又叫整數(shù),整數(shù)值的集合就是數(shù)學(xué)整數(shù)的子集。數(shù)的子集。1.整型常量(整型常量(INTEGER)FORTRAN 90FORTRAN 90通過(guò)通過(guò)KINDKIND值確定整數(shù)的值確定整數(shù)的存儲(chǔ)開(kāi)銷存儲(chǔ)開(kāi)銷、最大位數(shù)最大位數(shù)和和取值取值范圍范圍,如表所示。缺省,如表所示。缺省KINDKIND值則取默認(rèn)值值則取默認(rèn)值4 4。 KINDKIND值值 字節(jié)數(shù)字節(jié)數(shù) 二進(jìn)位數(shù)二進(jìn)位數(shù) 取值范圍取值范圍 1 1 8 -1281 1 8 -128127127 2 2 16 -32768 2 2 16 -327683276732767 4 4 32 -2147483648 4 4 32 -21474836482147

28、48364721474836470 +456 -123 34_2 34_SHORT 12345678998765432_4下劃線后面的量就是種別參數(shù),沒(méi)有下劃線的數(shù)都具下劃線后面的量就是種別參數(shù),沒(méi)有下劃線的數(shù)都具有缺省種別。有缺省種別。例,下列六個(gè)數(shù)都是合法的整數(shù):例,下列六個(gè)數(shù)都是合法的整數(shù): 為了保證計(jì)算機(jī)內(nèi)數(shù)的范圍夠用,就要通過(guò)給定種別為了保證計(jì)算機(jī)內(nèi)數(shù)的范圍夠用,就要通過(guò)給定種別參數(shù)來(lái)約定。種別參數(shù)是由內(nèi)在詢問(wèn)函數(shù)參數(shù)來(lái)約定。種別參數(shù)是由內(nèi)在詢問(wèn)函數(shù)KIND送回的。提送回的。提供的最小范圍是由內(nèi)在函數(shù)供的最小范圍是由內(nèi)在函數(shù)Selected_int_kind送回的。表送回的。表示十進(jìn)

29、制冪的范圍是由內(nèi)在函數(shù)示十進(jìn)制冪的范圍是由內(nèi)在函數(shù)range送回的。送回的。功能:功能:返回一個(gè)給定數(shù)據(jù)的種別參數(shù)。返回一個(gè)給定數(shù)據(jù)的種別參數(shù)。例:例:KIND(0) :為缺省值,其返回值是整型的標(biāo)準(zhǔn)種為缺省值,其返回值是整型的標(biāo)準(zhǔn)種別參數(shù)。別參數(shù)。KIND(2_2): 返回種別參數(shù)返回種別參數(shù)2。關(guān)于關(guān)于KIND函數(shù)函數(shù)格式:格式:SELECTEND_INT_KIND(N) :功能:返回范圍在功能:返回范圍在-10N10N的整數(shù)的的整數(shù)的kind-Value 例:例:selected_int_kind(6)可以返回范圍在可以返回范圍在-106+106(不包括兩端點(diǎn)值)的所有整數(shù)的種別值。(不

30、包括兩端點(diǎn)值)的所有整數(shù)的種別值。為使程序具有可移植性,可將為使程序具有可移植性,可將K6說(shuō)明成符號(hào)常數(shù),說(shuō)明成符號(hào)常數(shù),作為種別常數(shù)來(lái)使用。作為種別常數(shù)來(lái)使用。 INTEGER, parameter:k6=selected_int_kind(6) 則具有則具有K6種別的常數(shù)就可以寫為:種別的常數(shù)就可以寫為:123_K6了。了。SELECTEND_INT_KIND函數(shù)函數(shù)例例2-4 測(cè)試測(cè)試FORTRAN系統(tǒng)的整型種別范圍系統(tǒng)的整型種別范圍PROGRAM INT_KINDIMPLICIT NONEINTEGER:IPRINT*,KIND(0)DO I=1,10PRINT*,I,SELECTED

31、_INT_KIND(I)ENDDOENDPROGRAM INT_KIND 4 1 1 2 1 3 2 4 2 5 4 6 4 7 4 8 4 9 4 10 8 在在FORTRAN90中,也可以表示二進(jìn)制、八中,也可以表示二進(jìn)制、八進(jìn)制、十六進(jìn)制形式的無(wú)符號(hào)整數(shù)。其形式如下:進(jìn)制、十六進(jìn)制形式的無(wú)符號(hào)整數(shù)。其形式如下:二進(jìn)制數(shù):二進(jìn)制數(shù):B101101 或或 B”101101”八進(jìn)制數(shù):八進(jìn)制數(shù):O76210 十六進(jìn)制數(shù):十六進(jìn)制數(shù):Z1FA2整型常數(shù)的其他表示方法整型常數(shù)的其他表示方法判定整數(shù)判定整數(shù), ,指出合法整數(shù)和非法整數(shù)?指出合法整數(shù)和非法整數(shù)?說(shuō)明原因說(shuō)明原因-128-128、358

32、_5358_5、5 5,234234、130_1130_1、+3276+3276、-52467-52467、o136o136實(shí)型常量又叫實(shí)數(shù),它具有數(shù)學(xué)實(shí)數(shù)的近似值。實(shí)型常量又叫實(shí)數(shù),它具有數(shù)學(xué)實(shí)數(shù)的近似值。 實(shí)數(shù)最常見(jiàn)的兩種表示形式是:實(shí)數(shù)最常見(jiàn)的兩種表示形式是:小數(shù)形式和指數(shù)形式小數(shù)形式和指數(shù)形式 小數(shù)形式:小數(shù)形式:由十個(gè)數(shù)字、小數(shù)點(diǎn)及數(shù)符組成的數(shù)。由十個(gè)數(shù)字、小數(shù)點(diǎn)及數(shù)符組成的數(shù)。 指數(shù)形式:即科學(xué)計(jì)數(shù)法,指數(shù)形式:即科學(xué)計(jì)數(shù)法,對(duì)絕對(duì)值相對(duì)較小或很大的實(shí)數(shù)對(duì)絕對(duì)值相對(duì)較小或很大的實(shí)數(shù) 。2.實(shí)型常量(實(shí)型常量(REAL)小數(shù)形式:小數(shù)形式:+/- m.n,+/- m.,+/- .n

33、例例 100.0 .5 5. 注:小數(shù)點(diǎn)必須有。注:小數(shù)點(diǎn)必須有。數(shù)字部分?jǐn)?shù)字部分E(或(或D)指數(shù)部分指數(shù)部分 科學(xué)計(jì)數(shù)法科學(xué)計(jì)數(shù)法 0.876=87610-3 876E-3 =87.6 10-2 87.6E-2 =0.0876 10+1 0.0876E+1 。指數(shù)形式:指數(shù)形式:數(shù)字部分:小數(shù)形式實(shí)數(shù)或整數(shù)數(shù)字部分:小數(shù)形式實(shí)數(shù)或整數(shù)指數(shù)部分:只能為整數(shù)指數(shù)部分:只能為整數(shù) 錯(cuò)例:錯(cuò)例:4E5.6數(shù)字部分不能丟;數(shù)字部分不能丟; 例:例:10-4: E-4(錯(cuò))(錯(cuò)) 1E-4(正確)(正確)以標(biāo)準(zhǔn)化形式(規(guī)格化指數(shù))輸出(以標(biāo)準(zhǔn)化形式(規(guī)格化指數(shù))輸出(=1) 1。數(shù)字部分的值小于。數(shù)字

34、部分的值小于1,且小數(shù)點(diǎn)后的第一位數(shù)字非,且小數(shù)點(diǎn)后的第一位數(shù)字非0 例:例:0.743643E-12 (正確)(正確) 21.835E-12 (錯(cuò))(錯(cuò)) 2。數(shù)字部分有且僅有一位非零的整數(shù)。數(shù)字部分有且僅有一位非零的整數(shù)。 例:例:7.43643E-12 (正確)(正確) 0.21835E-12 (錯(cuò))(錯(cuò))說(shuō)明:說(shuō)明:一般實(shí)數(shù)范圍:一般實(shí)數(shù)范圍:-1038+1038,有效位,有效位78位位 也有的系統(tǒng)允許數(shù)的范圍更大,可以超過(guò)也有的系統(tǒng)允許數(shù)的范圍更大,可以超過(guò)10100。 上溢:上溢:overflow 下溢:當(dāng)下溢:當(dāng)0處理處理 為了能得到理想的范圍和有效數(shù)字,要求說(shuō)明種別類型參數(shù)為了

35、能得到理想的范圍和有效數(shù)字,要求說(shuō)明種別類型參數(shù)值。值。(書(shū)上有誤)例:書(shū)上有誤)例: 則符號(hào)常數(shù)則符號(hào)常數(shù)long提供了至少提供了至少8位精度,以及位精度,以及-1088+1088的值的的值的范圍。范圍。 以此說(shuō)明的實(shí)型常量:以此說(shuō)明的實(shí)型常量: 4.37_long 457.1234_long 就可以在就可以在long指定的精度及數(shù)值范圍內(nèi)進(jìn)行移植。指定的精度及數(shù)值范圍內(nèi)進(jìn)行移植。 實(shí)數(shù)的表示范圍:實(shí)數(shù)的表示范圍:1、PRECISION(4.37_long) 精度至少為精度至少為82、RANGE(4.37_long) 范圍至少范圍至少88次冪次冪兩個(gè)詢問(wèn)函數(shù):兩個(gè)詢問(wèn)函數(shù):常用實(shí)數(shù)一般分為兩

36、種:常用實(shí)數(shù)一般分為兩種: realreal(4 4)單精度(默認(rèn))單精度(默認(rèn)) realreal(8 8)雙精度)雙精度實(shí)數(shù)種別為實(shí)數(shù)種別為8時(shí)常量的表示(時(shí)常量的表示(雙精度數(shù)雙精度數(shù)) 有效位:有效位:15位;位; 數(shù)字部分?jǐn)?shù)字部分D指數(shù)指數(shù) 例:例:1.2D2 復(fù)型常量又叫復(fù)數(shù)。具有數(shù)學(xué)復(fù)數(shù)的近似值。在復(fù)型常量又叫復(fù)數(shù)。具有數(shù)學(xué)復(fù)數(shù)的近似值。在科學(xué)和工程計(jì)算中被廣泛用到。復(fù)數(shù)是實(shí)數(shù)的有序?qū)?,科學(xué)和工程計(jì)算中被廣泛用到。復(fù)數(shù)是實(shí)數(shù)的有序?qū)?,將兩個(gè)實(shí)數(shù)中間用逗號(hào)分隔,然后再放在一對(duì)括號(hào)中將兩個(gè)實(shí)數(shù)中間用逗號(hào)分隔,然后再放在一對(duì)括號(hào)中就構(gòu)成了一個(gè)復(fù)數(shù)。就構(gòu)成了一個(gè)復(fù)數(shù)。 復(fù)數(shù)以復(fù)數(shù)以a+b

37、i的形式來(lái)表示數(shù)值,復(fù)數(shù)中的的形式來(lái)表示數(shù)值,復(fù)數(shù)中的a、b稱為實(shí)部和虛部??蔀閷?shí)數(shù),也可為整數(shù)。稱為實(shí)部和虛部??蔀閷?shí)數(shù),也可為整數(shù)。3.復(fù)型常量(復(fù)型常量(COMPLEX) 數(shù)學(xué)數(shù)學(xué) 2+3i2+3i 一般形式:(實(shí)部系數(shù),虛部系數(shù))一般形式:(實(shí)部系數(shù),虛部系數(shù))一對(duì)常量一對(duì)常量整整實(shí)實(shí)錯(cuò)例:(錯(cuò)例:(1.0/21.0/2,3 3)正例:(正例:(0 0,6 6) (1E5,38) 1E5,38) (1.0_8,4.2) (1.0_8,4.2) (15_4,24_8) (15_4,24_8) FORTRAN90 FORTRAN90 (2 2,3 3)復(fù)型常量的表示:復(fù)型常量的表示: 計(jì)算

38、機(jī)除了存儲(chǔ)數(shù)字之外,也可以在內(nèi)存中記錄計(jì)算機(jī)除了存儲(chǔ)數(shù)字之外,也可以在內(nèi)存中記錄一段文本。字符類型可以記錄的東西非常廣,從鍵盤一段文本。字符類型可以記錄的東西非常廣,從鍵盤輸入的任何東西,不論是數(shù)字、文本或任何特殊符號(hào),輸入的任何東西,不論是數(shù)字、文本或任何特殊符號(hào),它都可以記錄。只記錄一個(gè)字母、符號(hào)時(shí)的數(shù)據(jù)類型它都可以記錄。只記錄一個(gè)字母、符號(hào)時(shí)的數(shù)據(jù)類型稱為稱為“字符字符”,記錄一連串的字符時(shí),就稱為,記錄一連串的字符時(shí),就稱為“字符字符串串”,記錄一個(gè)西文字符需要一個(gè)字節(jié)的存儲(chǔ)空間。,記錄一個(gè)西文字符需要一個(gè)字節(jié)的存儲(chǔ)空間。一個(gè)漢字為兩個(gè)字節(jié)的存儲(chǔ)空間。一個(gè)漢字為兩個(gè)字節(jié)的存儲(chǔ)空間。4.

39、字符型常量(字符型常量(CHARACTER)由一對(duì)單撇號(hào)或一對(duì)雙撇號(hào)之間的字符序列組成。由一對(duì)單撇號(hào)或一對(duì)雙撇號(hào)之間的字符序列組成。例:例: ABCD(ABCD(單撇號(hào))或單撇號(hào))或“4567”4567”(雙引號(hào))(雙引號(hào))注意:注意:區(qū)分字符大小寫區(qū)分字符大小寫 a Aa A 空格有效空格有效 a b aba b ab 字符中含字符中含或或”時(shí)的處理方法:時(shí)的處理方法:如:如:Im a student. Im a student. 可采用兩種表示方法:可采用兩種表示方法: 1 1) Im a student. 2 ) I m a student. 字符長(zhǎng)度:字符串內(nèi)字符的個(gè)數(shù)字符長(zhǎng)度:字符串

40、內(nèi)字符的個(gè)數(shù) 空格算一個(gè),起止界不算,長(zhǎng)度可為空格算一個(gè),起止界不算,長(zhǎng)度可為0。(空串。(空串或或 )字符常量的表示:字符常量的表示:1 1、一般處理系統(tǒng)缺省的字符種別參數(shù)是、一般處理系統(tǒng)缺省的字符種別參數(shù)是KIND(A)KIND(A)返回值。返回值。2 2、若使用非標(biāo)準(zhǔn)種別字符時(shí),、若使用非標(biāo)準(zhǔn)種別字符時(shí),應(yīng)將其種別參數(shù)放在應(yīng)將其種別參數(shù)放在字符常數(shù)的前面字符常數(shù)的前面,以便于簡(jiǎn)化編譯程序分析語(yǔ)句的,以便于簡(jiǎn)化編譯程序分析語(yǔ)句的工作。工作。例如:某處理系統(tǒng)可以用種別參數(shù)值例如:某處理系統(tǒng)可以用種別參數(shù)值1 1來(lái)支持漢字字來(lái)支持漢字字符,在這種情況下,一個(gè)漢字字符常數(shù)可被書(shū)寫成:符,在這種情

41、況下,一個(gè)漢字字符常數(shù)可被書(shū)寫成: 1_”1_”五筆字型輸入法五筆字型輸入法” 字符常量的種別參數(shù):字符常量的種別參數(shù):邏輯型常量只有真(邏輯型常量只有真(.TRUE.).TRUE.)和假(和假(.FALSE.).FALSE.)兩個(gè)值。兩個(gè)值。 邏輯常量通常只用來(lái)給邏輯變量置初值,以及得到某一邏輯常量通常只用來(lái)給邏輯變量置初值,以及得到某一邏輯表達(dá)式的值。邏輯表達(dá)式的值。 其缺省種別與系統(tǒng)有關(guān),實(shí)際種別可通過(guò)其缺省種別與系統(tǒng)有關(guān),實(shí)際種別可通過(guò)KIND(.TRUE.)KIND(.TRUE.)得到。若要指定,可用一個(gè)跟在下劃線后的整型常數(shù)指出,取得到。若要指定,可用一個(gè)跟在下劃線后的整型常數(shù)指出

42、,取值可為值可為1 1,2 2,4 4(缺省)(缺?。?。例如:。例如:.FALSE._2.FALSE._25.邏輯型常量(邏輯型常量(LOGICAL)2.3.4 名字名字用于標(biāo)識(shí)一個(gè)程序成分,例如用于標(biāo)識(shí)一個(gè)程序成分,例如符號(hào)常量符號(hào)常量、變量、派生類型等。、變量、派生類型等。對(duì)于名字有下列要求:對(duì)于名字有下列要求: 1.名字的長(zhǎng)度不能超過(guò)名字的長(zhǎng)度不能超過(guò)31個(gè)字符個(gè)字符 2.名字的組成成分可以是字母、數(shù)字和下劃線名字的組成成分可以是字母、數(shù)字和下劃線 3.名字的第一個(gè)字符必須是字母名字的第一個(gè)字符必須是字母 4.在名字中不能出現(xiàn)空格在名字中不能出現(xiàn)空格 提倡使用具有一定含義的名字,提高程序

43、的清晰度和可提倡使用具有一定含義的名字,提高程序的清晰度和可讀性。讀性。1 1、定義:程序運(yùn)行過(guò)程中值可變化的量、定義:程序運(yùn)行過(guò)程中值可變化的量2 2、命名的規(guī)則、命名的規(guī)則 字母、數(shù)字、下劃線組成字母、數(shù)字、下劃線組成字母開(kāi)頭字母開(kāi)頭長(zhǎng)度長(zhǎng)度1-311-31個(gè)個(gè)錯(cuò)例錯(cuò)例 3A 3A 、 x-3 x-3 、3.14 3.14 、A3 $A3 $2.3.5 變量變量實(shí)際是內(nèi)存中的一個(gè)存儲(chǔ)單元,存放變量的值。實(shí)際是內(nèi)存中的一個(gè)存儲(chǔ)單元,存放變量的值。 特性:取之不盡,一沖就跑,總采用當(dāng)前值參與運(yùn)算。特性:取之不盡,一沖就跑,總采用當(dāng)前值參與運(yùn)算。 例:例:A=2.0 A BA=2.0 A B B

44、=3.0 B=3.0 A=A+B 5.0 15.0 A=A+B 5.0 15.0 B=A B=A* *B B 注:注:A A、B B必須有確定值,如未定義,值不可預(yù)測(cè)必須有確定值,如未定義,值不可預(yù)測(cè)(有時(shí)按(有時(shí)按0 0處理)處理)3、變量的含義、變量的含義 基本類型有五種,同常量。五種變量的基本類型有五種,同常量。五種變量的類型說(shuō)明關(guān)鍵字分別是:類型說(shuō)明關(guān)鍵字分別是:整型:整型:INTEGER INTEGER 實(shí)型:實(shí)型: REALREAL復(fù)型:復(fù)型:COMPLEXCOMPLEX 邏輯型:邏輯型:LOGICALLOGICAL字符型:字符型:CHARACTERCHARACTER 4、變量的類

45、型、變量的類型 變量在使用之前應(yīng)進(jìn)行說(shuō)明。說(shuō)明的格式是:變量在使用之前應(yīng)進(jìn)行說(shuō)明。說(shuō)明的格式是:將關(guān)鍵字放在最前面,待說(shuō)明的變量放在后面,中將關(guān)鍵字放在最前面,待說(shuō)明的變量放在后面,中間用間用雙分隔符雙分隔符:隔開(kāi),對(duì)于同時(shí)說(shuō)明的多個(gè)變量,隔開(kāi),對(duì)于同時(shí)說(shuō)明的多個(gè)變量,變量之間用逗號(hào)分隔。變量之間用逗號(hào)分隔。例:例: INTEGER:I,J,KINTEGER:I,J,K REAL:X,Y,Z REAL:X,Y,Z 變量的說(shuō)明變量的說(shuō)明 1.在變量說(shuō)明的同時(shí),可以給變量賦初值。在變量說(shuō)明的同時(shí),可以給變量賦初值。 INTEGER:I=5,J=126 REAL:X=7.2,Z,W=774.2 2.

46、在說(shuō)明變量的同時(shí)也可說(shuō)明其種別在說(shuō)明變量的同時(shí)也可說(shuō)明其種別 REAL(KIND=4):X,Y 或或 REAL(4):X,Y 3.在說(shuō)明變量的同時(shí),還可說(shuō)明變量的屬性在說(shuō)明變量的同時(shí),還可說(shuō)明變量的屬性 INTEGER,PARAMETER:I=5,J=123 REAL,DIMENSION(1:10):AFortran90關(guān)于變量說(shuō)明的新功能:關(guān)于變量說(shuō)明的新功能:2.3.6 派生數(shù)據(jù)類型派生數(shù)據(jù)類型(第第9章)章) 根據(jù)需要而由基本數(shù)據(jù)類型定義新的數(shù)據(jù)類型。在一個(gè)派根據(jù)需要而由基本數(shù)據(jù)類型定義新的數(shù)據(jù)類型。在一個(gè)派生類型中可包含多個(gè)基本類型。生類型中可包含多個(gè)基本類型。如:如:TYPE STU

47、DENT (定義開(kāi)始定義開(kāi)始) CHARACTER(LEN=20):DEPARTMENT CHARACTER(LEN=10):CLASS CHARACTER(LEN=15):NAME INTEGER:NUMBER (成員定義)(成員定義) END TYPE STUDENT (定義結(jié)束)(定義結(jié)束)派生類型的使用派生類型的使用派生類型變量的定義:派生類型變量的定義: TYPE(STUDENT):PERSON變量的賦值:變量的賦值: PERSON=(”COMPUTER”,”92_2”,”LI LIN”,21)成員的表示:成員的表示: PERSON%CLASS=“92_2” PERSON%NAME=

48、“LI LIN”2.3.7 基本類型數(shù)組(第基本類型數(shù)組(第7章)章) 數(shù)組是具有相同類型的元素的有序集合。數(shù)組在使用之前必須說(shuō)明。數(shù)組是具有相同類型的元素的有序集合。數(shù)組在使用之前必須說(shuō)明。數(shù)組的說(shuō)明:數(shù)組的說(shuō)明: INTEGER,DIMENSION(1:50):X 數(shù)組名為數(shù)組名為X,類型為整型,元素個(gè)數(shù)為,類型為整型,元素個(gè)數(shù)為50。 INTEGER,DIMENSION(5,3):B 數(shù)組名為數(shù)組名為B,類型為整型,元素個(gè)數(shù)為,類型為整型,元素個(gè)數(shù)為5*3個(gè)個(gè) 維界:維界:1:50 下界:上界下界:上界 缺省下界為缺省下界為1 數(shù)組中元素的個(gè)數(shù)稱為它的大小,維數(shù)稱為秩,每維中元素的個(gè)數(shù)稱

49、數(shù)組中元素的個(gè)數(shù)稱為它的大小,維數(shù)稱為秩,每維中元素的個(gè)數(shù)稱為維的長(zhǎng)度,長(zhǎng)度的序列稱為形。為維的長(zhǎng)度,長(zhǎng)度的序列稱為形。通過(guò)指定下標(biāo)值的辦法來(lái)實(shí)現(xiàn)。下標(biāo)值可為整數(shù)或整型表達(dá)式。通過(guò)指定下標(biāo)值的辦法來(lái)實(shí)現(xiàn)。下標(biāo)值可為整數(shù)或整型表達(dá)式。下標(biāo)值不能越界,個(gè)數(shù)必須與數(shù)組的秩相等。下標(biāo)值不能越界,個(gè)數(shù)必須與數(shù)組的秩相等。注意:注意:1.允許對(duì)數(shù)組名進(jìn)行運(yùn)算。允許對(duì)數(shù)組名進(jìn)行運(yùn)算。 2.允許對(duì)數(shù)組片段進(jìn)行操作。允許對(duì)數(shù)組片段進(jìn)行操作。 所謂數(shù)組片段是指數(shù)組中某些連續(xù)元素的重新組合。數(shù)所謂數(shù)組片段是指數(shù)組中某些連續(xù)元素的重新組合。數(shù)組片段也是一個(gè)數(shù)組。組片段也是一個(gè)數(shù)組。數(shù)組的引用:數(shù)組的引用:2.3.8

50、字符子串(第字符子串(第8章)章) 字符型常量又叫字符串。一個(gè)字符串的一部分稱為子字符字符型常量又叫字符串。一個(gè)字符串的一部分稱為子字符串或字符子串。串或字符子串。字符數(shù)組字符數(shù)組: CHARACTER(LEN=1),),DIMENSION(80):ROW引用:引用: ROW(I)字符串:字符串: CHARACTER(LEN=80):ROW引用:引用: ROW(I:I););ROW(4:7)特殊:特殊:ROW(:I) 相當(dāng)于相當(dāng)于 ROW(1:I) ROW(I:) 相當(dāng)于相當(dāng)于 ROW(I:80) ROW(:) 相當(dāng)于相當(dāng)于 ROW(1:80)2.3.9 數(shù)據(jù)對(duì)象和子對(duì)象(第數(shù)據(jù)對(duì)象和子對(duì)象(

51、第7章)章)由一個(gè)名引用的對(duì)象:由一個(gè)名引用的對(duì)象:有名標(biāo)量有名標(biāo)量(簡(jiǎn)單變量)簡(jiǎn)單變量)有名數(shù)組有名數(shù)組由子對(duì)象標(biāo)志符引用的子對(duì)象是:由子對(duì)象標(biāo)志符引用的子對(duì)象是:數(shù)組元素?cái)?shù)組元素?cái)?shù)組片段數(shù)組片段結(jié)構(gòu)分量結(jié)構(gòu)分量子串子串2.4 程序單元概念程序單元概念 程序單元是程序單元是FORTRAN語(yǔ)言的基本成分。程序單元可以語(yǔ)言的基本成分。程序單元可以是是主程序主程序、子程序子程序、模塊模塊或或塊數(shù)據(jù)程序單元塊數(shù)據(jù)程序單元。子程序可以是。子程序可以是函數(shù)子程序或子例行子程序。模塊包含的說(shuō)明是對(duì)其它的程函數(shù)子程序或子例行子程序。模塊包含的說(shuō)明是對(duì)其它的程序單元形成可訪問(wèn)性。塊數(shù)據(jù)單元用來(lái)對(duì)有名公用區(qū)中的數(shù)序單元形成可訪問(wèn)性。塊數(shù)據(jù)單元用來(lái)對(duì)有名公用區(qū)中的數(shù)據(jù)對(duì)象賦初值。(據(jù)對(duì)象賦初值。(F90中不提倡使用)中不提倡使用)2.4.1 主程序主程序 主程序是不包含主程序是不包含SUBROUTINE、FUNCTION、MODULE或或BLOCK DATA語(yǔ)句作為其第一條語(yǔ)句的程序單元。語(yǔ)句作為

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論