Need help translating from Pascal to VB (VBA)! Cannot translate array! Pascal:
Procedure obuch; begin repeat clrscr;kol:=kol+1; writeln('****************************************************'); writeln('* Эталон * Значение на выходе * Отклонение *'); writeln('****************************************************'); For i:=1 to N_obuch do begin y:=0; For j:=1 to n do y:=y+w[j]*x[i+(j-1)]; y:=yt; For j:=1 to n do begin w[j]:=w[j]-alfa*(yx[i+n])*x[i+(j-1)]; t:=t+alfa*(yx[i+n]); err:=err+sqr(yx[i+n]); end; writeln('* ',x[i+n]:10:7,' * ',y:10:7,' * ', abs(yx[i+n]):10:7,' *'); end; err:=err/2; writeln('****************************************************'); writeln; writeln('Ошибка : ',err:8:5); read; until (err <= Ej); end;
my translation (not quite correct) on VB:
Function obuchenie() Const a = 3, b = 5, d = 0.5, alfa = 0.1, n = 4, Errj = 0.01, N_obuch = 30 Dim i, j, kol As Integer Dim err, y, t, rmp, zn As Long Dim W(n) As Long Dim X(45) As Long Dim x_prgnz(45) As Long kol = kol + 1 Print "*******************************************************" Print "************" Print "********************************************************" Do For i = 1 To N_obuch y = 0 For j = 1 To n y = y + W(j) * X(i + (j - 1)) y = y - t Next j For j = 1 To n W(j) = W(j) - alfa * (y - X(i + n)) * X(i + (j - 1)) t = t + alfa * (y - X(i + n)) err = err + Sqr(y - X(i + n)) Print "********"; X(i + n); "********"; y; "********"; Abs(y - X(i + n)); "********" Next j err = err / 2 Print "****************************************************************" Print "Ошибка:"; err Next i Loop Until (err <= Errj) End Function