Fortran 77
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

計算機程式 Fortran 77 語言 PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on
  • Presentation posted in: General

計算機程式 Fortran 77 語言. 張基昇製作. 目錄. 計算機程式 課程實施方式 四化一甲乙計算機程式 課程概述 規劃 學習項目 Fortran 程式 語言講義 Fortran 程式範例. 課程實施方式. 學習態度 追求知識的理性需求與 欣然為之的感性態度。 學習策略 範例演練中精奠實基, 深邃思考中創造新機。. 課程實施方式. 課程實施 老師 規劃應用實境,鋪陳學習軌域; 勾勒思維方向,誘發學習渴望。

Download Presentation

計算機程式 Fortran 77 語言

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Fortran 77

計算機程式Fortran 77 語言

張基昇製作


Fortran 77

目錄

  • 計算機程式課程實施方式

  • 四化一甲乙計算機程式課程概述

  • 規劃學習項目

  • Fortran 程式語言講義

  • Fortran 程式範例


Fortran 77

課程實施方式

  • 學習態度追求知識的理性需求與欣然為之的感性態度。

  • 學習策略範例演練中精奠實基,深邃思考中創造新機。


Fortran 77

課程實施方式

  • 課程實施

    • 老師 規劃應用實境,鋪陳學習軌域; 勾勒思維方向,誘發學習渴望。

    • 學生 輸入和輸出,建立資訊傳輸的管道; 加減和乘除,完成科學工程的計算; 迴圈的應用,處理科學研究的資料; 邏輯的引導,提供計算策略的引用; 標示和說明,傳承計算程式的生命。


Fortran 77

課程實施方式

  • 課程成果

    • 學生 熟悉書寫電腦的高階語言, 了解邏輯判別的應用技巧; 善用矩陣迴圈的強勁功能, 設計工程計算的應用程式。

    • 老師?!%#※$¥!?。


Fortran 77

課程實施方式

  • 課堂實施方式每週之單節課程在指定教室上課,每週之雙節課於電子計算機中心電腦教室上機操作;

  • 『上自天文,下至地理;大自天體,小至次原子粒子。』任何問題皆可提出。


Fortran 77

課程概述

  • 主要課程內容包含電腦基本常識、程式設計簡介、資料型態、流程控制、函式、副程式、陣列與字串、檔案與應用程式設計。

  • An introduction to basic computer concept, programming, data types, flow of control, functions, subroutine, arrays, strings, files, and applications


Fortran 77

規劃學習項目

  • 在 Windows 視窗作業模式與 MS-DOS 作業模式間切換

  • MS-DOS 作業模式下常用10個操作指令:

    • dir、 doskey、 exit

    • cd、md、rd

    • type、del、copy、ren


Fortran 77

規劃學習項目

  • 用 notepad 編輯程式

  • 用 GNU Compiler 編譯程式

  • 用 pe2 編輯程式

  • 用 MS-FORTRAN 編譯程式


Fortran 77

規劃學習項目

  • 各個範例程式輸入與執行,了解各該程式的計算目的,以及設計邏輯,共 6 類。

    • (1). 8(語言指令練習):t11.for ~ t18.for

    • (2). 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


Fortran 77

規劃學習項目

  • 相關數學解析法與作業

    • 線性迴歸 – 最小二平方法:檢量線(校正曲線)的製作

    • 聯立方程式解析 – 矩陣解析法

  • 作業

    • 牛頓法求解(作業):vdW EOS 之體積求解

    • 半間距法求解(作業):vdW EOS 之體積求解

    • 疊代法求解(作業):vdW EOS 之體積求解

    • 數值微分運算(作業)

    • 數值積分運算(作業)

    • 微分方程式求解(作業)


Fortran

電腦與 FORTRAN 語言

  • 電腦

    • 中央處理單元CPU(central processing unit)

    • 主記憶體Main memory:電源關閉資料不復記憶

    • 次記憶體Secondary memory:電源關閉資料可記憶著,硬式磁碟機…等

    • 輸入與輸出裝置input/output devices:Keyboard;CRT screens and Printers


Fortran 77

