Другие языки программирования и технологии

Visual Basic. Подскажите в кратце, как выполнить задачу.

Sub Lin_Approx()
Dim X() As Single, Y() As Single, Msg As String, D As Single
Dim i As Integer, N As Integer, K As Single, B As Single, Sigma As Single
Dim SY As Single, SX As Single, SXY As Single, SQX As Single, YSR As Single
N = InputBox ("Vvedite N")
ReDim X(N), Y(N)
SX = 0 : SY = 0 : SQX = 0 : SXY = 0 : YSR = 0

For i = 1 To N
__Msg = "Vvedite X(" & i & ")" : X(i) = InputBox (Msg)
__Msg = "Vvedite Y(" & i & ")" : Y(i) = InputBox (Msg)
__SX = SX + X(i) : SY = SY + Y(i) : SQX = SQX + X(i) * X(i) : SXY = SXY + X(i) * Y(i)
Next i

K = (SX * SY - N * SXY) / (SX*SX - N*SQX)
B = (SY - K * SX) / N

YSR = SY / N : D = 0
For i = 1 To N
__D = D + (YSR - Y(i)) * (YSR - Y(i))
Next i

Sigma = Sqrt (D / (N - 1))
' В формуле сигмы непонятно, что такое Y в формуле (Y - Y(i))^2
' Мне кажется, что это среднее Yср = сумме Y(i) / N.
' Если это не так, то вычисление YSR, D и Sigma придется изменить по правильным формулам.
Msg = "Y = " & K & "* x + " & B & "; Sigma = " & Sigma
MsgBox (Msg)
End Sub
Вот примерно так. На самом деле программировать математику на VB - одно удовольствие.
Язык практически под математику и заточен, в первую очередь.
Вот пытаться на нем писать анимацию или звук - намного сложнее.
ОР
Одилхон Расулов
59 598
Лучший ответ
Игорь Макаров Огромная благодарность!