Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Программа 11. Решение квадратного уравнения.




Создадим приложение, которое реализует полное решение квадратного уравнения. Дано уравнение вида: axx+bx+c=0, найти корни уравнения.


Рис. 15.

Видно, что на форме находятся следующие элементы управления (рис.15):
1) метки ("a=", "b=", "c=", "x1=", "x2=" и "Введите три числа, соответствующие коэффициентам квадратного уравнения и нажмите РЕЗУЛЬТАТ);
2) текстовые окна Text1, Text2 … Text5;
3) командная кнопка "Результат".

Заметим, что алгоритм полного решения квадратного уравнения – нетривиальная задача, и сейчас не будем рассматривать его. Отметим эффектное использование переменных X1, X2 типа Variant, так как они могут принимать любые значения (числа, строки), то мы можем заносить в них как результаты вычислений (числа), так и результат сравнения (нет решений, любое число, бесконечное число корней). Переменные типа Double – это переменные двойной точности с плавающей десятичной точкой.

Option Explicit
Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double
Dim x1 As Variant
Dim x2 As Variant
Private Sub Command1_Click()
a = Val(Text1)
b = Val(Text2)
c = Val(Text3)
If a = 0 Then
If b <> 0 Then
x1 = -c / b
x2 = x1
Else
If c = 0 Then
x1 = "любое число"
x2 = x1
Else
x1 = "нет решения"
x2 = x1
End If
End If
Else
d = b * b - 4 * a * c
If d > 0 Then
d = Sqr(d)
x1 = (-b + d) / 2 * a
x2 = (-b - d) / 2 * a
Else
If d = 0 Then
x1 = -b / 2 *a
x2 = x1
Else
x1 = "нет вещественных корней"
x2 = x1
End If
End If
End If
Text4 = x1
Text5 = x2
End Sub

Запустите программу и поэкспериментируйте с решением уравнений, попробовав все варианты.























































Последнее изменение этой страницы: 2018-06-01; просмотров: 178.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...