Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

小柯 發問時間: 電腦與網際網路程式設計 · 2 0 年前

vb迴圈問題

Private Sub Form_Activate( )

Dim x(1 To 10) As Integer

Dim y(1 To 10) As Integer

a = -6

b = 4

n = 10

c = (b - a) / n

For i = 1 To 11

x0 = x(0) = a = -6

x(i) = x(i - 1) + i * c

y(i) = -0.5 * x(i)

Next

For i = 0 To 10

area = ((Yi + 2) + (Yi + 1 + 2)) * c * 0.5

Print "(x" & i - 1 & ", y" & i - 1 & ")=" & "(" & x & "," & y & ")"

Print "area" & i - 1&; "="; area

Next i

End Sub

上面這個程式有那個地方錯了嗎??不然程式為什麼就是不能跑呢??

有那個地方錯了嗎???請幫我解答吧!!!!

已更新項目:

阿吉同學~~~~

我還是不懂耶~~~

是否可以請你幫我在程式上直接做修改呢???

因為我是vb的新手~~

所以真的不會~~

該怎麼呼叫呢???

2 個解答

評分
  • 2 0 年前
    最佳解答

    阿吉同學,這不是自己定義的副程式喲,而是表單啟動時自己會執行的副程式

    小柯同學,你的程式應該改成這樣

    Private Sub Form_Activate()

    Dim x(0 To 10) As Integer

    Dim y(0 To 10) As Integer

    a = -6

    b = 4

    n = 10

    c = (b - a) / n

    For i = 1 To 10

    x(0) = x(i) = a = -6

    x(i) = x(i - 1) + i * c

    y(i) = -0.5 * x(i)

    Next i

    For i = 0 To 10

    area = ((Yi + 2) + (Yi + 1 + 2)) * c * 0.5

    Print "(x" & i - 1 & ", y" & i - 1 & ")=" & "(" & x(i) & "," & y(i) & ")"

    Print "area" & i - 1&; "="; area

    Next i

    End Sub

    你似乎把x0當成x(0),就算這樣,你的x陣列也只有1~10,並沒有1何11喲.

    參考資料: myself
  • 匿名使用者
    2 0 年前

    to Songfat同學:

    For i = 0 To 10

    會給你跑11次

    0 -> 一次

    1 -> 第二次

    2 -> 第三次

    ...

    10 -> 第十一次

    陣列是從0開始計算

    所以 0 to 10 是有十一個值

    而你計算得出的結果如下

    (x-1,y-1)=(0,0) area -1 = 2.5

    (x0,y0) = (1,0) area 0 = 2.5

    ... .... ... ...

    (x9,y9)=(55,-28) area 9 = 2.5

    至於這是不是小科要的,我就不知道了....

    2005-09-28 10:53:19 補充:

    延續上個補充意見

    既然要列印 x1-x11

    而手頭上只有 x0-x10

    那就在列印時動手腳就可以了

    手動把數字改掉即可

    改掉的方式請參閱其他知識+內容

    或翻查課本或任一VB書籍關於列印的部分

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