結構化程序設計課件_第1頁
結構化程序設計課件_第2頁
結構化程序設計課件_第3頁
結構化程序設計課件_第4頁
結構化程序設計課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、結構化程序設計課件結構化程序設計課件1. 關系及邏輯運算符選擇結構中的條件判別式由邏輯表達式組成。邏輯表達式中的運算符,包括算術運算符、關系運算符和邏輯運算符。* 算術運算符:在第2章介紹過;* 關系運算符:=(.EQ.);/=(.NE.);(.GT.);=(.GE.);(.LT.);=90) A=A+1 IF (Final=80.AND.Final=70.AND.Final=60.AND.Final70) D=D+1 IF (Final=90) THEN A=A+1 ELSE IF (Final=80) THEN B=B+1 ELSE IF (Final=70) THEN C=C+1 ELS

2、E IF (Final=60) THEN D=D+1 ELSE F=F+1 END IF上述有5個IF 語句,一個學生的得分要做5次判斷,算法效率低程序執行一旦發現某個邏輯條件為真,就不會再去判斷其他的邏輯條件,最不利的是對于小于60的情況,系統才要判斷4次,本算法效率明顯高于前一種。這里再給出IF 塊更一般的構造形式: IF (logical-expr1) THEN block1 ELSE IF (logical-expr2) THEN block2 ELSE IF (logical-expr3) THEN block3 ELSE blockE END IF程序執行一旦發現某個邏輯條件為真,

3、就不會再去判斷其他的邏輯條如果 logical-expr1為真,block1 被執行;如果 logical-expr1為假,logical-expr2 被估值,如果logical-expr2為真,block2被執行;以此類推,如果沒有表達式是真,blockE被執行。ELSE IF 結構使得一次只能有一個邏輯條件為真。一個IF 塊可以被命名,增加程序的可讀性。如: GRADE: IF (Fianl=60) THEN PRINT*,Pass ELSE GRADE PRINT*,Fail END IF GRADE IF 塊也可以嵌套使用,如求方程ax2+bx+c=0的根,詳見下列子程序: 如果 lo

4、gical-expr1為真,block1 被執行; SUBROUTINE Proc(A,B,C) !求方程的根 REAL,INTENT(IN):A,B,C REAL X1,X2,Disc Disc = B*B 4*A*C Outer:IF (A /=0) THEN Inner:IF (Disc=A.and. CH=a.and. CH Weight)THEN PRINT*,Too high. Try again ELSE PRINT*,Too low. Try again END IF END DO PRINT*,”Youre right!” END SUBROUTINE SUBROUTINE

5、Proc_2 DO WRITE(*,(“Your guess:”),ADVANCE=NO) READ*,Guess IF(Guess = Weight)THEN PRINT*,”Youre right!” ELSE IF(Guess Weight)THEN PRINT*,Too high. Try again ELSE PRINT*,Too low. Try again END IF IF(Guess = Weight)EXIT END DO END SUBROUTINEIF(Guess Weight)THEN SUBROUTINE Proc_3 DO WHILE(Guess/=Weight)

6、 WRITE(*,(“Your guess:”),ADVANCE=NO) READ*,Guess IF(Guess Weight)THEN PRINT*,Too high. Try again ELSE PRINT*,Too low. Try again END IF END DO PRINT*,”Youre right!” END SUBROUTINE END PROGRAM在上面的程序中,共有3個非確定性循環來實現猜數。 SUBROUTINE Proc_3三種非確定性 DO 循環分別為:第1種: DO IF(logical-expr) EXIT block END DO 第2種: DO b

7、lock IF (logical-expr) EXIT END DO第3種: DO WHILE (logical-expr) block END DO* 第一種循環和第二種循環可以相互轉化,其中Fortran90 中EXIT命令,用于跳出DO循環。* 關于CYCLE,DO 循環遇到 CYCLE 命令,跳過其后面的程序代碼,程序流程回到 DO 循環開頭,接著執行下一次循環三種非確定性 DO 循環分別為:小 結(1)任何算法都可以由三種基本結構來實現,順序結構、選擇結構、循環結構;(2)選擇結構 IF 塊的構造形式為: IF THEN ELSE IF THEN ELSE END IF,合理排列邏輯條件,一次只能有一個邏輯條件為真。 在只有一個分支的情況下, IF 塊簡化為 IF 語言。 對單一的整型、字符型或邏輯型變量/表達式進行判斷,宜采用簡明的 CASE 結構。(3)確定性循環的構造形式為: DO I = A,B,C END DO,取消了語言標號,以 END DO 代替 CONTINUE;(4)非確定性循環的構造

溫馨提示

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

評論

0/150

提交評論