Всё для Учёбы — студенческий файлообменник
1 монета
doc

Студенческий документ № 081042 из СИЮ

ЛАБОРАТОРНАЯ РАБОТА № 4. ФУНКЦИИ

Цель работы - изучить структуру программы, состоящей из нескольких пользовательских функций; приобрести навыки разделения программы на несколько функций; правильно задавать параметры функций; передавать указатели на функции в качестве параметров.

Постановка задачи

Получить у преподавателя вариант задания. Согласно индивидуальному заданию написать программу, структура которой должна состоять из следующих функций:

* Главной функции.

* Функции ввода исходных данных с клавиатуры.

* Функции, которая реализует численный метод решения одной из задач вычислительной математики, например нахождения интеграла для любой подынтегральной функции или решения уравнения любого вида.

* Двух функций для тестирования численного метода.

Функция, реализующая численный метод, должна получать имя функции, описывающей решаемое уравнение или подынтегральную функцию, как фактический параметр.

Программу протестировать на двух различных функциях вида y=f(x), выбранных студентом самостоятельно.

Можно сохранить эти функции в отдельном файле и использовать в обеих программах, подключив этот файл с помощью директивы #include.

Описание численных методов.

Методы численного интегрирования.

Эти методы применяются для приближенного вычисления определенного интеграла вида: . Функция f(x) задана на отрезке [a, b]. Этот отрезок разбивается на n равных частей длины h=(b-a)/n.

Определенный интеграл представляет собой площадь, ограниченную кривой f(x), осью x и прямыми x=a и x=b. Приблизительно эта площадь представляется суммой площадей полос, основания которых одинаковы и равны h, а высоты равны значениям функции в точках разбиения. Обозначим точки разбиения x0=a, x1=a+h, x2= a+2h,... xn=b, а значения функции в этих точках соответственно yo=f(x0); y1=f(x1), y2=f(x2), ... yn=f(xn).

1. Метод прямоугольников.

, 2. Метод трапеций.

3. Метод Симпсона (парабол).

где n=2*m число разбиений отрезка [a, b], кратное двум.

4. Метод Ньютона.

где n=m*3- число разбиений отрезка [a, b], кратное трем.

Варианты заданий для численного решения определенного интеграла

№ варианта Подынтегральная

функция

f(x) Промежуток

интегрирования. Метод численного решения определ. интегр. Кол-во частей разбиения 1 [1; 3,5] Симпсона 30 2 [?/6; ?/3] Симпсона 54 3 [2; 3] Симпсона 36 4 [1; 4] Симпсона 52 5 [0; ln 2] Симпсона 104 6 [0; 1] Симпсона 48 8 [0; 2] Симпсона 208 9 [1; 2,5] Симпсона 44 10 [0; 1,7] Симпсона 48 11 [0; 3] Симпсона 36 12 [1; 3] Симпсона 40 13 [0; 1] трапеций 44 14 [1; 2] трапеций 160 15 [0; 1] трапеций 240 16 [0; 1] трапеций 22 17 [0; 2] трапеций 48 18 [0; ?/2] трапеций 22 19 [0; 1,9999] трапеций 96

№ варианта Подынтегральная

функция

Промежуток

интегрирования Метод численного решения

определ. интеграла Кол-во частей разбиения 20 трапеций 60 21 трапеций 52 22 трапеций 176 23 трапеций 36 24 трапеций 52 25 Ньютона 150 26 ) Ньютона 45 27 Ньютона 75 28 Ньютона 120 29 Ньютона 150 30 Ньютона 36 31 Ньютона 60 32 Прямоуголь-

ников 50 33 Прямоуголь-

ников 40 34 Прямоуголь-

ников" 60 35 Прямоуголь-

ников 100 36 Прямоуголь-

ников 60

Решение алгебраических и трансцендентных уравнений.

При решении уравнений вида f(x)=0 точно вычислить корни уравнения возможно лишь в частных случаях. Поэтому для нахождения корней уравнения могут использоваться приближенные методы. При изложении этих методов предполагается, что известен отрезок, а? x ?b, внутри которого существует корень, и задача вычисления корня решается с заданной точностью.

1. Метод итераций

Сущность метода итераций заключается в следующем. Для данного метода исходное уравнение должно быть представлено в виде и выбрано начальное приближение x0 на заданном отрезке. При нахождении корня уравнения этим методом должно выполняться условие . Новое значение корня вычисляется через предыдущее по формуле . Итерационный процесс уточнения корня заканчивается при достижении условия , где ? - допустимая погрешность.

