S=40G=5If S>=100 Then If S<120 Then G=4 Else G=2 End IfEnd IfPrint G這個答案是什麼?為什麼If Then的後面會有If Then?End If的後面有 End If?有人可以教我這題怎麼解嗎?拜託各位高手指教了...
2006-10-13 08:50:07 · 2 個解答 · 發問者 Allen 4 in 電腦與網際網路 ➔ 程式設計
從上面慢慢看下去頭2行:指定S及G變數的數值S=40G=5 第三行:If S>=100 Then~~如果S大於或等於100,就執行巢狀結構中的程式這一行的IF對應的END IF是倒數第2行的END IF很明顯的S=40並不大於也不等於100所以會跳過這個巢狀結構在這個巢狀結構裡的程式也不用去看了直接就是執行最後一行『Print G』 所以印出來的G是原設定值(程式執行過程並沒有變動G的數值)==>5----------------------------------------------------------------- 為什麼If Then的後面會有If Then?End If的後面有 End If?這就是雙層的巢狀結構┌If S>=100 Then│ ┌If S<120 Then│ │ G=4│ │ Else│ │ G=2│ └End If└ End If最上面的IF跟最下面的END IF對應滿足S>=100的條件式才會執行中間的程式可以把最上面的IF跟最下面的END IF看成第一層的框框而S>=100就是密碼鎖,密碼對了才能打開然後裡面還有一個框框,也相同有一個條件式(密碼鎖)不過你這題連最外框的條件都沒符合,所以其實也沒必要去看中間的程式了直接跳過去就可以作答了
2006-10-13 09:17:31 · answer #1 · answered by ERIC LIN 7 · 0⤊ 0⤋
S = 40G = 5'如果S>=100就執行這裡面的動作If S >= 100 Then '如果S<120則G=4,否則G=2 If S < 120 Then G = 4 Else G = 2 End IfEnd If'一開始S=40,G=5,故根本就不會進入If S >= 100 Then這個判斷式內,因此G還是等於5Print GIf...Then...Else 陳述式 根據某運算式的值來決定要執行哪些部份的陳述式。語法If condition Then [statements][Else elsestatements]或者,您可以使用區塊形式語法:If condition Then[statements][ElseIf condition-n Then[elseifstatements]...[Else[elsestatements]]End IfIf...Then...Else 陳述式的語法具有以下幾個單元::單元描述Condition必要引數,一個或多個具有底下兩種型態的運算式: 數值運算式或字串運算式,其運算結果為 True 或 False ,如果 condition 為 Null,則 condition 會視為 False 。 以 TypeOf objectname Is objecttype. 形式存在的運算式,其中的 objectname 是任何的物件引用,而 objecttype 則是任何有效的物件型態,如果 objectname 是 objecttype 所指定的一種物件型態,則運算式為 True,否則為False。Statements在區塊形式中是選擇性引數。但是在單行形式中、且沒有 Else 子句時,則為必要引數,在單行形式中,也可以有多行陳述式,各陳述式要以冒號分開。Condition-n選擇性引數,與 condition 同。Elseifstatements選擇性引數,如果相關的 condition-n 為 True,則執行此部份的陳述式。Elsestatements選擇性引數,如果所有的條件式都不成立時,則執行此部份的陳述式。請注意您可以使用單行形式 ( 第一種語法 ) 來簡化程式碼,但是,區塊形式 ( 第二種語法 ) 則提供結構化與彈性的功能,而且也較容易閱讀、維護、 及除錯。附註 在單行形式中,也可以放上多行的陳述式,只要在這些陳述式間加上冒號即可,如底下這行陳述式所示: If A > 10 Then A = A + 1 : B = B + A : C = C + B
在區塊形式中, If 陳述式必須是第一行指令行,而其中的 Else, ElseIf, 和 End If 部份可以在之前加上行號或行標籤,而區塊式 If 必須在最後加上一個 End If 陳述式。要決定某個陳述式是否為一個區塊 If,可檢查 Then 關鍵字之後是什麼,如果在 Then 同一行之後,還有其它非註解的字串,則此陳述式就是單行形式的 If 陳述式。Else 和 ElseIf子句都是可有可無。在區塊式 If 中,您可以放置多個 ElseIf 子句,但是都必須在 Else 子句之前,區塊式 If 陳述式也可以是巢狀。(所以會有If Then的後面會有If Then,End If的後面有 End If)當程式執行到一個區塊式 If ( 第二種語法 ) 時,則條件式會加以測試,如果條件式為 True ,則在 Then 之後的陳述式會被執行。如果條件式為 False ,則 每個 ElseIf 部份的條件式 ( 如果有的話 ) 會輪流地計算並加以測試, 如果找到某個為 True 的條件式時,則其 Then 部份的陳述式會被執行。萬一都沒有一個 ElseIf 條件式為 True ( 或是根本就沒有 ElseIf 子句 ),則程式會執行 Else 部份的陳述式。而在執行完後,會從 End If.之後的陳述式繼續執行。提示 對於根據單一運算式來執行多種可能的動作時,Select Case 應該會更為有用,不過,TypeOf objectname Is objecttype 子句並不能使用在 Select Case 陳述式中。附註 TypeOf 不能用於 Object 以外,諸如 Long, Integer 等資料型態。
2006-10-13 09:30:41 · answer #2 · answered by W.J.S. 7 · 0⤊ 0⤋