Sub 連立一次方程式2() Dim x(3, 4) As Single Dim i As Integer, j As Integer, basho As Integer Sheets(1).Select For i = 1 To 3 For j = 1 To 3 x(i, j) = Selection.Cells(i, j) Next j Next i Sheets(2).Select For i = 1 To 3 x(i, 4) = Selection.Cells(i, 1) Next i Sheets(3).Select basho = 1 Cells(basho, 1).Select For i = 1 To 3 For j = 1 To 4 Selection.Cells(i, j) = x(i, j) Next j Next i Rem (1,1)成分を1にするために第一行を(1,1)成分で割るプログラムを書いてください。 Rem p=2,3に対して、(p,1)成分を0にするために第p行から第一行の(p,1)成分倍を引くプログラムを書いてください。 Rem (2,2)成分を1にするために第二行を(2,2)成分で割るプログラムを書いてください。 Rem p=1,3に対して、(p,2)成分を0にするために第p行から第二行の(p,2)成分倍を引くプログラムを書いてください。 Rem (3,3)成分を1にするために第三行を(3,3)成分で割るプログラムを書いてください。 Rem p=1,2に対して、(p,3)成分を0にするために第p行から第三行の(p,3)成分倍を引くプログラムを書いてください。 basho = basho + 4 Cells(basho, 1).Select For i = 1 To 3 For j = 1 To 4 Selection.Cells(i, j) = x(i, j) Next j Next i End Sub |
このプログラムの赤い部分、青い部分、緑の部分は非常に似ています。このように似た部分を3回書くのではなく
For q=1 to 3
共通の部分
Next q
のように書けないでしょうか。そうすれば繰り返しの回数を増やすことで式の数が増えても解けるようになります。
0 件のコメント:
コメントを投稿