




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
程序設計基礎——Fortran95授課教師:凱定吉聯(lián)系方式:QQ11706865新浪微博:swjtu_kai信息學院2016.3期末考核標準1.平時出勤15%2.實驗報告20%3.半期考試15%4.期末考試50%本門課程的主要內容Fortran95概述Fortran95程序設計基礎順序結構程序設計選擇結構程序設計循環(huán)結構程序設計數(shù)組函數(shù)與子程序
文件
派生類型與結構體指針模塊常用數(shù)值算法Quickwin程序與VB混合編程第1章Fortran95概述1.1程序設計與程序設計語言1.2Fortran語言發(fā)展簡史1.3Fortran95語言的特點1.4程序設計引例1.5IVF編譯環(huán)境與上機步驟第2章Fortran95程序設計基礎2.1Fortran95的字符集、標識符和關鍵字2.2Fortran95程序的書寫格式2.3Fortran95的數(shù)據(jù)類型2.4常量和變量2.5Fortran95的算術運算符與算術表達式2.6Fortran95標準函數(shù)第3章順序結構程序設計3.1賦值語句3.2輸入和輸出語句3.3end語句、stop語句和pause語句第4章選擇結構程序設計4.1關系運算符和關系表達式4.2邏輯運算符和邏輯表達式4.3邏輯if語句4.4塊if結構4.5塊if結構的嵌套4.6塊case結構第5章循環(huán)結構程序設計5.1do循環(huán)結構5.2dowhile循環(huán)結構5.3循環(huán)的流程控制第6章數(shù)組6.1數(shù)組的概念6.2數(shù)組的定義6.3給數(shù)組賦初值6.4對數(shù)組的操作6.5數(shù)組的保存規(guī)則6.6數(shù)組的輸入和輸出6.7動態(tài)數(shù)組6.8數(shù)組應用舉例第7章函數(shù)與子程序7.1語句函數(shù)7.2函數(shù)子程序7.3子例行程序7.4程序單元之間的數(shù)據(jù)傳遞:虛實結合7.5特殊的子程序類型7.6數(shù)據(jù)共用存儲單元與數(shù)據(jù)塊子程序第8章文件與設備8.1物理設備與邏輯設備8.2文件8.3外部文件分類8.4文件基本操作8.5文件的讀寫操作第9章quickwin程序9.1quickwin程序設計基礎9.2quickwin程序處理的用戶交互9.3quickwin基本控件使用9.4quickwin的圖形設計第10章VB和Fortran的混合編程10.1動態(tài)鏈接庫10.2VB和FortranDLL之間的約定10.3VB和FortranDLL混合編程實例第1章Fortran95概述第一章:Fortran95概述學習目標:了解程序設計
了解Fortran語言發(fā)展簡史;了解Fortran95語言的特點;熟悉Fortran95的編譯環(huán)境;掌握編程的上機步驟。
計算機能夠完成預定的任務是計算機硬件和軟件協(xié)同工作的結果借助已有的應用軟件程序設計
程序是計算機為完成某一個任務所必需執(zhí)行的一系列指令的集合。
程序是軟件的主要表現(xiàn)形式,程序設計是軟件實現(xiàn)的主要手段,程序設計語言是程序設計的基本工具。什么是程序?例:教師節(jié)要到了,學校對教齡滿30年的教職工發(fā)放榮譽證書,要求從存放教職工檔案的“d:\zgda.dat”文件中,顯示出教齡滿30年的教職工的姓名和所在部門。用Fortran執(zhí)行任務的程序可編寫如下:什么是程序?
programMain
implicitnone
charactername*10,department*20
integerschoolage,i
open(1,file="f:\CODE\zgdata.dat")
doi=1,4!假設有四個數(shù)據(jù)記錄
read(1,*)name,department,schoolage
if(schoolage>=30)print*,name,department,schoolage
enddo
endprogramMain什么是程序?
程序是用計算機能識別的語言所描述的解決實際問題的方法和步驟。
一個計算機程序主要描述了兩部分內容:(1)問題的每個對象及它們之間的關系——數(shù)據(jù)結構(2)處理動作和這些動作的先后順序以及它們所作用的對象,要遵守的規(guī)則。——算法什么是程序?計算機程序具有以下共同的性質:
(1)目的性 (2)分步性 (3)有序性 (4)有限性 (5)操作性什么是程序?什么是程序設計?對于初學者來說,往往把程序設計簡單地理解為只是編寫一個程序。這是不全面的。程序設計反映了利用計算機解決問題的全過程,包含多方面的內容,而編寫程序只是其中的一個方面。使用計算機解決實際問題,通常是先要對問題進行分析并建立數(shù)學模型,然后考慮數(shù)據(jù)的組織方式和算法,并用某一種程序設計語言編寫程序,最后調試程序,使之運行后能產生預期的結果。這個過程稱為程序設計?!纠?-1】輸入三個數(shù)據(jù),計算它們的算術平均值和幾何平均值。分析:假設用a,b,c分別表示三個數(shù),在數(shù)學上,要計算這三個數(shù)的算術平均值和幾何平均值,采用以下公式:什么是程序設計?可按照以下步驟進行:第1步:定義a,b,c以及存放計算結果的變量ave1和ave2第2步:輸入數(shù)據(jù)到a,b,c第3步:分別利用公式計算算術平均值和幾何平均值第4步:輸出計算結果如何編寫程序在計算機上實現(xiàn)上述公式的計算呢?什么是程序設計?programMainreala,b,c,ave1,ave2 !變量定義說明read*,a,b,c !輸入變量A和B的值ave1=(a+b+c)/3 !計算算術平均值ave2=(a*b*c)**(1.0/3) !計算幾何平均值print*,”算術平均值為:",ave1 !輸出ave1的值print*,"幾何平均值為:",ave2 !輸出ave2的值EndprogramMain四個基本步驟:(1)分析問題,確定數(shù)學模型或方法。(2)設計算法,確定功能。(3)選擇編程工具(語言),編寫程序。(4)調試程序,輸出結果。什么是程序設計?算法設計是程序設計的主要步驟。算法是指為解決給定問題而需要計算機去一步一步執(zhí)行的有窮操作過程的描述。一個算法必須具有以下特征:
(1)有窮性
(2)確定性
(3)可執(zhí)行性
(4)數(shù)據(jù)輸入
(5)數(shù)據(jù)輸出什么是程序設計?算法所謂算法,就是為解決一個問題而采取的方法和步驟。如:描述太極拳動作的圖譜是太極拳的算法、機器的使用說明書是機器的算法,數(shù)學公式就是解數(shù)學題的算法。對同一個問題,可以有不同的解決方法和步驟,也就是有不同的算法。為了有效地解決問題,不僅需要保證算法正確,還要考慮算法的質量,選擇合適的算法。如:求自然數(shù)1到100的和。(1)1+2=33+3=66+4=10┄┄(2)(1+100)*50=5050算法分類計算機算法就是計算機能執(zhí)行的算法。分為兩大類:數(shù)值運算算法求數(shù)值解,主要是用于科學計算領域非數(shù)值運算法適用范圍極為廣泛,最常見的是用于事務管理領域。如圖書館檢索、人事管理、行車調度管理的。三種基本結構1966年,Bohra和Jacopini提出用下面的三種基本結構作為表示一個良好算法的基本單元。順序結構:各個操作按順序執(zhí)行。ab選擇結構:也叫分支結構。此結構中必須包含一個判斷框,根據(jù)給定的條件p是否成立而選擇執(zhí)行A框或B框。pABYN注意:無論條件p是否成立,只能執(zhí)行A框或B框之一,決不可都執(zhí)行。A框或B框之一可以為空。三種基本結構循環(huán)結構:按給定的條件p是否成立,決定反復執(zhí)行某一部分操作。分為當型(While型)循環(huán)結構和直到型(Until型)循環(huán)結構。當型(While型)循環(huán)結構:先判斷條件,成立時執(zhí)行操作A,再判斷,成立時再執(zhí)行A,直至條件不成立為止。pA成立直到(型)循環(huán)結構:先執(zhí)行操作A,然后判斷條件p,成立時再執(zhí)行操作A,再判斷,直至條件不成立時為止。pA不成立成立不成立三種基本結構N-S流程圖
AB條件p真假AB當條件p成立時A直到條件p不成立A三種基本結構共同特點只有一個入口只有一個出口結構內的每一部分都有機會被執(zhí)行到,也就是說,對于每一個框,都應當有一條從入口到出口的路徑通過它。結構內不存在“死循環(huán)”由基本結構所構成的算法屬于“結構化”算法。基本結構不一定只限于以上三種,凡滿足以上四個特點的結構都可以作為基本結構。如:多分支選擇結構。從根本上講,程序就是用計算機語言描述的算法。算法是程序設計的核心和基礎。算法構造的思維方法與一般數(shù)學系統(tǒng)的思維方法有所不同,理解、熟悉和習慣算法構造的思維方法,是學習計算機程序設計的基本內容、主要難點與重點。從某種意義上說,算法設計能力的培養(yǎng)實際上就是對合理進行計算能力的培養(yǎng),而要發(fā)現(xiàn)這種合理性,尋得“簡捷算法”,首先就必須要有很好的觀察能力和對基礎知識的良好掌握。什么是程序設計?程序的處理對象是數(shù)據(jù),每個數(shù)據(jù)都有一定的特性和關聯(lián),因此為了更好的處理和操作,要研究數(shù)據(jù),對數(shù)據(jù)進行有規(guī)律的組織和構造。在算法設計中,數(shù)據(jù)的組織和構造都有其基本方式和規(guī)律,這種組織和構造方式稱為數(shù)據(jù)結構。
對于不同的數(shù)據(jù)結構,程序中要采用不同的處理方法什么是程序設計?Wirth提出了一個著名的公式來表達程序的實質:
程序=數(shù)據(jù)結構+算法什么是程序設計?
算法設計好后,選擇一種程序設計語言來描述算法,即編寫程序,得到程序代碼。例如上面例題的源程序。要正確合理的編寫程序,必須掌握程序語言的語句、函數(shù)、結構、語法等。
FORTRAN語言的數(shù)據(jù)結構,語句,函數(shù),結構,語法等以及一些相關的常用算法。
什么是程序設計?0010001100000010-----將2送累加器A0000001100000011-----將3與累加器相加,結果在累加器00110111-----將累加器數(shù)取反,求反碼00010111-----將累加器數(shù)加1,求補碼,結果為-50000001100000100-----將4與累加器相加,結果-1在累加器00110111-----將累加器數(shù)取反,求反碼00010111-----將累加器數(shù)加1,求補碼,結果為100000010-----將累加器數(shù)1從總線輸出MOVA,2H-----將2送累加器AADDA,3H-----將3與累加器相加,結果在累加器CPLA-----將累加器數(shù)取反,求反碼INCA-----將累加器數(shù)加1,求補碼,結果為-5ADDA,4H-----將4與累加器相加,結果-1在累加器CPLA-----將累加器數(shù)取反,求反碼INCA-----將累加器數(shù)加1,求補碼,結果為1OUTLBUS,A-----將累加器數(shù)1從總線輸出print*,2+3-4-----計算2+3-4,并輸出end機器語言程序匯編語言程序高級語言程序低級語言高級語言程序設計語言機器語言目標程序
高級語言源程序解釋一句執(zhí)行一句
編譯程序
解釋程序
高級語言源程序程序設計語言?Fortran語言的發(fā)展FORTRAN語言是世界上第一個高級程序設計語言,50年代初由IBM公司的JohnBacuus領導的一個小組研制。FORTRAN是英文“FORmulaTRANslator”的縮寫,譯為“公式翻譯器”,廣泛應用于科學和工程計算領域。FORTRAN語言以其特有的功能在數(shù)值、科學和工程計算領域發(fā)揮著重要作用。FORTRAN語言對程序設計語言的研究和發(fā)展有較大的影響。隨著計算機科學技術的飛速發(fā)展,F(xiàn)ORTRAN語言也不斷得到完善和充實,從傳統(tǒng)FORTRAN,到結構化FORTRAN,再到具有現(xiàn)代特征的FORTRAN90、FORTRAN95。Windows下Fortran編譯器使用1.CompaqVisualFortran(CVF)2005年以前Fortran90/95
的Win32
開發(fā)環(huán)境多采用CompaqVisualFortran6.x,2005年CVF
開發(fā)團隊加盟到Intel
公司,HP
宣布其CVF6.6
截至2005年12月31日,IVF9.0
將作為其新一代后繼編譯器。2.IntelVisualFortran(IVF)IVF是在CVF的基礎上開發(fā)的Fortran編譯器,擁有CVF
豐富的語言功能,而且隨著計算規(guī)模的增大,對計算內存的要求必須采用64位的程序才能夠滿足我們的要求,但CVF沒有提供64位系統(tǒng)的編譯平臺。Windows下Fortran運
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)環(huán)保設備批量購置及檢測規(guī)范執(zhí)行服務合同
- 培訓知識講座方案課件
- 水基型滅火器培訓課件
- 培訓知識傳承步驟課件
- 水力學與橋涵水文課件
- 培訓清潔工消防知識課件
- 二零二五年度醫(yī)藥企業(yè)廉潔經營與員工誠信承諾合同
- 二零二五年度模特學校兼職模特聘用合同
- 2025版鋼構廠房鋼結構加工配送安裝合同范本
- 二零二五年度跨國貿易公司汽車貨物運輸合同
- 天府新區(qū)招商推介報告
- 2024-2025學年人教版數(shù)學五年級下學期期末試卷(含答案)
- 高空作業(yè)安全技術交底完整
- 營運車誤工費協(xié)議合同模板
- 消防設施操作員(中級監(jiān)控方向)理論知識考試(重點)題庫600題(含答案解析)
- 企業(yè)領導力課件百度云
- HTD9000-X5S儀表自動化培訓與技能競賽綜合裝置【說明書】A420241009
- 電力電纜及通道檢修規(guī)程QGDW 11262-2014(文字版)
- (完整版)常見中藥材和中藥飲片造假、摻假現(xiàn)象及鑒別方法
- 協(xié)同育人機制:家校社聯(lián)動的實踐邏輯與路徑
- 《鄉(xiāng)村治理理論與實踐》課件第五章 鄉(xiāng)村治理的機制
評論
0/150
提交評論