Similar presentations:
Проектирование приложений обработки матриц в среде MS Visual Studio
1.
НАЦИОНАЛЬНЫЙИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
"Московский энергетический институт"
Курсовая работа по дисциплине
Объектно-ориентированный анализ и
программирование
Проектирование приложений обработки матриц
в среде MS Visual Studio
Студент группы: Раковская А. В.
Руководитель: Батасова В. С.
2. Введение
Задачи курсовой работы:1. Создание консольного приложения с
использованием функций:
• с локальными и динамическими массивами;
• в виде однофайловой и многофайловой
программ;
2. Создание консольного приложения с
использованием классов:
• без наследования и обработчиком
исключения;
• с наследованием;
3. Создание оконного приложения.
2
3. Условие задачи
В каждой из матриц A (4×3), B (5×4) поменятьместами две строки: в A вторую и третью строки, в B
— первую и третью.
3
4. Прототипы выбранных функций
void vvod_matr (double a[][4], int n, int m, char c);void zamena (double a[][4], int m, int str);
void vyvod_matr (double a[][4], int n, int m, char c);
4
5. Состав данных функции main
ИмяСмысл
Тип
Структура
Вещественный
Двумерный массив с
числом столбцов 4
Исходные данные
a
Заданные матрицы
b
Выходные данные
a
Изменённые матрицы
b
Вещественный
Двумерный массив с
числом строк 4 и
столбцов 3 для
матрицы a, с числом
строк 5 и столбцов 4
для матрицы b
5
6. Форма ввода консольного приложения для vvod_matr
Input matrix <c> size of <n>*<m><a[0][0]>
<a[0][1]> … <a[0][m-1]>
<a[1][0]>
<a[1][1]> … <a[1][m-1]>
…
<a[n-1][0]> <a[n-1][1]> … <a[n-1][m-1]>
6
7. Форма вывода консольного приложения для vyvod_matr
Matrix <c>1:<a[0][0]>
<a[0][1]> … <a[0][m-1]>
<a[1][0]>
<a[1][1]> … <a[1][m-1]>
…
<a[n-1][0]> <a[n-1][1]> … <a[n-1][m-1]>
7
8. Блок-схема алгоритма функции main
89. Описание данных функции zamena
ИмяСмысл
Тип
Структура
Входные данные
a
Заданная матрица
вещественный
двумерный массив
str
Заменяемая строка
целый
простая переменная
m
Число столбцов
целый
простая переменная
Выходные данные
a
Изменённые матрица
вещественный
двумерный массив
9
10. Блок-схема алгоритма функции zamena
нетда
10
11. Консольное приложение с использованием функций
Создаются и сравниваются три вариантапрограммы:
1) однофайловая с локальными
массивами;
2) многофайловая с локальными
массивами;
3) однофайловая с динамическими
массивами.
11
12. Однофайловая и многофайловая программы
Использование многофайловых программпозволяет:
• компилировать файлы отдельно;
• использовать разработанные функции в
других программах.
Также использование многофайловых
проектов делает код более удобочитаемым.
12
13. Динамические, локальные и статические данные
Статические :Локальные:
Динамические:
описываются вне
функций или с помощью
static
описываются в функциях
описываются не данные,
а их адреса (указатели)
распределяются в памяти
на этапе компиляции и
существуют все время
выполнения программы
распределяются в памяти
на этапе выполнения и
освобождают память при
завершении работы
функции
распределяются и
уничтожаются в памяти
на этапе выполнения
программы с помощью
специальных команд
место в памяти –
статический сегмент
место в памяти – стек
функций
место в памяти –
динамическая память
(англ. куча – heap)
13
14. Однофайловая программа с локальными массивами
1415. Многофайловая программа с локальными массивами
1516. Программа с динамическими массивами
1617. Консольное приложение с использованием классов
Разрабатываются и сравниваются дваварианта программы с использованием
классов:
1) без наследования и обработкой
исключения;
2) с наследованием.
17
18. Классы
Классы используются для:• упрощения структуры программы за счёт
использования методов класса;
• сокращения списка формальных
параметров.
18
19. Классы с наследованием
Наследование позволяет расширятьфункциональные возможности существующих
классов без их перепрограммирования и
повторной компиляции существующих
программ.
19
20. Программа с классом и обработкой исключения
2021. Программа с классом с наследованием
2122. Форма оконного приложения
Форма проекта22
23. Оконное приложение
2324. Заключение
Во время курсовой работы было сделано следующее:1. разработано консольное приложение с использованием
функций:
• с локальными и динамическими массивами;
• в виде однофайловой и многофайловой программ;
2. разработано консольное приложение с использованием
классов:
• без наследования и обработчиком исключения;
• с наследованием;
3. разработано оконное приложение.
Тесты по программам прошли успешно.
24