電腦中數據與資訊的表示

  • 電腦中數據與資訊的表示

    • 比特bit:電腦記憶體由無數個開或關(1或0)稱為一個bit

    • 拜特byte:一群八個bit來表示一二進位數字稱為一個byte

    • 字元word:在電腦中另一更大群的bit組合稱為word

    • 二進位制binary number system與十進位制decimal number system

    • 字元數據character data、整數數據integer data、實數數據real data


Fortran 77

電腦語言的一面觀

  • 電腦可執行之運算

    • 載入 load、儲存 store、

    • 加 add、減 subtract、

    • 乘 multiply、除 division、

    • 比較 comparison。


Fortran 77

電腦語言的一面觀

  • 語言

    • 機械語言:由0與1兩種符號所組合,電腦可直接接受的語言訊號。

    • 組合語言:以對人類而言更有意義的文字與符號書寫,用來指揮電腦。

    • 高階語言:以更接近人類的語言結構書寫,以能用來指揮電腦。

      • Ada、Basic、C、COBOL、Pascal、Fortran…等。


Fortran 77

電腦語言的一面觀

  • 福傳語言Fortran language:

    • 數值分析Numerical analysis、

    • 工程計算Technical calculations;

    • 超級電腦supercomputers。

  • 編譯compile:高階語言皆須轉換成電腦可接受之機械語言。


Fortran 77

程式陳述的結構

  • 電腦語言程式主要由

    • 可執行陳述executable statements與

    • 不可執行陳述non-executable statements組成。

  • 每一程式單元program unit為一完整陳述亦即為單一可分別編譯之FORTRAN碼。


Fortran 77

程式陳述的結構

  • FORTRAN77 陳述的格式可編譯為 80 個字元欄位

    • 註解欄 1:C 或 * 字元 表示該列陳述為註解說明不編譯

    • 陳述標號欄 :1~ 5,1~99999之數字 指定之標號(label)

    • 連續欄: 6 輸入任一符號 上一列無法完成一程式單元陳述於本列繼續陳述

    • 陳述主體欄: 7-72 輸入宣告陳述、執行陳述與各個陳述等可編譯欄位

    • 識別欄: 73-80 識別說明用


Fortran1

FORTRAN程式的結構

  • 一完整電腦程式須包含有

    • 宣告declaration、

    • 可執行execution、

    • 結束termination等三部份陳述。


Fortran2

FORTRAN程式的結構

  • 宣告部份:

    • 變數之形式

      • 字元character、

      • 整數integer、

      • 實數real、邏輯logical)

    • 陣列dimension、

    • 共用common、

    • 輸入read、輸出write。


Fortran3

FORTRAN程式的結構

  • 可執行部份,依處理之問題解析,所書寫之運算式輸入與輸出資料。(數學方法)

  • 結束部份:

    • 停止執行之陳述指令

      • 停止, stop

      • 停止,回呼叫之程式 return

    • 程式終止之陳述指令 end

  • 程式的型(style) 建立程式書寫設計之個人品味與風格。


Fortran 77

常數與變數

  • 整數常數與變數INTEGER, INTEGER*2, INTEGER*4

  • 實數常數與變數REAL, REAL*4, REAL*8, DOUBLE PRECISION

  • 複數常數與變數COMPLEX, COMPLEX*8, COMPLEX*16, DOUBLE COMPLEX

  • 字元常數與變數CHARACTER[*length]

  • 邏輯常數與變數LOGICAL, LOGICAL*2, LOGICAL*4


Fortran 77

指定陳述與算術計算

  • 指定陳述-----Ex.variable-name = expression

  • 標準運算子operators

  • Operators+Addition-Subtraction*Multiplication/Division**Exponentiation

  • 整數算術-----Ex.3/4=05/4=1

  • 實數算術-----Ex.3./4.=0.755./4.=1.25


Fortran 77

指定陳述與算術計算

  • 運算之層次 (算術計算式之計算先後次序)[1].括號;[2].指數由右至左;[3].乘除;[4].加減。(除了指數外,同層次則由左至右依序運算)

  • 混合模式算術-----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 )


Fortran 77

指定陳述與邏輯計算

  • 關係運算子 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 大於 等於


Fortran 77

指定陳述與邏輯計算

  • 組合邏輯運算子combinational logic operator

    • L1 .NOT. L2 Logical NOT

    • L1 .AND. L2 Logical AND

    • L1 .OR. L2 Logical OR

    • L1 .EQV. L2 Logical equivalence

    • L1 .NEQV. L2 Logical non-equivalence


