fortran第1、2章.ppt_第1頁
fortran第1、2章.ppt_第2頁
fortran第1、2章.ppt_第3頁
fortran第1、2章.ppt_第4頁
fortran第1、2章.ppt_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、FORTRAN語言-FORTRAN 77結(jié)構化編程,譚浩強,田淑清編蕭先生,發(fā)表:崔洛梅Email:精說多練Fortran77,全部使用最新的Fortran77列舉了大量的完整程序例題,完整套練習問題和解答第1章補正機和補正機程序第3章Fortran語言設定補正第4章邏輯運算和選擇構造第5章實現(xiàn)Fortran的數(shù)據(jù)構造第7章數(shù)據(jù)的輸入輸出第8章常用算法的程序設定補正例第9章排列第10章句子函數(shù)第11章子程序第12章數(shù)據(jù)共通記憶單元和算法數(shù)據(jù)結(jié)構=編程,1.1算法的概念,第一章算法,例1店鋪退房,當天100件收入相加,要求打印總和。 (1)將第一個收入輸入到校正器的算法(2)將第二個收入輸入到計

2、算機中(3)加上兩個以上的收入(4)將第三個收入輸入到校正器中,1.2個校正器算法的例子(5)將它加到前兩個收入的和上(199 ) 算法可以實現(xiàn),但是不好! 引入“循環(huán)”的修正算法。 將“計數(shù)變量”n設定為(2)“累計變量”t,初始值為零(T=0),使得(1)n的初始值為零,即N=0。 (3)在“輸入變量”a中輸入數(shù)字(4)將a和t的值相加,放入變量t中,即A T=T; 在(5)n的值上加1,即,N 1=N(N的值表示累計的個數(shù)) (N100 )時,反轉(zhuǎn)到(3)繼續(xù)執(zhí)行,否則執(zhí)行(7)、(7)并打印總和t的值。 算法的優(yōu)點是“迭代”的概念,t是迭代變量,“推法”也稱為“迭代法”,其基本思想是將

3、復雜的修正過程轉(zhuǎn)換為簡單過程的多次迭代。 每次重復都會根據(jù)舊值傳遞新值,并將舊值替換為新值。 例2中求出的值。 算法如下:(S=0(S,其中s是迭代變量); N=1(N表示分母); (3)S 1/N=S,(4)N 1=N; 如果是(N100 ),則打印(6)、(6)s的值(即求出的和),如果不是執(zhí)行(3)以后的各步驟。 然后使用“迭代次數(shù)”實現(xiàn)以下運算:算法必須具有()窮性。 算法必須在執(zhí)行了貧窮的步驟之后結(jié)束。 不要包括不結(jié)束的循環(huán)。 ()確定性。 算法的每個步驟必須正確定義。 不要把曖昧和曖昧混為一談。 ()具有0個以上的輸入量,也就是說,具有在開始運行算法之前首先給予該算法的量。 ()算

4、法執(zhí)行完成后,有一個或多個輸出量。 例如,求m和n的最大公約數(shù)r。 m和n是兩個輸入量,r是輸出量。 ()可行性。 算法的各個步驟可以正確地進行。 /進行B/A除法運算,a為零時,不能執(zhí)行。 (有效性),1.3算法的特性,算法的表現(xiàn):自然語言傳統(tǒng)的流程圖N-S結(jié)構流程圖偽代碼PAD圖,如何表現(xiàn)1.4算法,1 .流程圖以某種形式的圖表現(xiàn)的算法。 流程圖由具有特定意義的框和流程線組成。末端幀處理幀判定幀循環(huán)幀輸入輸出幀連接點指向線、以往的流程圖中使用的符號:例1店鋪決算、對當天100件的收入相加,要求打印總和。 將“計數(shù)變量”n設定為(2)“累計變量”t,初始值為零(T=0),使得(1)n的初始值

5、為零,即N=0。 (3)在“輸入變量”a中輸入數(shù)字(4)將a和t的值相加,放入變量t中,在(5)n的值上加1,即,n1=n(6)n100時,返回(3)繼續(xù)執(zhí)行,否則執(zhí)行(7)、(7)并求和t 傳統(tǒng)流程圖:自然語言:例2中求得的值。假設(1)s=0是重復變量),(N=1(N表示分母); (3)S 1/N=S,(4)N 1=N; 如果是(N100 ),則打印(6)、(6)s的值(即求出的和),如果不是執(zhí)行(3)以后的各步驟。自然語言:現(xiàn)有的流程圖:2 .結(jié)構化程序設定修正作為程序的基本單位規(guī)定了以下3個基本結(jié)構,(2)確定選擇結(jié)構、(1)確定順序結(jié)構、(3)確定循環(huán)結(jié)構、(3)在結(jié)構的各部分中應當

6、具有被執(zhí)行的機會(4)無死循環(huán)。 3 .結(jié)構化流程圖(n-s ) (其中一個簡單指令用矩形表示(框中寫入一個簡單指令) )、序列結(jié)構被確定為用、(2)選擇結(jié)構或下一形式的框:表示的終止條件執(zhí)行N100、N100還循環(huán), 例2的算法的結(jié)構化流程圖,若(1)s=0(2)n=1(3)n100則執(zhí)行(6),否則求前進到(7)的例3 (到100項為止)的值,判定100項的絕對值是否大于0.005 分析:素數(shù)除了1和本身,是不能被其他自然數(shù)整除的自然數(shù)。 要確定自然數(shù)n是否是素數(shù),可以用2 n-1中的一個數(shù)去除n,如果有可以被n整除的數(shù),則n不是素數(shù),否則n是素數(shù)。 必須周期性測試2n-1的各數(shù)除去n,構

7、成程序中的1個周期。 其中一個可以完成循環(huán)的時候。 例:判斷98是否為素數(shù)。 297的一個數(shù)除以98,for(i=2; i=97; I )中斷(98 % I=0)。n、L=.T .在IN-1且l的情況下,執(zhí)行,I=2,N-S流程圖:以往的流程圖:結(jié)構化程序設定修正方法:結(jié)構化程序設定修正樣式和程序結(jié)構正規(guī)化程序的易讀性,修正和維護容易人們進行信息處理的2.2計算機配置2.3將信息存儲在計算機上的方法2.4計算機語言和程序,計算機語言通常由機器語言匯編語言高級語言表示,機器語言機器語言由二進制代碼“0”和“1”表示,被分為直接由計算機識別和運行的語言舉例來說,命令01000110的作用可為使計算

8、機執(zhí)行加法,且指令00011101的作用可為使計算機執(zhí)行一次減法,從而處理問題機器語言的特點:不容易記住各種代碼及其意思,而且制作的程序直觀性差,很難檢查和調(diào)試。 另外,機器語言是機器指向語言,對于不同形式的修正計算機,對于同一問題作成的機器語言程序相互不通。 但是,這種程序修正功能能夠直接識別執(zhí)行,且高速。 如果ADD A、6 MOV A、OUT LOAD B SUB B、a需要在內(nèi)存a中的數(shù)據(jù)中添加6,則以前的某些命令的格式為ADD A、6比二進制01000110容易記憶。 匯編語言和匯編程序,匯編語言是用助記符表示的面向機器的編程語言。用匯編語言寫的符號程序稱為匯編語言源程序,計算機不能

9、直接識別并執(zhí)行該源程序,通過專用設定的匯編程序加工并轉(zhuǎn)換,使匯編語言源程序由0或者1個代碼組成匯編語言與機器語言有良好的對應關系,所以修訂機在將匯編語言翻譯成機器語言時不需要做很多工作。 匯編器:高級語言、高級語言是類似于自然語言和數(shù)學描述語言的編程語言,脫離了特定的機器。 以前的一些匯編命令的優(yōu)點是A=A 6 WHITE(*,10 ) a 10格式(1x,f5.2)讀(*,*)B B=B-A比匯編語言更容易讀取, 1 .學習機器指令無需了解計算機的工作原理和內(nèi)部結(jié)構,就能夠容易地利用計算機運算。例如: A=A 6 READ(*,*)B 2.適用于各種計算機系統(tǒng)。 高級語言FORTRAN面向科

10、學訂正的語言PASCAL構造編程語言c具有高級數(shù)據(jù)構造和低級語言特性的通用語言PROLOG邏輯語言等等。 面向過程編程的思想是自上而下,階段性地努力。 面向過程編程的缺點:數(shù)據(jù)和處理數(shù)據(jù)的操作相互分離成獨立的實體,數(shù)據(jù)結(jié)構一旦改變,處理所有相關數(shù)據(jù)的操作必須相應修改。 不適合制作復雜的大規(guī)模軟件程序。面向進程(結(jié)構化)編程語言:面向進程的程序的結(jié)構按功能分為幾個基本模塊,各模塊之間的關系盡量簡單,各模塊的功能相對獨立,這些模塊聯(lián)合起來形成樹結(jié)構。 常用的面向?qū)ο蟮木幊陶Z言: visualbasicvisualfortranvisualcjava等。 面向?qū)ο蟮木幊谭椒ǎ喊烟幚頂?shù)據(jù)和數(shù)據(jù)的操作匯

11、總起來,作為相互依存、不可分離的整體的對象。 在同類對象中抽象化共性,形成類。 類中的數(shù)據(jù)由本類的方法處理。 類通過外部接口與外部取得聯(lián)系,對象與對象之間通過消息進行通信。 面向?qū)ο缶幊谭椒ǖ膬?yōu)點:代碼重用性好,維護性好。 面向?qū)ο缶幊谭椒ǖ奶攸c:包裝性、繼承性、多態(tài)性。 面向?qū)ο蟮木幊陶Z言:例如兩點距離的修正算法。 (面向?qū)ο蟮木幊毯兔嫦蜻M程的編程的不同),另一方面,面向進程的編程# include # includestructpointintx; 英特爾; 距離(一英寸、二英寸、一英寸、二英寸)英寸p。 p=sqrt(pow(x2-x1),2) pow(y2-y1),2 ) ) :返回(p ); 語音顯示(intd )打印機(dist=% dn,d ); void主()點p 1、p2; 反沖擊; p1.x=100; p1.y=100; p2.x=500; p2.y=400; 距離(p2.y、p2.x. p1.y、p2.y )。 顯示(顯示); 二、面向?qū)ο缶幊? include # includeclasspointintx 1、y1; int x2、y

溫馨提示

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

評論

0/150

提交評論