Нужна помощь в переводе кода программы из VB.NET в VB 6.0

Узнай цену своей работы

Формулировка задачи:

Здравствуйте.У меня есть код к задаче (решения задачи методом Ньютона ) только для VB.NET,а в 6.0 версию не шарю как первести.Говорят для программистов дело пятиминутное-Помогите пожалуйста перевести,заранее спасибо.

Решение задачи: «Нужна помощь в переводе кода программы из VB.NET в VB 6.0»

textual
Листинг программы
'ublic Class Form1
    'Решить уравнение вида  f(x)=0, где  f(x)=a0 + a1x^1 + a2x^2 + … + anx^n, на отрезке
    '[a, b] методом Ньютона
    Dim A#(6), a1#, b1#, x#
    Dim m%, n%
 
    Const eps = 0.01
 
   Private Sub Command1_Click()
   Label4 = "Результат:"
        A(0) = Val(Text2.Text)
        A(1) = Val(Text3.Text)
        A(2) = Val(Text4.Text)
        A(3) = Val(Text5.Text)
        A(4) = Val(Text6.Text)
        A(5) = Val(Text7.Text)
        a1 = Val(Text8.Text)
        b1 = Val(Text9.Text)
        n = Val(Text1.Text)
        'проверяем на сходимость
        Label5 = n & " " & a1 & " " & f(a1): Label6 = b1 & " " & f(b1)
        If f(a1) * f(b1) >= 0 Then
            MsgBox ("Условие не выполняется!")
        Else
            'ищем начальную точку
            If fp2(a1) > 0 Then
            ElseIf f(a1) > 0 Then
                x = a1
            ElseIf f(b1) > 0 Then
                x = b1
            End If
 
            If fp2(a1) < 0 Then
            ElseIf f(a1) < 0 Then
                x = a1
            ElseIf f(b1) < 0 Then
                x = b1
            End If
            'Метод Ньютона
            Dim x0#, x1#
            x0 = x
            Label4 = Label4 + Chr(13)
            Do
                'вычисляем приближение
                x1 = x0 - f(x0) / fp(x0)
                Label4 = Label4 + CStr(x1) + Chr(13)
                x0 = x1
            Loop While Abs(f(x0)) > eps Or Abs(x0 - x1) > eps
        End If
    '    Dim Graph1 As Graphics
    '    Dim Pen1 As New Pen(Color.Black, 2)
    '    Dim drawBrush As New SolidBrush(Color.Black)
    '    Dim drawFont As New Font("Arial", 7)
     '   Dim XX, Y As Single
     '   Dim Mashtab, Kachestvo, i, nn, a11, a2, a3, a4, a5, a0 As Integer
     '   Dim p, r, t As Integer
 
 
 
       ' Graph1 = Me.PictureBox1.CreateGraphics()
        'Graph1.Clear (Color.White) 'очистка
        'печать шкал математической системы координат в компьютерной системе координат
        'ось Х
        Picture1.Scale (-150, 150)-(150, -150)
         Picture1.Cls
        'For XX = -150 To 150 Step 50
           ' Picture1
        'Next
        'ось Y
        'For Y = 0 To 400 Step 50
           ' Graph1.DrawString((Y - 100) / 10, drawFont, drawBrush, 150, 180 - Y) 'Делим на масштаб
        'Next
        'преобразование компьютерной системы координат в математическую систему координат
        'Graph1.ScaleTransform(1, -1) 'Поворот оси Y
        'Graph1.TranslateTransform(150, -100) 'Сдвиг осей
 
        'рисуем оси
       Picture1.Line (-150, 0)-(150, 0)  'Ось Х
        Picture1.Line (0, -150)-(0, 150)   'Ось Y
        For XX = -150 To 150 Step 50 'Засечки на оси Х
            Picture1.Line (XX, -5)-(XX, 5)
        Next
 
        For Y = -150 To 150 Step 50 'Засечки на Y
            Picture1.Line (-5, Y)-(5, Y)
        Next
        nn = Val(Text1.Text)
        a11 = Val(Text3.Text)
        a2 = Val(Text4.Text)
        a3 = Val(Text5.Text)
        a4 = Val(Text6.Text)
        a5 = Val(Text7.Text)
        a0 = Val(Text2.Text)
        'построение графика функции
        'Try 'Отлавливаем ошибки
        On Error Resume Next
            Mashtab = 10
            'Kachestvo = TrackBar2.Value
            For XX = -1.5 * (10 / Mashtab) To 1.5 * (10 / Mashtab) Step 1 / 1000 'Шаг в знач. качества
                'For XX = 1 To 100 Step 5 / 10000 'Шаг в знач. качества
                Y = a0 + a11 * XX + a2 * XX ^ 2 + a3 * XX ^ 3 + a4 * XX ^ 4 + a5 * XX ^ 5
                'Y = XX ^ 2
               Picture1.Circle (XX * Mashtab, Y * Mashtab), 1
            Next XX
 
       ' Catch
           ' MsgBox("Произошла ошибка", 48, "Ошибка!")
       ' End Try
    End Sub
 
Function f(ByVal x As Double) As Double
        f = A(0)
        For i = 1 To n
            f = f + A(i) * x ^ i
        Next
        '    f = A(0) + A(1) * x + A(2) * x * x + A(3) * x * x * x + A(4) * x * x * x * x
    End Function
 
Function fp(ByVal x As Double) As Double
        fp = 0
        For i = 1 To n
            fp = fp + i * A(i) * x ^ (i - 1)
        Next
        '    fp = A(1) + 2 * A(2) * x + 3 * A(3) * x * x + 4 * A(4) * x * x * x
    End Function
 
 Function fp2(ByVal x As Double) As Double
        fp2 = 0
        For i = 1 To n
            fp2 = fp2 + (i - 1) * i * A(i) * x ^ (i - 2)
        Next
        '  fp2 = 2 * A(2) + 6 * A(3) * x + 12 * A(4) * x * x
    End Function
    
 
 
Private Sub Text1_Change()
n = Val(Text1.Text)
        If n < 1 Or n > 5 Then
            MsgBox ("Значения от 1 до 5!")
            Text1.SetFocus
            'Else
            '    If n >= 1 Then
            '        Text2.Enabled = False
            '        Text3.Enabled = True
            '        Text4.Enabled = True
            '        If n >= 2 Then
            '            Text4.Enabled = True
            '            If n >= 3 Then
            '                Text5.Enabled = True
            '                If n >= 4 Then
            '                    Text6.Enabled = True
            '                    If n = 5 Then
            '                        Text7.Enabled = True
            '                    End If
            '                End If
            '            End If
            '        End If
            '    End If
        End If
    End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5