Fortran 77

指定陳述與邏輯計算

  • 在程式中大部份之主要的分支 (branching) 或迴圈 (looping) 結構是由邏數值所控制。


Fortran 77

內存函數

  • 電腦是以二進位制運算,所以僅可以作四種運算

    • 加 add、減 subtract、乘 multiply 與除 division 之運算

    • 冪次則是作多次相乘,指數可為小數

    • 其他函數則以泰勒展開式或其他展開式做計算,電腦內建以函數供呼叫


Fortran 77

輸入與輸出的格式

  • 輸入與輸出的格式分為兩類

    • 自由格式free format

    • 格式化formated

  • 自由格式輸入與輸出

    • read(*,*) variable1,variable2,…

    • write(*,*) variable1, variable2,…


Fortran 77

輸入與輸出的格式

  • 格式化的描述子(1)

    • I rIw I 輸入或輸出之資料型態為整數 r 重覆之次數,r = 1 時可不用輸入w 佔據之總位數

    • F rFw.d F 輸入或輸出之資料型態為實數 d小數位數

    • E rEw.d E 輸入或輸出之資料型態為科學符號型態之含指數實數

    • D rDw.d D 倍準數之輸入或輸出


Fortran 77

輸入與輸出的格式

  • 格式化的描述子(2)

    • X wX X 輸出資料時各資料項(data item) 與資料項間設定 w 空格數

    • H wHh1..hw H 輸出設定於後之文數資料(h1h2…hw)

    • A rAw A 輸入與輸出字元資料

    • L rLw L 輸出為邏輯型態資料


Fortran 77

輸入與輸出的格式

  • 格式化的描述子(3)

    • T Tw TRw TLw T 報表定位設定 TRw自現在位置向右移w個位置TLw自現在位置向左移w個位置

    • / / 設定跳行( )

    • r(…,…) r 重覆次數

    • ' ' 'h1h2…hn'文數資料(h1h2…hn)直接輸出


Fortran4

t11.for

t12.for

t13.for

t14.for

t15.for

t16.for

t17.for

t18.for

t21.for

Fortran 程式範例


T11 for

t11.for

  • c t11.f

  • write(*,*)3+4

  • stop

  • end


T12 for

t12.for

  • c t12.f

  • a=3.

  • b=4.

  • write(*,*)a+b

  • stop

  • end


T13 for

t13.for

  • c t13.f

  • a=3.

  • b=4.

  • sum=a+b

  • write(*,*) 'sum of a and b equal to ',sum

  • stop

  • end


T14 for

t14.for

  • c t14.f

  • a=3.

  • b=4.

  • sum=a+b

  • write(*,1000)sum

  • 1000 format (5x,'sum of a and b equal to ',f10.2)

  • stop

  • end


T15 for

t15.for

  • c t15.f

  • write(*,*)'input a and b value'

  • read(*,*)a,b

  • sum=a+b

  • write(*,1000)sum

  • 1000 format (5x,'sum of a and b equal to ',e12.5)

  • stop

  • end


T16 for

t16.for

  • write(*,*)'input a and b value'

  • write(*,*)' a ='

  • read(*,*)a

  • write(*,*)' b ='

  • read(*,*)b

  • sum=a+b

  • write(*,1000)sum

  • 1000 format(5x,'sum of a&and b equal to ',e12.5)

  • stop

  • end


T17 for

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)sum

  • 1000 format(5x,'Sum of a and b equal to ',f12.5)

  • stop

  • end


T18 for

t18.for

  • open(1,file='t17d.dat',status='old')

  • open(6,file='t18.prn',status='new')

  • read(1,1001)a,b

  • 1001 format(2f10.5)

  • sum=a+b

  • write(6,1000)sum

  • 1000 format (5x,'sum of a and b equal to ',e12.5)

  • stop

  • end


T21 for

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,c

  • 1000 format (2x,'The temperature of (',f6.2,') degree f is equal’,

  • &’ to (',f6.2,') degree c',//)

  • go to 100

  • stop

  • end


Fortran 77

您可已曉得!

  • 劇情如何發展!

  • 敬請期待!


  • Login