Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УФО_Информатика_Лаб_2 сем_VBA / Лаб_2_2_Решение квадратного уравнения

.doc
Скачиваний:
22
Добавлен:
27.04.2015
Размер:
50.69 Кб
Скачать

1

2

3

4

5

6

7

1

Решение квадратного уравнения A*X^2+B*X+C=0

2

 

Коэффициенты уравнения

 

 

 

3

А=

2

В=

8

С=

1

4

5

6

7

 

Диапазон графика

 

 

 

8

Xmin=

-10

Xmax=

10

dX=

1

9

График параболы

10

Х

Р(Х)

11

12

Option Explicit

Private Sub CommandButton1_Click()

'Построение графика параболы

Dim A As Single, B As Single, C As Single

Dim X As Single, Xmin As Single, Xmax As Single, dX As Single

Dim P As Single, i As Integer

'Чтение коэффициентов

A = Лист1.Cells(3, 2).Value

MsgBox ("A=" & A)

B = Лист1.Cells(3, 4).Value

MsgBox ("B=" & B)

C = Лист1.Cells(3, 6).Value

MsgBox ("C=" & C)

Xmin = Лист1.Cells(8, 2).Value

Xmax = Лист1.Cells(8, 4).Value

dX = Лист1.Cells(8, 6).Value

MsgBox ("Xmin=" & Xmin)

MsgBox ("Xmax=" & Xmax)

MsgBox ("dX=" & dX)

'Построение таблицы

i = 11 'Начальная строка таблицы

For X = Xmin To Xmax Step dX

P = A * X ^ 2 + B * X + C

Лист1.Cells(i, 1).Value = X

Лист1.Cells(i, 2).Value = P

i = i + 1

Next X

End Sub

Private Sub CommandButton2_Click()

'Решение квадратного уравнения

Dim A As Single, B As Single, C As Single

Dim D As Single, X1 As Single, X2 As Single

Dim Re As Single, Im As Single

'Чтение коэффициентов

A = Лист1.Cells(3, 2).Value

MsgBox ("A=" & A)

B = Лист1.Cells(3, 4).Value

MsgBox ("B=" & B)

C = Лист1.Cells(3, 6).Value

MsgBox ("C=" & C)

D = B ^ 2 - 4 * A * C

If D < 0 Then

Лист1.Cells(10, 4).Value = "Корни комплексные"

Лист1.Cells(11, 4).Value = "Действительная часть"

Re = -B / (2 * A)

Лист1.Cells(12, 4).Value = "Re="

Лист1.Cells(12, 5).Value = Re

Лист1.Cells(13, 4).Value = "Мнимая часть"

Лист1.Cells(14, 4).Value = "Im="

Im = Sqr(-D) / (2 * A)

Лист1.Cells(14, 5).Value = Im

Else

Лист1.Cells(10, 4).Value = "Корни вещественные"

Лист1.Cells(11, 4).Value = "Первый корень"

X1 = (-B + Sqr(D)) / (2 * A)

Лист1.Cells(12, 4).Value = "X1="

Лист1.Cells(12, 5).Value = X1

Лист1.Cells(13, 4).Value = "Второй корень"

X2 = (-B - Sqr(D)) / (2 * A)

Лист1.Cells(14, 4).Value = "X2="

Лист1.Cells(14, 5).Value = X2

End If

End Sub