2. Метод Ньютона

В соответствии с этим методом каждое следующее приближение к корню ищется по формуле:

Итерационный процесс уточнения корня заканчивается при достижении условия: , где ? - заданная точность.

3. Метод половинного деления.

Отрезок [a, b] делится пополам , и определяется значение функции f(x) на концах отрезков [а, х] и [х, b]. Корень находится в той половине отрезка [a, b], на концах которой f(x) имеет разные знаки. Если f(a) и f(x) имеют разные знаки, то далее в качестве отрезка, содержащего корень, рассматриваем [a, х], иначе - [х, b]. Новый отрезок делится пополам, и такой процесс повторяется до тех пор, пока отрезок не станет меньше заданной точности ?.

4. Метод секущих

При использовании этого метода каждое следующее приближение вычисляется по формуле:

Процесс уточнения корня заканчивается при выполнении условия

, где ? - заданная точность.

Варианты заданий для решения уравнений

Номер варианта Уравнение Отрезок, содержащий корень Метод численного решения Точность 1 итераций 2 Ньютона 3 половинного деления 4 итераций 5 Ньютона 6 половинного деления 7 итераций 8 Ньютона 9 половинного деления 10 итераций 11 Ньютона 12 половинного деления 13 итераций 14 Ньютона 15 половинного деления 16 итераций 17 Ньютона 18 половинного деления 19 секущих 20 Ньютона 21 половинного деления 22 итераций 23 Ньютона 24 половинного деления 25 итераций 26 Ньютона 27 половинного деления 28 итераций 29 Ньютона 30 половинного деления

Нахождение экстремумов функций

1. Поиск максимума функции методом половинного деления.

Нахождение максимума функции f(x) на интервале [a, b] методом половинного деления заключается в следующем. Отрезок [a, b] делится пополам , выбираются две точки справа и слева от середины х1=х-с, х2=х+с, где c

2. Поиск максимума функции методом золотого сечения.

Этот метод заключается в следующем. На отрезке [a, b] ищутся две точки и , где . Если f(x1) < f(x2), то в качестве [a, b] берется отрезок [x1, b], иначе берется [a, x2]; процесс продолжается до достижения заданной точности (пока отрезок не станет меньше заданного ?). Нахождение минимума производится аналогично.

Варианты заданий для нахождения экстремумов функции.

Вариант задания Вид функции y=f(x) Диапазон изменения аргумента

[a, b] Точность вычисления экстремума 1 2+x-x2 [0; 1,0] 2 (1-x)4 [0,2; 1,5] 0,5* 3 cos x +ch x [-0,8; 0,4] 4 x1/3(1-x)2/3 [0,1; 0,6] 5 x3-6x2+9x+4 [0,2; 1,5] 6 x3-6x2+9x+4 [2; 4] 0,5* 7 2x2-x4 [-2; 0,8] 8 [1; 2] 0,5* 9 [0,1; 1,2] 10 xe-x [0,1; 1,5] 11 ln2 x/x [6; 8] 12 x+1/x [0,1; 1,5] 13 [0,15; 1,5] 14 [-2; -0,5] 15 ln2 x/x [0,1; 1,9]

Контрольные вопросы

1. Что называется функцией?

2. Для чего нужен прототип функции?

3. Где размещается прототип функции в программе?

4. Где должно находиться определение функции в программе?

5. Где хранятся данные, объявленные в функции?

6. Напишите синтаксическую конструкцию определения функции?

7. Как осуществляется вызов функции?

8. Назовите критерии соответствия формальных и фактических параметров.

9. Какие объекты программы можно использовать в качестве формальных параметров?

10. Какие объекты программы можно использовать в качестве фактических параметров?

11. Зачем нужен оператор return?

12. Может ли в функции быть несколько операторов return?

13. Куда передается управление ходом выполнения программы при завершении работы функции?

14. Когда используются формальные параметры-указатели? Какими в этом случае должны быть фактические параметры?

15. Для чего используется указатель на функцию? Как его описать?

16. Как обратиться к функции, переданной через параметр?

Показать полностью… https://vk.com/doc69801468_442775750
443 Кб, 1 марта 2017 в 19:45 - Россия, Москва, СИЮ, 2017 г., doc
Рекомендуемые документы в приложении