請懂得VB程式碼的高手幫我解一下問題

(1) Dim Count,Sum as Integer

Count=1 : Sum=0

Do While Count < 10

For Q = 1 to Count

Sum = Sum+Q

Next Q

Count = Count + 1

Loop

Print \"SUM = \" ; Sum

請問 Print \"SUM = \" ; Sum印出結果為何?

(2) C= 0

FOR K= 1 to 5

FOR J = K to 5

C= C + 1

NEXT J

NEXT K

PRIBT C

請問執行後輸出結果為何

請告訴我程式碼在敘述些什麼

還有如何解題,謝謝!

1 個解答

評分
  • Rody
    Lv 5
    1 0 年前
    最佳解答

    (1)Dim Count,Sum as Integer '宣告變數 Count, 並且宣告一個型態為整數的變數 SumCount=1 : Sum=0 '將 Count 設定為 1,Sum設定為 0,冒號只是方便將兩行指令合在同一行Do While Count < 10 '當 Count < 10 的時候就執行以下迴圈For Q = 1 to Count '這裡隱藏宣告了一個變數叫做 Q,讓 Q 設定為 1 執行以下 For 迴圈,執行到 Q 變成 Count 為止Sum = Sum+Q '每執行一次,就讓 Sum 的數值變成 Sum+QNext Q '讓 Q 的數值加一,如果數值小於等於 Count 則迴圈繼續,否則結束迴圈Count = Count + 1 '讓 Count 的數值加一Loop '迴圈結束Print "SUM = " ; Sum '印出 Sum 的結果'解析'一開始 Count=1,進入迴圈後 For 迴圈看到的是 For Q=1 To 1,因此執行一次 Sum= 0 + 1 = 1,因此第一次迴圈執行完畢 Sum=1;接著 Count 值增加一,因此 Count 變成 2,然後跳回去 Do 檢查,發現 Count <10,因此迴圈繼續。進入迴圈後 For 迴圈看到的變成 For Q=1 To 2,因此執行第一次 For 迴圈時,Q=1, Sum=1,所以 Sum=Sum+Q就變成 Sum=1+1=2,第二次進入 For 迴圈的時候,此時 Q 也增加一了,因此 Q=2,Sum=Sum+Q就變成 Sum=2+2=4,然後 Q 變成 3,跳出 For 迴圈,Count又變成 3,如此反覆,直到Count變成10為止,因此 Do 迴圈的內容總共會被執行九次﹙其中 Count 從一變到十,變成十的時候因為 10<10不成立,所以不會進入迴圈﹚,我們可以知道Sum的值就會變成 Sum=(1)+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2...+9) = 1*9+2*8+3*7+4*6+5*5+6*4+7*3+8*2+9*1 = 9+16+21+24+25+24+21+16+9 = 165(2) C= 0 '隱藏宣告一個變數叫做 C,並且讓 C=0FOR K= 1 to 5 '隱藏宣告一個變數叫做 K,並且讓 K=1 執行迴圈直到 K=5FOR J = K to 5 '隱藏宣告一個變數叫做 J,並且讓 J=K 執行迴圈直到 J=5C= C + 1 '每執行一次迴圈,讓 C 的數值增加一NEXT J 'J 的數值增加一,並檢查 J 是否小於等於 5NEXT K 'K 的數值增加一,並檢查 K 是否小於等於 5PRINT C '印出 C'分析'第一次進入 For K...迴圈時,K=1,因此第一次進入 For J... 迴圈時,這個迴圈看到的是 For J=1 To 5因此 C=C+1 會被執行五次,然後跳出 For J... 迴圈,然後 K 變成 2 再次進入 For K... 迴圈,接著 For J... 迴圈看到的就是 For J=2 To 5,所以 J 會變成 2,3,4,5 來執行 C=C+1這個命令,總共執行四次,最後 J=6 然後跳出迴圈,K 變成 3 再次進入迴圈,直到 K=6 為止,For K 迴圈總共會進去五次 ﹙K=1,2,3,4,5﹚,而 C=C+1 被執行的總次數就是 5+4+3+2+1=15 次,因此最後 C=15,印出 15'其實以上說明,不如你自己用 Debug 的方式,一步一步執行上面的程式,觀察那些變數的變化,你會更有體認。

還有問題?馬上發問,尋求解答。