Построение на экране известных математических кривых, заданных уравнениями - VB

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

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

Составить программы построения на экране известных математических кривых, заданных уравнениями в параметрическом виде (a>0)

Решение задачи: «Построение на экране известных математических кривых, заданных уравнениями»

textual
Листинг программы
Option Explicit
Const PI As Double = 3.14152, Sk As Integer = 10
Dim X As Double, Y As Double, r As Double, f As Double, t As Double
Dim a As Single, i As Single, P As PictureBox, L As Double
 
Private Sub Command1_Click()
    Call Scal
    Call Graf
    Call Coord
End Sub
 
Private Sub Graf_1()
    For t = -Sk To Sk Step 0.001
            X = (a * (t ^ 2 - 1)) / (t ^ 2 + 1)
            Y = (a * t * (t ^ 2 - 1)) / (t ^ 2 + 1)
            P.Circle (X, Y), 0.03, RGB(255, 0, 0)
    Next t
End Sub
 
Private Sub Graf_2()
    For t = -Sk To Sk Step 0.001
            X = a * (t - Sin(t))
            Y = a * (1 - Cos(t))
            P.Circle (X, Y), 0.03, RGB(255, 0, 0)
    Next t
End Sub
 
Private Sub Graf_3()
    L = CSng(Replace(Text3.Text, ".", ","))
    For t = -Sk To Sk Step 0.001
            X = a * (t - L * Sin(t))
            Y = 1 - L * Cos(t)
            P.Circle (X, Y), 0.03, RGB(255, 0, 0)
    Next t
End Sub
 
Private Sub Graf_4()
    For X = -Sk To Sk Step 0.001
            Y = a ^ 3 / (X ^ 2 + a ^ 2)
            P.Circle (X, Y), 0.03, RGB(255, 0, 0)
    Next X
End Sub
 
Private Sub Graf()
    Select Case True
        Case Option1(0).Value: Call Graf_1
        Case Option1(1).Value: Call Graf_2
        Case Option1(2).Value: Call Graf_3
        Case Option1(3).Value: Call Graf_4
    End Select
End Sub
 
Private Sub Scal()
    Set P = Picture1
    P.Cls
    'a = InputBox(" Введите a = ", "Ввод данных", 2.2)
    a = CSng(Replace(Text1.Text, ".", ","))
    P.DrawStyle = 0: P.AutoRedraw = True
    P.Scale (-Sk, Sk)-(Sk, -Sk)
    P.Line (-Sk, 0)-(Sk, 0), RGB(0, 0, 255) 'ocb X
    P.Line (0, -Sk)-(0, Sk), RGB(0, 0, 255)   'ocb Y
End Sub
 
Private Sub Coord()
'Kоординатная сетка
      P.DrawStyle = 2   ' Пунктирная линия
      For i = -Sk To Sk 'Step 0.5
       P.CurrentX = 0    ' оцифровка
       P.CurrentY = i
       P.Print Format$(i, "0.0")
       P.Line (-0.05, i)-(0.05, i)   ' засечка
       P.Line (-Sk, i)-(Sk, i)
      Next i
      For i = -Sk To Sk 'Step 0.5
       P.CurrentX = i    ' оцифровка
       P.CurrentY = 0
       P.Print Format$(i, "0.0")
       P.Line (i, -0.05)-(i, 0.05) ' засечка
       P.Line (i, -Sk)-(i, Sk)
      Next i
      P.DrawStyle = 2   ' Пунктирная линия
End Sub
 
Private Sub Command2_Click()
    End
End Sub

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


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

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

8   голосов , оценка 4 из 5
Похожие ответы