- •Министерство образования и науки Российской Федерации
- •Основы проектирования консольных приложений на языке Visual Basic
- •Требования к выполнению работ
- •Лабораторная работа №1
- •Задания
- •Порядок выполнения работы
- •Задание (3 уровень)
- •Порядок выполнения работы первого уровня
- •Пояснения
- •Лабораторная работа №2
- •Задание (1 уровень)
- •Задание (2 уровень)
- •Пояснения
- •Пояснения к выполнению задания второго уровня
- •Лабораторная работа №3
- •Задание (1 уровень)
- •Задание (2 уровень)
- •Задание (3 уровень)
- •Порядок выполнения задания (1 уровень)
- •Пояснения к выполнению задания второго уровня
- •Пояснения к выполнению задания третьего уровня
- •Лабораторная работа №4
- •Порядок выполнения работы (2 уровень)
- •Лабораторная работа №5
- •Порядок выполнения работы (II-III уровни)
- •Перечень вариантов заданий к лабораторной работе № 5
- •Список рекомендованной литературы
- •1. Зиборов в. Visual Basic 2010 на примерах / в. Зиборов - сПб: бхв-Петербург, 2010. - 336 с.
- •Содержание
Задание (2 уровень)
Графически получить приближенное решение уравнения f(x) = 0. Уравнение взять из таблицы 3.1 в соответствии с номером своего варианта.
Изменить блок-схему задачи табулирования функции f(x), предусмотрев возможность повторного запуска алгоритма табулирования на новом интервале с новым шагом h (
Выход из программы должен быть выполнен,
если длина найденного интервала окажется
меньше либо равна заданной погрешности
Перед выходом
вычислить корень уравнения как середину
последнего отрезка и значение функции
в корне.Составить программу табулирования f(x) на [a, b] с шагом h по новой блок-схеме.
Запустить программу, получить результаты по табулированию функции f(x) последовательно на данном интервале [a, b] с шагом h=0,1 и на каждом новом интервале
,
где функция меняет знак на противоположный,
с шагом
.С экрана выписать результаты табулирования на первом интервале, а для последующих результатов – выписывать две строки, где функция меняет свой знак. Выписать корень уравнения и значение функции в корне.
Задание (3 уровень)
Графически получить приближённое решение уравнения f(x) = 0. Уравнение взять из таблицы 3.1 в соответствии с номером своего варианта.
Составить блок-схему и программу, реализующие алгоритм вычисления корня уравнения f(x)=0 на интервале [a, b] с заданной точностью
.
Для нахождения корня использовать
алгоритм табулирования функцииf(x),
последовательно
уменьшая в 10 раз интервал поиска
,
где
пока не выполнится условие:
.
Замечания:
а) на каждом отрезке
проводить не более 10 вычислений значений
функцииf(x);
б) приближенным
решением уравнения считать середину
последнего отрезка
.
Ввести программу, выполнить её и получить результат. На экран вывести границы каждого нового интервала поиска корня, корень уравнения, заданную точность и значение функции в корне.
Пример
Задача
1. Найти
таблицу значений функций y=
f(x)
на отрезке
[a,
b]
с шагом h=0.1,
где
,a=1,
b=2.
Задача 2. Найти корень уравнения f(x) = 0 на отрезке [a, b] с точностью = 0.005.
Порядок выполнения задания (1 уровень)
Решение уравнения графическим методом.
1.1. Проверим графически, что на заданном отрезке [a, b] есть корень уравнения f(x)= 0, т.е.
.
(1)
Перепишем уравнение
(1):

Построим два
графика
(рис. 3.1)

M
X*
Рис.
3.1. Пересечение графиков

Графики пересекаются
друг с другом в точке М.
Абсцисса точки М
(X*)
– есть корень
уравнения

1.2. Если на заданном в условии отрезке графики не пересекаются, то это означает, что данный отрезок не содержит корня уравнения. В этом случае следует определить по графику новый отрезок, содержащий корень, и при решении задачи рассматривать его.
Составление блок-схемы задачи табулирования.
2.1. Входные данные: a, b – границы отрезка, h - шаг.
Выходные данные: 11 пар значений (x, y).
2.2. Блок – схема
(рис. 3.2):
Рис. 3.2. Блок-схема алгоритма табулирования
Составление программы по блок-схеме из п.2.
3.1. Объявить переменные A, B, H, Y, X одинарной точности вещественного типа (Single).
3.2. Запросить ввод исходных данных с клавиатуры (Console.WriteLine()).
3.3. Открыть цикл для вычисления значения функции Y для аргумента X, изменяющегося от A до B с шагом H (For X = A To В Step H).
3.4. В цикле вычислить и вывести на экран значение функции Y(X) и соответствующего аргумента X.
3.5. Закрыть цикл (Next X) и завершить программу.
Выполнить программу и выписать результаты в отчёт (по аналогии с рис. 3.3).
|
x = 1 |
y = - 0.5 |
x = 1.6 |
y = - 0.126 |
|
x = 1.1 |
y = - 0.425 |
x = 1.7 |
y = - 0.77 |
|
x = 1.2 |
y = - 0.356 |
x = 1.8 |
y = - 0.032 |
|
x = 1.3 |
y = - 0.292 |
x = 1.9 |
y = 1.08 E-02 |
|
x = 1.4 |
y = - 0.232 |
x = 2 |
y = 5.10 E-02 |
|
x = 1.5 |
y = - 0.177 |
|
|
Рис. 3.3. Результаты: 11 пар значений (x, y)
Из таблицы значений, полученной в п.4, найти и выписать отрезок, на котором функция f(x) меняет свой знак. В данном случае это отрезок [1.8, 1.9], т.к. f(1.8)<0, а f(1.9)>0.
На найденном отрезке [1.8, 1.9] запустить программу табулирования функции f(x) с шагом h =0.01.
Из полученных результатов найти и выписать две строки, где функция f(x) меняет знак:
x = 1.87 y = - 1.732Е-08 f(x) <0
x = 1.88 y= 2.474Е-03 f(x) >0
Вычислить середину выбранного отрезка [1.87, 1.88]: X1=(1.87+1.88)/2 = 1.875 и значение функции в корне X1
(y
=
3.743E-04).Выписать результаты: значение корня (X1), значение функции в корне (y(X1)).
Вывод:
значение X1=1.875
является приближённым значением корня
уравнения с точностью
.
