《计算机程式Fortran77语言.ppt》由会员分享,可在线阅读,更多相关《计算机程式Fortran77语言.ppt(43页珍藏版)》请在三一办公上搜索。
1、1,計算機程式Fortran 77 語言,張基昇製作,2,目錄,計算機程式課程實施方式四化一甲乙計算機程式課程概述 規劃學習項目Fortran 程式語言講義 Fortran 程式範例,3,課程實施方式,學習態度追求知識的理性需求與欣然為之的感性態度。學習策略範例演練中精奠實基,深邃思考中創造新機。,4,課程實施方式,課程實施老師 規劃應用實境,鋪陳學習軌域;勾勒思維方向,誘發學習渴望。學生 輸入和輸出,建立資訊傳輸的管道;加減和乘除,完成科學工程的計算;迴圈的應用,處理科學研究的資料;邏輯的引導,提供計算策略的引用;標示和說明,傳承計算程式的生命。,5,課程實施方式,課程成果學生 熟悉書寫電腦
2、的高階語言,了解邏輯判別的應用技巧;善用矩陣迴圈的強勁功能,設計工程計算的應用程式。老師?!¥!?。,6,課程實施方式,課堂實施方式每週之單節課程在指定教室上課,每週之雙節課於電子計算機中心電腦教室上機操作;上自天文,下至地理;大自天體,小至次原子粒子。任何問題皆可提出。,7,課程概述,主要課程內容包含電腦基本常識、程式設計簡介、資料型態、流程控制、函式、副程式、陣列與字串、檔案與應用程式設計。An introduction to basic computer concept,programming,data types,flow of control,functions,subroutine
3、,arrays,strings,files,and applications,8,規劃學習項目,在 Windows 視窗作業模式與 MS-DOS 作業模式間切換MS-DOS 作業模式下常用10個操作指令:dir、doskey、exitcd、md、rdtype、del、copy、ren,9,規劃學習項目,用 notepad 編輯程式用 GNU Compiler 編譯程式用 pe2 編輯程式用 MS-FORTRAN 編譯程式,10,規劃學習項目,各個範例程式輸入與執行,了解各該程式的計算目的,以及設計邏輯,共 6 類。(1).8(語言指令練習):t11.for t18.for(2).4(換算應用)
4、:t21.for t24.for(3).3(資訊處理與排序):t31.for t33.for(4).2(數據迴歸):fit1.for、fit2.for(5).1(一元二次方程式求解):squ.for(6).9(矩陣運算):mat1.for mat9.for,11,規劃學習項目,相關數學解析法與作業線性迴歸 最小二平方法:檢量線(校正曲線)的製作聯立方程式解析 矩陣解析法作業牛頓法求解(作業):vdW EOS 之體積求解半間距法求解(作業):vdW EOS 之體積求解疊代法求解(作業):vdW EOS 之體積求解數值微分運算(作業)數值積分運算(作業)微分方程式求解(作業),12,電腦與 FOR
5、TRAN 語言,電腦中央處理單元CPU(central processing unit)主記憶體Main memory:電源關閉資料不復記憶次記憶體Secondary memory:電源關閉資料可記憶著,硬式磁碟機等輸入與輸出裝置input/output devices:Keyboard;CRT screens and Printers,13,電腦中數據與資訊的表示,電腦中數據與資訊的表示比特bit:電腦記憶體由無數個開或關(1或0)稱為一個bit拜特byte:一群八個bit來表示一二進位數字稱為一個byte字元word:在電腦中另一更大群的bit組合稱為word二進位制binary numb
6、er system與十進位制decimal number system字元數據character data、整數數據integer data、實數數據real data,14,電腦語言的一面觀,電腦可執行之運算載入 load、儲存 store、加 add、減 subtract、乘 multiply、除 division、比較 comparison。,15,電腦語言的一面觀,語言機械語言:由0與1兩種符號所組合,電腦可直接接受的語言訊號。組合語言:以對人類而言更有意義的文字與符號書寫,用來指揮電腦。高階語言:以更接近人類的語言結構書寫,以能用來指揮電腦。Ada、Basic、C、COBOL、Pas
7、cal、Fortran等。,16,電腦語言的一面觀,福傳語言Fortran language:數值分析Numerical analysis、工程計算Technical calculations;超級電腦supercomputers。編譯compile:高階語言皆須轉換成電腦可接受之機械語言。,17,程式陳述的結構,電腦語言程式主要由可執行陳述executable statements與不可執行陳述non-executable statements組成。每一程式單元program unit為一完整陳述亦即為單一可分別編譯之FORTRAN碼。,18,程式陳述的結構,FORTRAN77 陳述的格式可
8、編譯為 80 個字元欄位註解欄 1:C 或*字元 表示該列陳述為註解說明不編譯陳述標號欄:1 5,199999之數字 指定之標號(label)連續欄:6 輸入任一符號 上一列無法完成一程式單元陳述於本列繼續陳述陳述主體欄:7-72 輸入宣告陳述、執行陳述與各個陳述等可編譯欄位識別欄:73-80 識別說明用,19,FORTRAN程式的結構,一完整電腦程式須包含有宣告declaration、可執行execution、結束termination等三部份陳述。,20,FORTRAN程式的結構,宣告部份:變數之形式字元character、整數integer、實數real、邏輯logical)陣列dime
9、nsion、共用common、輸入read、輸出write。,21,FORTRAN程式的結構,可執行部份,依處理之問題解析,所書寫之運算式輸入與輸出資料。(數學方法)結束部份:停止執行之陳述指令 停止,stop停止,回呼叫之程式 return程式終止之陳述指令 end程式的型(style)建立程式書寫設計之個人品味與風格。,22,常數與變數,整數常數與變數INTEGER,INTEGER*2,INTEGER*4實數常數與變數REAL,REAL*4,REAL*8,DOUBLE PRECISION複數常數與變數COMPLEX,COMPLEX*8,COMPLEX*16,DOUBLE COMPLEX字元
10、常數與變數CHARACTER*length邏輯常數與變數LOGICAL,LOGICAL*2,LOGICAL*4,23,指定陳述與算術計算,指定陳述-Ex.variable-name=expression標準運算子operatorsOperators+Addition-Subtraction*Multiplication/Division*Exponentiation整數算術-Ex.3/4=05/4=1實數算術-Ex.3./4.=0.755./4.=1.25,24,指定陳述與算術計算,運算之層次(算術計算式之計算先後次序)1.括號;2.指數由右至左;3.乘除;4.加減。(除了指數外,同層次則由左
11、至右依序運算)混合模式算術-Ex.1+1/4=11.+1/4=1.1+1./4=1.25混合模式算術與指數Ex.result=y*n:(y*y*y,n times);result=y*x:(y*y*y,x times),25,指定陳述與邏輯計算,關係運算子 rational operator.EQ.Equal to 相等.NE.Not equal to 不相等.LT.Less than 小於.LE.Less than or equal to 小於等於.GT.Greater than 大於.GE.Greater than or equal to 大於 等於,26,指定陳述與邏輯計算,組合邏輯運算
12、子combinational logic operatorL1.NOT.L2 Logical NOTL1.AND.L2 Logical ANDL1.OR.L2 Logical ORL1.EQV.L2 Logical equivalenceL1.NEQV.L2 Logical non-equivalence,27,指定陳述與邏輯計算,在程式中大部份之主要的分支(branching)或迴圈(looping)結構是由邏數值所控制。,28,內存函數,電腦是以二進位制運算,所以僅可以作四種運算加 add、減 subtract、乘 multiply 與除 division 之運算 冪次則是作多次相乘,指數
13、可為小數其他函數則以泰勒展開式或其他展開式做計算,電腦內建以函數供呼叫,29,輸入與輸出的格式,輸入與輸出的格式分為兩類自由格式free format格式化formated自由格式輸入與輸出read(*,*)variable1,variable2,write(*,*)variable1,variable2,30,輸入與輸出的格式,格式化的描述子(1)I rIw I 輸入或輸出之資料型態為整數 r 重覆之次數,r=1 時可不用輸入w 佔據之總位數F rFw.d F 輸入或輸出之資料型態為實數 d小數位數E rEw.d E 輸入或輸出之資料型態為科學符號型態之含指數實數D rDw.d D 倍準數之
14、輸入或輸出,31,輸入與輸出的格式,格式化的描述子(2)X wX X 輸出資料時各資料項(data item)與資料項間設定 w 空格數H wHh1.hw H 輸出設定於後之文數資料(h1h2hw)A rAw A 輸入與輸出字元資料L rLw L 輸出為邏輯型態資料,32,輸入與輸出的格式,格式化的描述子(3)T Tw TRw TLw T 報表定位設定 TRw自現在位置向右移w個位置TLw自現在位置向左移w個位置/設定跳行()r(,)r 重覆次數 h1h2hn文數資料(h1h2hn)直接輸出,33,Fortran 程式範例,t11.fort12.fort13.fort14.for,t15.fo
15、rt16.fort17.fort18.fort21.for,34,t11.for,c t11.f write(*,*)3+4 stop end,35,t12.for,c t12.f a=3.b=4.write(*,*)a+b stop end,36,t13.for,c t13.f a=3.b=4.sum=a+b write(*,*)sum of a and b equal to,sum stop end,37,t14.for,c t14.f a=3.b=4.sum=a+b write(*,1000)sum1000 format(5x,sum of a and b equal to,f10.2)
16、stop end,38,t15.for,c t15.f write(*,*)input a and b value read(*,*)a,b sum=a+b write(*,1000)sum1000 format(5x,sum of a and b equal to,e12.5)stop end,39,t16.for,write(*,*)input a and b value write(*,*)a=read(*,*)a write(*,*)b=read(*,*)b sum=a+b write(*,1000)sum1000 format(5x,sum of a&and b equal to,e
17、12.5)stop end,40,t17.for,open(1,file=t17d.dat,status=old)open(11,file=t17.prn,status=new)read(1,*)a,b sum=a+b write(11,1000)sum1000 format(5x,Sum of a and b equal to,f12.5)stop end,41,t18.for,open(1,file=t17d.dat,status=old)open(6,file=t18.prn,status=new)read(1,1001)a,b1001 format(2f10.5)sum=a+b wri
18、te(6,1000)sum1000 format(5x,sum of a and b equal to,e12.5)stop end,42,t21.for,100 write(*,*)read the temperature in degrees of f write(*,1001)1001 format(5x,if f=9999 then stop,/,5x,f=)read(*,*)f if(f.ge.9999)stop c=(f-32.)*5./9.write(*,1000)f,c1000 format(2x,The temperature of(,f6.2,)degree f is equal,&to(,f6.2,)degree c,/)go to 100 stop end,43,您可已曉得!,劇情如何發展!敬請期待!,