Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ISVP_Labs_16_17.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
8 Мб
Скачать
☆

8.2.Задание

В таблице 1 описаны функции, корни которых требуется найти.

Таблица 1

Варианты функций

№

Функция и область определения

Вид графика

1

xmin=-5, xmax=5

a=-1,b=2,c=8, d=-10

y=a*x*x*x + b*x*x + c*x + d

2

xmin=-15, xmax=10

a=-0.1,c=5

y=a*x*x + Math::Sin(x+0.5)*x + c

3

xmin=-3.5, xmax=2

a=7, b=3, c=2, d=-5, e=1.5

y=a*Math::Cos(b*x) + c*x*x + d + e*x

4

xmin=-1.8, xmax=2.2

a=1, b=1, c=2, d=1

y=(x+a) * (x+b) * (x-c) + d

5

xmin=-5, xmax=3

a=-0.01,b=50,c=10

y=a*x*x + b*Math::Pow(Math::Sin(x+0.5),4)*x + c

6

xmin=-3, xmax=2.5

a=-0.01, b=50, c=-20

y=a*x*x + b*Math::Pow(Math::Sin(x+0.5),5)*x + c

7

xmin=-1.3, xmax=1.5

a=-0.01,b=50,c=-20

y=a*x*x + b*Math::Pow(Math::Sin(x+0.5),5)*x + c

Выберите свой вариант задания из табл. 2. Вне зависимости от варианта задания ваше приложение должно удовлетворять следующим требованиям:

  • значения коэффициентов (a,b,c ... ), область определения функции, погрешность eps и другие необходимые исходные данные должны вводиться пользователем в отдельной форме. В эту же или другую форму должны выводиться и результаты расчетов: значения корней, число интервалов по оси Х, затраченное время на поиск корней и др. полученные ценнейшие околонаучные результаты. Способ создания дополнительной формы рассмотрен в предыдущей работе;

  • при перемещении мыши в окне в строке статуса должны выводиться текущие значения X и Y аргумента и значения функции (истинные, а не только в пикселях);

  • найденные корни должны быть обозначены на графике так, как на рис. 1;

  • оформить свой программный код в виде класса;

  • само собой разумеется, что приложение должно иметь дружественный интерфейс, по крайней мере меню, а не какие-то там щелчки ЛКМ по форме, как в Roots.

Измерить время, затраченное на вычисления, можно таким образом:

DateTime d1 = DateTime::Now;// Получаем текущие дату и время

// выполняем длительные вычисления

DateTime d2 = DateTime::Now;// Вновь запрашиваем текущие дату и время

UInt64 ticks=d2.Ticks-d1.Ticks;/* Находим затраченное на вычисления

время в "тиках"*/

double msc=ticks/10000.;/*Переводим "тики" в мск*/

Таблица 2

Варианты индивидуальных заданий

№

Номер функции из табл.1

Метод нахождения корней

1

1

Метод полного перебора

2

2

Стохастический метод

3

3

Метод полного перебора

4

4

Стохастический метод

5

5

Метод полного перебора

6

6

Стохастический метод

7

7

Метод дихотомии

8

1

Стохастический метод

9

2

Метод полного перебора

10

3

Стохастический метод

11

4

Метод полного перебора

12

5

Стохастический метод

13

6

Метод полного перебора

14

7

Метод дихотомии

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]