8829
.pdfМинистерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«Нижегородский государственный архитектурно-строительный университет»
Ю. А. Громов
УЧЕБНАЯ ПРАКТИКА ПО ПОЛУЧЕНИЮ ПЕРВИЧНЫХ ПРОФЕССИОНАЛЬНЫХ УМЕНИЙ И НАВЫКОВ
Учебно-методическое пособие
по выполнению лабораторных работ для обучающихся по дисциплине «Учебная практика по получению первичных профессиональных умений и навыков»
по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля
Нижний Новгород
2017
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«Нижегородский государственный архитектурно-строительный университет»
Ю. А. Громов
УЧЕБНАЯ ПРАКТИКА ПО ПОЛУЧЕНИЮ ПЕРВИЧНЫХ ПРОФЕССИОНАЛЬНЫХ УМЕНИЙ И НАВЫКОВ
Учебно-методическое пособие
по выполнению лабораторных работ для обучающихся по дисциплине «Учебная практика по получению первичных профессиональных умений и навыков»
по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля
Нижний Новгород ННГАСУ
2017
УДК 681.3 (075)
Громов Ю. А. / Учебная практика по получению первичных профессиональных умений и навыков[Электронный ресурс]: учеб. – метод. пос./Ю. А. Громов; Нижегор. гос. архитектур. – строит. ун-т – Н. Новгород: ННГАСУ, 2017. - ___ с. 1 электрон.опт.диск (CD-R)
В методических указаниях представлены задания и пояснения к выполнению лабораторных работ в среде разработки Microsoft Visual Studioи табличный процессор Excelв рамках курса «Учебная практика по получению первичных профессиональных умений и навыков».
Ю. А. ГромовННГАСУ. 2017.
Введение
Настоящие методические указания ориентированы на работу в сетях персональных ЭВМ под управлением операционной системы Windows с использованием языка программирования VisualBasicи офисных приложений.
Дополнительную информацию можно найти в работах [1], [2], [3].
Требования к выполнению работ
При подготовке к лабораторной работе студенту необходимо изучить соответствующие разделы лекционного курса. В ходе выполнения каждой лабораторной работы студент должен подготовить письменный отчет, включающий:
номер, тему и цель лабораторной работы;
перечень заданий работы;
входные и выходные данные для каждого задания;
блок-схему программы;
текст программы;
таблицу и графики с результатами вычислений;
общие выводы по результатам лабораторной работы.
Семестр №1
ЛАБОРАТОРНАЯ РАБОТА №1
Тема: Табулирование функции. Применение табулирования к решению уравнения f(x)=0.
Цель работы: составление программы табулирования функции y= f(x) и ее использование для нахождения корня уравнения f(x)=0 с заданной точностью.
Варианты заданий лабораторной работы №3 приведены в таблице 3.1.
Работа состоит из двух задач:
Задача 1. Найти таблицу значений функций y= f(x) на отрезке [a, b] с шагом h. Задача 2. Вычислить корень уравнения f(x) = 0 на отрезке [a, b] с точностью
=0,005.
Перед выполнением задания любого уровня необходимо проверить графически, что на заданном отрезке [a, b] находится корень уравнения. Если корня на заданном отрезке нет, то следует определить по графику новый отрезок, содержащий корень, и при решении задачи рассматривать его. График привести в отчѐте.
Задание (1 уровень)
1.Графически получить приближѐнное решение уравнения f(x) = 0. Уравнение взять из таблицы 3.1 в соответствии с номером своего варианта.
2.Составить блок-схему алгоритма табулирования функции f(x) на отрезке [a, b] с шагом h=0,1.
3.Составить программу табулирования функции f(x) на отрезке [a, b] с шагом h=0,1.
4.Ввести программу, выполнить еѐ, получить и выписать 11 пар значений
(x, y).
5.Для вычисления корня уравнения f(x) = 0 найти и выписать отрезок
[ , ], полученный в результатах табулирования, на концах которого f(x) имеет разные знаки.
6.Повторно запуская программу табулирования, получить таблицу значений функции f(x) на отрезке , с шагом h=0,1.
7.С экрана выписать новый отрезок [ , ], на концах которого функция f(x) имеет разные знаки. Вычислить середину этого отрезка 1 = ( + )/2 – это
ибудет приближѐнный корень уравнения f(x)=0, с точностью = 0,005.
8.Вычислить значение функции в корне. Выписать полученные результаты.
Задание (2 уровень)
1.Графически получить приближенное решение уравнения f(x) = 0. Уравнение взять из таблицы 3.1 в соответствии с номером своего варианта.
2.Изменить блок-схему задачи табулирования функции f(x), предусмотрев возможность повторного запуска алгоритма табулирования на новом интервале с новым шагом h ( = − /10). Выход из программы должен быть выполнен, если длина найденного интервала окажется меньше либо равна заданной
погрешности ( − ≤ ).Перед выходом вычислить корень уравнения как середину последнего отрезка и значение функции в корне.
3.Составить программу табулирования f(x) на [a, b] с шагом hпо новой блок-схеме.
4.Запустить программу, получить результаты по табулированию функции f(x) последовательно на данном интервале [a, b] с шагом h=0,1 и на каждом новом
интервале [ , ], где функция меняет знак на противоположный, с шагом
= − /10.
5.С экрана выписать результаты табулирования на первом интервале, а для последующих результатов – выписывать две строки, где функция меняет свой знак. Выписать корень уравнения и значение функции в корне.
Задание (3 уровень)
1.Графически получить приближѐнное решение уравнения f(x) = 0. Уравнение взять из таблицы 3.1 в соответствии с номером своего варианта.
2.Составить блок-схему и программу, реализующие алгоритм вычисления корня уравнения f(x)=0 на интервале [a, b] с заданной точностью . Для нахождения корня использовать алгоритм табулирования функции f(x),
последовательно уменьшая в 10 раз интервал поиска [ , ], где |
|
< 0 |
||||||
|
|
|
|
|
|
|
|
|
пока не выполнится условие: |
− |
|
≤ . |
|
|
|
||
|
|
|
|
|
|
|
|
|
Замечания: |
|
|
|
|
|
|
|
|
а) на каждом отрезке |
, |
|
проводить не более 10 вычислений значений |
|||||
|
|
|
|
|
|
|
|
|
функции f(x); |
|
|
|
|
|
|
|
|
б) приближенным решением уравнения считать середину последнего |
||||||||
отрезка 1 = ( + )/2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Ввести программу, выполнить еѐ и получить результат. На экран вывести границы каждого нового интервала поиска корня, корень уравнения, заданную точность и значение функции в корне.
П р и м е р
Задача 1.Найти таблицу значений функций y= f(x) на отрезке [a, b] с шагом h=0.1,
где = lg − 2− , a=1, b=2.
Задача 2. Найти корень уравнения f(x) = 0 на отрезке [a, b] с точностью
= 0.005.
Порядок выполнения задания (1 уровень)
1.Решение уравнения графическим методом.
1.1.Проверим графически, что на заданном отрезке [a, b] есть корень уравнения f(x)= 0, т.е.
− 2− = 0. |
(1) |
Перепишем уравнение (1): = 2− |
|
Построим два графика 1 = и |
2 = 2− (рис. 3.1) |
Графики пересекаются друг с другом в точке М. Абсцисса точки М (X*)– есть корень уравнения − 2− = 0.
1.2.Если на заданном в условии отрезке графики не пересекаются, то это означает, что данный отрезок не содержит корня уравнения. В этом случае следует определить по графику новый отрезок, содержащий корень, и при решении задачи рассматривать его.
2.Составление блок-схемы задачи табулирования.
2.1.Входные данные: a, b – границы отрезка, h - шаг.
Выходные данные: 11 пар значений (x, y).
1.2.Блок – схема (рис. 3.2):
Рис. 3.2. Блок-схема алгоритма табулирования
3.Составление программы по блок-схеме из п.2.
3.1.Объявить переменные A, B, H, Y, Xодинарной точности вещественного типа (Single).
3.2.Запросить ввод исходных данных с клавиатуры (Console.WriteLine()).
3.3.Открыть цикл для вычисления значения функции Yдля аргумента X, изменяющегося от Aдо B с шагом H (ForX = ATo В StepH).
3.4.В цикле вычислить и вывести на экран значение функции Y(X) и соответствующего аргумента X.
3.5.Закрыть цикл (NextX) и завершить программу.
4.Выполнить программу и выписать результаты в отчѐт (по аналогии с рис. 3.3).
x = 1 |
y = - 0.5 |
x = 1.1 |
y = - 0.425 |
x = 1.2 |
y = - 0.356 |
x = 1.3 |
y = - 0.292 |
x = 1.4 |
y = - 0.232 |
x = 1.5 |
y = - 0.177 |
x = 1.6 |
y = - 0.126 |
x = 1.7 |
y = - 0.77 |
x = 1.8 |
y = - 0.032 |
x = 1.9 |
y = 1.08 E-02 |
x = 2 |
y = 5.10 E-02 |
Рис. 3.3. Результаты: 11 пар значений (x, y)
5.Из таблицы значений, полученной в п.4, найти и выписать отрезок, на котором функцияf(x) меняет свой знак. В данном случае это отрезок [1.8, 1.9], т.к. f(1.8)<0, а f(1.9)>0.
6.На найденном отрезке [1.8, 1.9] запустить программу табулирования функции f(x) с шагом h =0.01.
7.Из полученных результатов найти и выписать две строки, где функция f(x) меняет знак:
x = 1.87 |
y = - 1.732Е-08 f(x) <0 |
x = 1.88 |
y= 2.474Е-03 |
f(x) >0 |
8. Вычислить середину выбранного отрезка [1.87, 1.88]: X1=(1.87+1.88)/2 = 1.875 и значение функции в корне X1: у = ( 1) − 2−1 (y=3.743E-04).
9. Выписать результаты: значение корня (X1), значение функции в корне
(y(X1)).
Вывод: значение X1=1.875 является приближѐнным значением корня уравнения с точностью = 0,005.
Пояснения к выполнению задания второго уровня
Для реализации выхода из программы выполнить проверку длины найденного отрезка ( − ≤ ). Если это условие не выполняется, то программа должна запросить границы следующего отрезка, на котором функция имеет разные знаки на концах отрезка. Взять границы отрезка с экрана из результатов табулирования на предыдущем отрезке. Если условие выполняется, то необходимо в программе вычислить корень уравнения и значение функции в корне.
Пояснения к выполнению задания третьего уровня
Для поиска в программе нового отрезка табулирования выполнять проверку условия < 0. Для выхода из программы сравнивать длину найденного отрезка с заданной точностью. Перед выходом из программы вычислить корень уравнения и значение функции в корне.