Системное программирование / SSW_kw
.pdfСоздание распределенной системы решения задач
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
2.16.Разработка программной реализации криптографического алгоритма для защиты передаваемых по сети данных
2.17.Снабжение клиентского и серверного приложения средствами криптографической защиты передаваемой по сети информации
2.18.Составление программной документации в соответствии с Единой системой программной документации (ЕСПД) на разработанные компоненты распределенной информационной системы
2.19.Подготовка пояснительной записки
Пояснительная записка к курсовой работе должна содержать описание всех этапов хода выполнения работы, результатов, полученных на каждом этапе, программную документацию на разработанное программное обеспечение в соответствии с ЕСПД.
К пояснительной записке должен быть приложен CD-ROM, содержащий в корневом каталоге каталог, имя которого соответствует фамилии автора. Например, автор – Михаил Федорович Степанов, тогда имя каталога может быть, например, MFStepanov.
Вуказанном каталоге должен находится файл с постановкой задачи
иподкаталоги с результатами выполнения работы. Имена этих подкаталогов соответствуют номерам этапов выполнения работы.
Вкаждом таком подкаталоге должна находиться информация (текстовые документы, проекты инструментальной среды разработки программного обеспечения), разработанная на соответствующем этапе.
Например, в подкаталоге с именем 1 должно находиться задание на выполнение
работы и алгоритм работы функционального программного модуля,
в подкаталоге 2 – проект среды С++ Builder (например) создания приложения для проверки работоспособности разработанного функционального программного модуля,
в подкаталоге 3 – проекты создания библиотек для класса TTask и функционального программного модуля, объединенные в группу проектов
спроектом создания приложения для проверки работоспособности разработанного функционального программного модуля,
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Методические указания к выполнению курсовой работы |
51 |
|
Системное программное обеспечение
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
вподкаталоге 4 – текстовый документ, включающий описание входного языка для постановки функциональных задач пользователем,
вподкаталоге 5 – текстовый документ, включающий описание процесса построения и исследование грамматики входного языка для постановки функциональных задач пользователем,
вподкаталоге 6 – модифицированная по сравнению с содержимым подкаталога группа проектов создания тестового приложения текстовый документ, включающий описание процесса построения и исследование грамматики входного языка для постановки функциональных задач пользователем,
и т.д.
2.15. Использование инструментальных средств разработки программного обеспечения
Для создания разрабатываемого в рамках курсовой работы программного обеспечения должны использоваться инструментальные средства разработки, например, C++ Builder, Visual Studio.NET.
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
52 |
М.Ф.Степанов |
Создание распределенной системы решения задач
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
2.16. Варианты индивидуальных заданий
Индивидуальное задание определяется функциональной задачей, решаемой разрабатываемой системой обработки информации.
Выбор задачи, вариантов в пределах задачи осуществляется в соответствии с номером зачетной книжки.
В каждой задаче способ организации таблиц идентификаторов выбирается из таблицы 1 в соответствии с правилом выбора вариантов.
Правило выбора вариантов
Если количество вариантов равно 10, то выбор осуществляется на основе последней цифры номера зачетной книжки. В противном случае следует использовать остаток от деления числа, составленного из последних трех цифр номера зачетной книжки на количество имеющихся вариантов.
Рассмотрим пример выбора индивидуального задания на курсовую работу. Пусть, например, номер зачетной книжки 123458.
Выбор способа организации таблиц идентификаторов
Осуществляется на основе числа, составленного из трех последних цифр номера зачетной книжки. В данном примере это 458. Необходимо вычислить остаток от деления этого числа на количество имеющихся вариантов, в данном случае на 3:
458 = 152×3 + 2;
Следовательно, таблица идентификаторов должна быть организована как упорядоченный список.
Таблица 1
|
Способы организации таблиц идентификаторов |
|
Вариант |
|
Способ организации таблиц |
1. |
|
Массив записей. |
2. |
|
Простой список. |
3. |
|
Упорядоченный список. |
4. |
|
Бинарное дерево. |
5. |
|
Хэш-адресация с рехэшированием. |
6. |
|
Хэш-адресация по методу цепочек. |
7. |
|
Комбинация хэш-адресации со списком. |
8. |
|
Комбинация хэш-адресации с бинарным деревом. |
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Методические указания к выполнению курсовой работы |
53 |
|
Системное программное обеспечение
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Выбор функциональной задачи
Последняя цифра номера зачетной книжки есть 8.
Следовательно, решению подлежит задача № 8. В ней имеются три варианта описания системы уравнений. Выбор варианта системы уравнений осуществляется на основе числа, составленного из трех последних цифр номера зачетной книжки. В данном примере это 458. Необходимо вычислить остаток от деления этого числа на количество имеющихся вариантов, в данном случае на 3:
458 = 152×3 + 2;
Таким образом, в данном примере должен рассматриваться 2-й вариант описания системы уравнений.
Поскольку в задаче имеется 10 вариантов методов интегрирования системы уравнений, то выбор осуществляется на основе последней цифры номера зачетной книжки. В данном примере это 8.
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
54 |
М.Ф.Степанов |
Создание распределенной системы решения задач
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Варианты функциональных задач
Задача 1. Интерполирование заданной пользователем функции:
Таблица 1
|
Функции одной переменной |
Вариант |
Функция |
1 |
f ( x ) = a +b* x +c* sin( d * x +e ) |
2 |
f ( x ) = a +b* x +c* cos( d * x +e ) |
3 |
f ( x ) = a +b* x +c* tg( d * x +e ) |
4 |
f ( x ) = a +b* x +c* ctg( d * x +e ) |
5 |
f ( x ) = a +b* x +c* log2( d * x +e ) |
6 |
f ( x ) = a +b* x +c* lg( d * x +e ) |
7 |
f ( x ) = a +b* x +c* ln( d * x +e ) |
8 |
f ( x ) = a +b* x +c* exp( d * x +e ) |
9 |
f ( x ) = a +b* x +c* arcsin( d * x +e ) |
10 |
f ( x ) = a +b* x +c* arccos( d * x +e ) |
11 |
f ( x ) = a +b* x +c* arctg( d * x +e ) |
12 |
f ( x ) = a +b* x +c* arcctg( d * x +e ) |
13 |
f ( x ) = a +b* x +c* sin( d * x ) + g * cos( h* x ) |
14 |
f ( x ) = a +b* x +c* x2 + d * x3 |
15 |
f ( x ) = a +b* x +c* exp( d * x )* ( g * sin( h* x ) + p* cos( q* x )) |
заданным методом:
1)с помощью алгебраических многочленов Лагранжа;
2)с помощью алгебраических многочленов Ньютона;
3)тригонометрическими многочленами.
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Методические указания к выполнению курсовой работы |
55 |
|
Системное программное обеспечение
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Задача 2. Нахождение экстремума заданной пользователем функции нескольких переменных
Таблица 2
|
Функции двух переменных |
№ |
Функция |
1 |
f ( x, y ) = a +b* x +c* y + d * sin( g * x + h* y ) |
2 |
f ( x, y ) = a +b* x +c* y + d * cos( g * x + h* y ) |
3 |
f ( x, y ) = a +b* x +c* y + d * tg( g * x + h* y ) |
4 |
f ( x, y ) = a +b* x +c* y + d * ctg( g * x + h* y ) |
5 |
f ( x, y ) = a +b* x +c* y + d * log2( g * x + h* y ) |
6 |
f ( x, y ) = a +b* x +c* y + d * lg( g * x + h* y ) |
7 |
f ( x, y ) = a +b* x +c* y + d * ln( g * x + h* y ) |
8 |
f ( x, y ) = a +b* x +c* y + d * exp( g * x + h* y ) |
9 |
f ( x, y ) = a +b* x +c* y + d * arcsin( g * x + h* y ) |
10 |
f ( x, y ) = a +b* x +c* y + d * arccos( g * x + h* y ) |
11 |
f ( x, y ) = a +b* x +c* y + d * arctg( g * x + h* y ) |
12 |
f ( x, y ) = a +b* x +c* y + d * arcctg( g * x + h* y ) |
13 |
f ( x, y ) = a +b* x +c* y + d * sin( g * x + h* y ) + p* cos( q* x + r * y ) |
14 |
f ( x, y ) = a +b* x +c* y + d * x2 + g * y2 + h* x3 + p* y3 |
15 |
f ( x ) =a +b* x +c* y +d * exp(g* x +h* y )* ( p* sin(q* x +r* y ) +w* cos(s* x +v* y )) |
заданным методом:
1)покоординатного спуска;
2)наискорейшего спуска.
Задача 3. Решение системы линейных алгебраических уравнений Ax = b,x Rn ,A Rn ×Rn ,b Rn заданным методом
1)Гаусса;
2)ортогонализации;
3)простой итерации;
4)Зейделя;
5)при помощи разбиения на клетки.
Задача 4. Обращение матрицы A Rn ×Rn
Задача 5. Вычисление определителя матрицы A Rn ×Rn .
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
56 |
М.Ф.Степанов |
Создание распределенной системы решения задач
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Задача 6. Решение численных уравнений задаваемых пользователем: Таблица 3
|
Уравнения с одной неизвестной |
Вариант |
Уравнение |
1 |
a +b* x +c* sin( d * x +e ) = 0 |
2 |
a +b* x +c* cos( d * x +e ) = 0 |
3 |
a +b* x +c* tg( d * x +e ) = 0 |
4 |
a +b* x +c* ctg( d * x +e ) = 0 |
5 |
a +b* x +c* log2( d * x +e ) = 0 |
6 |
a +b* x +c* lg( d * x +e ) = 0 |
7 |
a +b* x +c* ln( d * x +e ) = 0 |
8 |
a +b* x +c* exp( d * x +e ) = 0 |
9 |
a +b* x +c* arcsin( d * x +e ) = 0 |
10 |
a +b* x +c* arccos( d * x +e ) = 0 |
11 |
a +b* x +c* arctg( d * x +e ) = 0 |
12 |
a +b* x +c* arcctg( d * x +e ) = 0 |
13 |
a +b* x +c* sin( d * x ) + g * cos( h* x ) = 0 |
14 |
a +b* x +c* x2 + d * x3 = 0 |
15 |
a +b* x +c* exp( d * x )* ( g * sin( h* x ) + p* cos( q* x )) = 0 |
заданным
1.методом итерации;
2.методом Ньютона;
3.методом, основанным на интерполировании функции;
4.методом, основанным на интерполировании обратной функции;
5.методом упрощения алгебраических уравнений путем выделения множителей.
Задача 7. Численное интегрирование подинтегральной функции, заданной пользователем (см. таблицу 4) заданным методом:
1)квадратурные формулы с равноотстоящими узлами;
2)формула трапеций;
3)формула парабол;
4)формула "трех восьмых";
Таблица 4
|
Функции одной переменной |
Вариант |
Функция |
1 |
f ( x ) = a +b* x +c* sin( d * x +e ) |
2 |
f ( x ) = a +b* x +c* cos( d * x +e ) |
3 |
f ( x ) = a +b* x +c* tg( d * x +e ) |
4 |
f ( x ) = a +b* x +c* ctg( d * x +e ) |
5 |
f ( x ) = a +b* x +c* log2( d * x +e ) |
6 |
f ( x ) = a +b* x +c* lg( d * x +e ) |
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Методические указания к выполнению курсовой работы |
57 |
|
Системное программное обеспечение
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
7 |
f ( x ) = a +b* x +c* ln( d * x +e ) |
8 |
f ( x ) = a +b* x +c* exp( d * x +e ) |
9 |
f ( x ) = a +b* x +c* arcsin( d * x +e ) |
10 |
f ( x ) = a +b* x +c* arccos( d * x +e ) |
11 |
f ( x ) = a +b* x +c* arctg( d * x +e ) |
12 |
f ( x ) = a +b* x +c* arcctg( d * x +e ) |
13 |
f ( x ) = a +b* x +c* sin( d * x ) + g * cos( h* x ) |
14 |
f ( x ) = a +b* x +c* x2 + d * x3 |
15 |
f ( x ) = a +b* x +c* exp( d * x )* ( g * sin( h* x ) + p* cos( q* x )) |
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
58 |
М.Ф.Степанов |
Создание распределенной системы решения задач
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Задача 8. Решение систем обыкновенных дифференциальных уравнений
вида |
1) x& = Ax +Cf ( t ),x Rn , f Rµ , |
где x& = dx / dt , при этом f ( t ) |
задаётся |
||||||
аналитически (символьно) пользователем. Например, |
0,t < t |
0 . |
|||||||
f ( t ) = |
|
|
|||||||
|
|
|
|
|
|
f ,t ≥ t0 |
|||
2) |
x& = Ax + Bu( x,t ),x Rn ,u Rm , |
где |
x& = dx / dt , |
при |
этом u( x,t ) |
задаётся |
|||
аналитически (символьно) пользователем. Например, u( x,t ) = Hx . |
|
||||||||
3) |
x& = Ax + Bu( x,t ) +Cf ( t ),x Rn ,u Rm , f Rµ , где |
x& = dx / dt , при этом u( x,t ) и |
|||||||
f ( t ) |
задаются аналитически |
(символьно) |
пользователем. Например, |
u( x,t ) = Hx , f ( t ) = 0f,,tt<≥tt0 .
0
Решение системы уравнений осуществить:
1.методом Эйлера;
2.методом трапеций;
3.методом Рунге-Кутта 2-го порядка точности;
4.методом Рунге-Кутта 3-го порядка точности;
5.методом Рунге-Кутта 4-го порядка точности;
6.методом Рунге-Кутта 5-го порядка точности;
7.экстраполяционным методом Адамса 2-го порядка;
8.экстраполяционным методом Адамса 3-го порядка;
9.интерполяционным методом Адамса 1-го порядка;
10.интерполяционным методом Адамса 2-го порядка;
Задача 9. Построение ЛАЧХ и ЛФЧХ по заданным передаточным функциям.
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Методические указания к выполнению курсовой работы |
59 |
|
Системное программное обеспечение
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Задача 10. Преобразование Фурье заданной пользователем функции (см. таблицу 5).
Таблица 5
|
Функции одной переменной |
Вариант |
Функция |
1 |
f ( x ) = a +b* x +c* sin( d * x +e ) |
2 |
f ( x ) = a +b* x +c* cos( d * x +e ) |
3 |
f ( x ) = a +b* x +c* tg( d * x +e ) |
4 |
f ( x ) = a +b* x +c* ctg( d * x +e ) |
5 |
f ( x ) = a +b* x +c* log2( d * x +e ) |
6 |
f ( x ) = a +b* x +c* lg( d * x +e ) |
7 |
f ( x ) = a +b* x +c* ln( d * x +e ) |
8 |
f ( x ) = a +b* x +c* exp( d * x +e ) |
9 |
f ( x ) = a +b* x +c* arcsin( d * x +e ) |
10 |
f ( x ) = a +b* x +c* arccos( d * x +e ) |
11 |
f ( x ) = a +b* x +c* arctg( d * x +e ) |
12 |
f ( x ) = a +b* x +c* arcctg( d * x +e ) |
13 |
f ( x ) = a +b* x +c* sin( d * x ) + g * cos( h* x ) |
14 |
f ( x ) = a +b* x +c* x2 + d * x3 |
15 |
f ( x ) = a +b* x +c* exp( d * x )* ( g * sin( h* x ) + p* cos( q* x )) |
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
60 |
М.Ф.Степанов |