
- •Лабораторная работа n 6
- •1. Цель работы.
- •2. Задание.
- •3. Отчет.
- •Лабораторная работа n 7
- •1. Цель работы.
- •2. Задание.
- •3. Отчет.
- •Лабораторная работа n 8
- •1. Цель работы.
- •2. Задание.
- •3. Отчет.
- •Лабораторная работа n 9
- •1. Цель работы.
- •2. Задание.
- •Формат функций для совместной работы приложений с библиотеками
- •Внутренняя функция:
- •Пример получения данных из библиотеки
- •3. Отчет.
- •Лабораторная работа n 10
- •1. Цель работы.
- •2. Задание.
- •3. Отчет.
3. Отчет.
Отчет должен содержать следующие разделы: титульный лист, задание, текст программы, примеры (с показом хэш-данных), вывод.
Лабораторная работа n 9
по дисциплине "Теория и технология программирования"
на тему: "Использование библиотек динамической компоновки"
1. Цель работы.
Цель задания – Ознакомиться с возможностью и методами использования библиотек динамической компоновки dll (Dynamic Linked Library).
2. Задание.
Написать программу
в которой для вычисления функции,
используется динамически подключенная
библиотека dll. Вычисление ряда проводить
до условия минимизации значения разности
двух соседних членов ряда меньше
заданного эпсилон. Вычислить значения
невязки значений рядной и стандартной
Windows ("math.h") функций
,
проанализировать динамику изменения
значения невязки в зависимости от
количества слагаемых в ряде. Для остановки
счета рядов необходимо использовать
следующее условие:
.
Вариант заданной собственной функции:
Вычисление
;
Вычисление exp(x),
;
число е,
;
число пи,
;
Вычисление sin2(x),
;
Вычисление cos2(x),
;
Вычисление
;
Вычисление sin(x),
;
Вычисление cos(x)
;
Вычисление cos3(x),
;
Вычисление
cosec2(x),
,
;
Вычисление квадратного корня;
Вычисление sec2(x);
Вычисление ex(1+x);
Вычисление кубического корня;
Возведение в квадрат и куб;
Вычисление esin(x);
Вычисление ecos(x);
Вычисление etg(x);
Вычисление earcsin(x);
Для каждой из предложенных функций существует соответствующие степенные ряды. Вычисление функций производить с помощью их.
В работе должны вводиться с клавиатуры следующие переменные:
Точность
,
границы промежутка вычисления
и
шаг
,
значение
для точного расчета.
В результате работы
на экране пользователя должно быть
выведена таблица с вычислением значения
функции в интервале
для заданной точности
:
x |
MyFunction(x) |
Function(x) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Имя функции в таблице (Function) должно передаваться из библиотеки и должно изменяться при замене файла dll на файл другого варианта.
Далее пользователю
должно быть предложено ввести значение
и выведена таблица с вычислением значения
функции для заданного
для различных значений точности
(в диапазоне 10-1 - 10-7)
|
MyFunction(x) |
Function(x) |
|
0.1 |
|
|
|
|
|
|
|
0.0000001 |
|
|
|
Формат функций для совместной работы приложений с библиотеками
Для корректной совместной работы приложения и dll, в проекте библиотеки необходимо использовать следующий формат функций:
double myf_группа(double /*1 параметр*/, double /*2 параметр*/, double /*точность*/)
//Возвращает значение собственной функции. В теле функции myf_группа
//должен быть вызов внутренней функции family_func, в которой будет
//производится вычисление "рядной" функции.
//В функции myf_группа вместо имени "группа" должна быть выполнена
//подстановка дроби вашей группы (1,2,3)
double myf_math(double /*1 параметр*/, double /*2 параметр*/)
//Возвращает значение математической функции
char * FName();
//Возвращает строку названия функции