- •Министерство сельского хозяйства рф
- •Язык программирования
- •Ранние этапы развития
- •Совершенствование
- •Объединение и развитие
- •Что такое уровень языка программирования?
- •Высокоуровневый язык программирования
- •Переносимость программ
- •2. Решение нелинейного и трансцендентного уравнения с помощью программного пакета визуализации математической обработки информации «MathCad»
- •Алгоритм выполнения задания:
- •3. Решение нелинейного и трансцендентного уравнения с помощью авторского программного продукта, созданного в среде программирования vba.
- •Алгоритм выполнения задания:
Алгоритм выполнения задания:
1. Задали функцию f(x), отрезок [а, b], вычислили значение f(a) – значение функции f в точке а(Рисунок 1).
Рисунок 1. Функция, отрезок, значение f(a).
2. Построили график функции f(x), на отрезке [а, b](Рисунок 2):
Рисунок 2.График функции f(x).
3. Решили уравнение f(x)=0 (Рисунок 3):
Рисунок 3. Решение уравнения f(x)=0.
4. Результат с допустимой погрешностью совпадает с решением в табличном процессоре MS Exel
5. Сделали выводы об особенностях выполненной работы.
3. Решение нелинейного и трансцендентного уравнения с помощью авторского программного продукта, созданного в среде программирования vba.
В среде разработки Visual Basic for Applications MS Word создали программу для решения уравнения f(x)=0 на отрезке [а, b].
Алгоритм выполнения задания:
1. Разработали алгоритм:
А) разделим отрезок [а, b] на две равные половины - [а, c] и [c, b];
Б) определили, на какой половине отрезка [а, b] находится корень: если корень находится между точками a и c, то b = c, иначе a = c;
С) проверили
2.Создали интерфейс программы(Рисунок 1):
Рисунок 1. Создание интерфейса программы.
3. Исходный код:
Function f(x)
f = Sin(Log(x)) - Cos(Log(x)) + 2 * Log(x)
End Function
Private Sub btn_K_Click()
a = txt_a
b = txt_b
txt_faK = f(a)
Do
c = (b + a) / 2
If f(a) * f(c) > 0 Then a = c Else b = c
Loop While b - a > 0.001
txt_xK = Round((b + a) / 2, 7)
End Sub
Private Sub txt_a_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub txt_b_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub txt_fa_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub