ВП
Владислав Плотников

Кто понимает Visual Basic 2007 Express помогите пожалуста

Imports System.Math
Public Class Form1
Dim g As Graphics
Dim p1, p2, p3, p4, p5 As Pen
Dim f As Font
Dim w, h As Integer
Dim M As Integer
Dim x1, x2, y1 As Integer
Dim a, b, c, d, e, k As Double
Dim ys As Integer
Dim xs As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Зчитуємо початкові параметри
x1 = Val(TextBox2.Text)
x2 = Val(TextBox3.Text)
y1 = Val(TextBox4.Text)
a = Val(TextBox5.Text)
b = Val(TextBox6.Text)
c = Val(TextBox7.Text)
d = Val(TextBox8.Text)
k = Val(TextBox1.Text)
If x1 >= x2 Then
MessageBox.Show("Перевірте коректність заданих меж", "Попередження")
Exit Sub
End If
w = PictureBox1.Width
h = PictureBox1.Height
M = w / (x2 - x1)
ys = -x1 * M
xs = y1 * M
g = PictureBox1.CreateGraphics()
p1 = New Pen(Color.Black, 2)
p2 = New Pen(Color.Gray, 1)
p3 = New Pen(Color.Red, 2)
p4 = New Pen(Color.Brown, 2)
p5 = New Pen(Color.Green, 2)
f = New Font("Arial", 14)
g.DrawString("0", f, Brushes.Black, ys - 15, xs)
g.DrawString("Y", f, Brushes.Black, ys - 20, 0)
g.DrawString("X", f, Brushes.Black, w - 25, xs)
'Малюємо координатні осі
g.DrawLine(p1, 0, xs, w, xs) 'Вісь OX
g.DrawLine(p1, ys, 0, ys, h) 'Вісь OY
'Стрілка на осі ОХ
g.DrawLine(p1, w - 10, xs - 5, w, xs)
g.DrawLine(p1, w - 10, xs + 5, w, xs)
'Стрілка на осі ОY
g.DrawLine(p1, ys - 5, 10, ys, 0)
g.DrawLine(p1, ys + 5, 10, ys, 0)
'Перевертаємо осі
g.ScaleTransform(1, -1)
g.TranslateTransform(ys, -xs)
Dim i, x, y As Double
Dim xx1, xx2, yy1, yy2, y2, r, xm0, ym0, xm, ym As Integer
y2 = y1 - (x2 - x1)
If x1 < 0 Then xx1 = Ceiling(x1) - 1 Else xx1 = Ceiling(x1) + 1
If x2 < 0 Then xx2 = Ceiling(x2) - 1 Else xx2 = Ceiling(x2) + 1
If y1 < 0 Then yy1 = Ceiling(y1) - 1 Else yy1 = Ceiling(y1) + 1
If y2 < 0 Then yy2 = Ceiling(y2) - 1 Else yy2 = Ceiling(y2) + 1
For i = 0 To xx1 Step -1 * k
r = Round(i * M)
g.DrawLine(p2, r, Round(yy1 * M), r, Round(yy2 * M))
Next
For i = 0 To xx2 Step k
r = Round(i * M)
g.DrawLine(p2, r, Round(yy1 * M), r, Round(yy2 * M))
Next
For i = 0 To yy1 Step k
r = Round(i * M)
g.DrawLine(p2, Round(xx1 * M), r, Round(xx2 * M), r)
Next
For i = 0 To yy2 Step -1 * k
r = Round(i * M)
g.DrawLine(p2, Round(xx1 * M), r, Round(xx2 * M), r)
Next
Select Case ComboBox1.Text
Case "y=a/x+x^2b"
Dim x0, y0 As Double
x0 = xx1 : y0 = y = a / x + x ^ 2 * b
For x = xx1 To xx2 Step 1 / M
y = a / x + x ^ 2 * b
xm0 = x0 * M : ym0 = y0 * M
xm = x * M : ym = y * M
g.DrawLine(p4, xm0, ym0, xm, ym)
x0 = x : y0 = y
Next
Case "y=a/x+b/x^2"
Dim x0, y0 As Double
x0 = xx1 : y0 = y = a / x + b / x ^ 2
For x = xx1 To xx2 Step 1 / M
y = a / x + b / x ^ 2
xm0 = x0 * M : ym0 = y0 * M
xm = x * M : ym = y * M
g.DrawLine(p5, xm0, ym0, xm, ym)
x0 = x : y0 = y
Next
Case ""
MessageBox.Show("Виберіть функцію")
Exit Sub
End Select
End Sub
ГДЕ ТУТ МОЖЕТ БЫТЬ ДЕЛЕНИЕ НА 0 И ПОЖАЛУСТА ВАШ ВАРИАНТ КОДА

Вл
Владислав

когда выполняешь у тебя номер строки с ошибкой пишется.
Вот в этой строке и смотри

Похожие вопросы
Visual Basic 2005 Express Edition
visual basic помогите
Visual Basic. Помогите
Помогите с Visual Basic
помогите с visual basic)
Переполнение в результате выполнения арифметической операции. В Visual Basic 2007 Express. Что это значит???
помогите .кто хорошо понимает visual basic?
Установка Visual Basic 2010 Express
помогите .кто хорошо понимает visual basic
кто понимает visual basic