freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

流程控制與邏輯運(yùn)算-資料下載頁

2025-01-16 04:43本頁面
  

【正文】 select case(operator) case(39。+39。) ans = a+b * case(39。39。) ans = ab case(39。*39。) ans = a*b case(39。/39。) ans = a/b case default ! 輸入其它符號不處理 write(*,(39。Unknown operator 39。,A1)) operator stop ! 結(jié)束程序 end select write(*,(,A1,39。=39。,)) a,operator,b,ans stop end 50 54 其他流程控制 541 GOTO ?從 Fortran 77之前就流傳下來的古老的“跳轉(zhuǎn)”語句 ?不建議使用 ?使用 GOTO會(huì)使編寫的程序在結(jié)構(gòu)上變亂,導(dǎo)致程序代碼難以閱讀,這里介紹是希望大家能看懂一些用古典風(fēng)格編寫的程序。 ?GOTO命令就是提供程序員一個(gè)任意跳躍到所賦值“行代碼”的那一行程序位置來執(zhí)行程序的能力 * * 判斷一個(gè)人是否過重的程序用 GOTO改寫后的形式。 [] PROGRAM ex0514 IMPLICIT NONE REAL height ! 記錄身高 REAL weight ! 記錄體重 WRITE(*,*) height: READ(*,*) height ! 讀入身高 WRITE(*,*) weight: READ(*,*) weight ! 讀入體重 IF ( weight height100 ) GOTO 200 ! 上面不成立 , 沒有跳到 200才會(huì)執(zhí)行這里 100 WRITE(*,*) Under control. GOTO 300 ! 下一行不能執(zhí)行所以要跳到 300. 200 WRITE(*,*) Too fat!” 300 STOP END * 使用 GOTO編寫的“循環(huán)” [] PROGRAM ex0515 IMPLICIT NONE INTEGER I INTEGER N PARAMETER(N=10) DATA I /0/ 10 WRITE(*, 39。(1X,A3,I2)39。 ) 39。I=39。,I I=I+1 IF ( I .LT. N ) GOTO 10 STOP END * GOTO還有一種用法,程序代碼中可以一次提供好幾個(gè)跳躍點(diǎn),根據(jù) GOTO后面的算式來選擇要使用哪一個(gè)跳躍點(diǎn)。稱為計(jì)算 GOTO語句。 形式 : goto(label1, label2, label3, …, lablek), int_expr label1到 lablek是可執(zhí)行語句的行代碼。 int_expr表達(dá)式計(jì)算出一個(gè) 1和 k之間的整形數(shù)。如果 int_expr的值為 1,轉(zhuǎn)去行代碼為 label1的語句執(zhí)行, int_expr的值為 k,轉(zhuǎn)去行代碼為labelk的語句執(zhí)行。如果 label的值小于 1或者大于 k,將引發(fā)錯(cuò)誤。 * PROGRAM ex0516 IMPLICIT NONE INTEGER I INTEGER N DATA I,N /2,1/ C I/N=1時(shí) GOTO 10, I/N=2時(shí) GOTO 20, I/N=3時(shí) GOTO 30 C I/N1或 I/N3時(shí)不做 GOTO,直接執(zhí)行下一行 GOTO(10,20,30) I/N 10 WRITE(*,*) 39。I/N=139。 GOTO 100 20 WRITE(*,*) 39。I/N=239。 GOTO 100 30 WRITE(*,*) 39。I/N=3‘ 100 STOP END [] * ?IF判斷還有一種叫做算術(shù)判斷的方法,做法和 GOTO類似。 ?形式: if(arithmetic_expression) label1, label2, label3 其中 arithmetic_expression可以是任何整形、實(shí)型算術(shù)表達(dá)式。 label1, label2和 label3是可執(zhí)行語句的行代碼。 當(dāng) arithmetic_expression的值為負(fù)時(shí),執(zhí)行行代碼為 label1的語句,當(dāng) arithmetic_expression的值為 0時(shí),執(zhí)行行代碼為label2的語句,當(dāng) arithmetic_expression的值為正時(shí),執(zhí)行行代碼為 label的語句。 542 IF與 GOTO的聯(lián)用 0 =0 0 * [] PROGRAM ex0517 IMPLICIT NONE REAL A, B REAL C DATA A, B /, C=AB C C0就 GOTO 10, C=0就 GOTO 20, C0就 GOTO 30 IF ( C ) 10, 20, 30 10 WRITE(*,*) ‘AB39。 GOTO 40 20 WRITE(*,*) A=B 39。 GOTO 40 30 WRITE(*,*) ‘AB‘ 40 STOP END 57 543 PAUSE, CONTINUE, STOP ?PAUSE :暫停執(zhí)行,直到用戶按下 Enter鍵才會(huì)繼續(xù)執(zhí)行。 ?CONTINUE: 繼續(xù)向下執(zhí)行程序, f90后很少使用 ?STOP:結(jié)束程序執(zhí)行 * 58 55 二進(jìn)制的邏輯運(yùn)算 ?二進(jìn)制的邏輯運(yùn)算和 IF中的邏輯判斷式不太相同,比較接近單純的數(shù)學(xué)運(yùn)算。 0 .and. 0 = 0 0 .and. 1 = 0 1 .and. 0 = 0 1 .and. 1 = 1 ?F90的庫函數(shù): IAND( ) IOR( ) 用來做二進(jìn)制的 AND和 OR運(yùn)算,是把輸入的兩個(gè)整數(shù)中,同樣位置的位進(jìn)行邏輯運(yùn)算。 a=2 !a等于二進(jìn)制的 010 b=4 !b等于二進(jìn)制的 100 c=iand(a, b) !c=0,也就是二進(jìn)制的 000 c=ior(a, b) !c=6,也就是二進(jìn)制的 110 * * integer :: a a=B“10” ! a=2 a=O“10” ! a=8 a=Z“10” ! a=16 Fortran 90在設(shè)置整數(shù)時(shí),可以不用十進(jìn)制的方法,而使用其他進(jìn)制的方法來做設(shè)置。把數(shù)字用雙引號括起來,最前面加上 B代表這段數(shù)字是二進(jìn)制數(shù)字,同理最前面用 O代表要使用八進(jìn)制,用 Z代表要使用 16進(jìn)制。 Fortran程序的調(diào)試 ? 編寫包含分支和循環(huán)結(jié)構(gòu)的程序比編寫簡單的順序結(jié)構(gòu)程序更容易犯錯(cuò)誤。 ? 如果只是發(fā)現(xiàn)輸出值有錯(cuò)誤,如何定位排錯(cuò)? ? 最好方法:符號調(diào)試器,但是需要查看系統(tǒng)手冊以便如何使用。 ? 一般方法:在程序中插入 write語句,在一些關(guān)鍵位置點(diǎn)輸出變量的值,以觀察程序中間結(jié)果與預(yù)期結(jié)果的差異。 ? 如果是 IF塊的問題:重點(diǎn)檢查邏輯表達(dá)式。 ? 另外一個(gè)常見錯(cuò)誤:實(shí)數(shù)型變量的等值測試。 61 作業(yè) P98 4 * 一束光線從折射率為 n1的區(qū)域穿透到折射率為 n2的另一個(gè)區(qū)域,光線被折射,折射的角度由斯涅爾定律給出。編寫 Fortran程序,給定區(qū)域 1中的入射角 ?1和折射率 n n2,計(jì)算光束在區(qū)域 2中的出射角度 ?2。計(jì)算時(shí)以空氣和水為例,并大致估計(jì)一下發(fā)生全反射的入射角度??梢愿鶕?jù) n1=, n2=,并適當(dāng)變化 n2值的大小,看看全反射角的變化。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1