- •Лабораторные работы по курсу «Инструментальные средства визуального программирования»
- •1. Программирование односвязного списка
- •1.1.Задание
- •1.2.Описание вариантов заданий
- •2.Перегрузка векторных и матричных операций
- •2.1.Задание
- •2.2.Бесценные методические указания
- •2.3.Некоторые особенности перегрузки операций
- •3.Классная работа
- •3.1.Постановка задачи
- •2.4.Варианты заданий
- •3.2.Задания
- •3.3.Методические наказания к первой части работы
- •3.4.Методические наказания ко второй части работы
- •4.Алгоритмы
- •Задание
- •Варианты классов и их обработки
- •5.Приложение WinForms (cli)
- •5.1.Задание
- •5.2.Бесценные методические предписания
- •Int nRec;//Число записей файла, оно же будет числом элементов массивов
- •6.Графика в WinForms (cli)
- •6.1.Задание
- •6.2.Бесценные методические предписания
- •6.3.Индивидуальные задания
- •7.1.Задание
- •7.2.Бесценные методические наставления
- •8.Квикли файдингуем рутсы
- •8.1.Дармовые методические рекомендации
- •8.2.Задание
- •Варианты индивидуальных заданий
- •9.Приложение, основанное на модальном диалоговом окне
- •9.1.Нудные методические указания Модальные и немодальные диалоговые окна
- •Ресурсы и элементы управления
- •Сценарий создания приложения
- •Разбор приложения
- •Усовершенствование приложения
- •10.Разработка графического редактора
- •Задание.
- •10.1.Проектирование программы
- •10.2.Разработка интерфейса
- •Установка флагов
- •Создание меню и панели инструментов
- •Обработка сообщений о нажатии кнопки мыши
- •10.3.Рисование
- •10.4.Растягивание фигур
- •10.5.Обновление изображения
- •10.6.Сохранение метафайла на диске и его загрузка
- •Список ссылок
- •Работы, выполненные в осеннем семестре 2016/2017 по курсу ооп
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 |
Метод дихотомии |
