
Лабораторная работа №7
«Запись одномерных массивов в текстовый файл и документ Microsoft Word»
Оглавление
Y
1. Задание на лабораторную работу 3
2. Формализация 5
3. Заставка к лабораторной работе 6
4. Схема алгоритма решения задачи 7
5. Листинг программы 17
5.1 Листинг основной программы 17
.2 Листинг dll библиотеки 18
6 Тестирование программы 25
Список использованной литературы: 33
Задание на лабораторную работу
Задача: Разработать проект с двумя формами. Первая форма – заставка к приложению, вторая – решение задания лабораторной работы. Заставка в первой форме должна быть реализована при помощи надписи. Кроме этого разработать функцию VSTAVKA, PROSOYVSTAVKA,Zapis, ZapisWordIsx_ ZapisWordrez, еntermas и outputmas типа void , которые будут находиться в dll библиотеке.
Дан целочисленный массив, элементы которого могут принимать неотрицательные целые значения до 10000 включительно. Необходимо произвести метод вставки элемента массива и отдельно вывести массив с данным результатом, а также произвести сортировку исходного массива методом простой вставки и также вывести массив с данным результатом. После этого нужно вывести результаты данной программы в Microsoft Word, а исходный массив в текстовый файл
Вставка элементов массива осуществляется следующим образом:
1) Первые k элементов массива остаются без изменения;
2) Все элементы, начиная с (k - 1)-го необходимо сдвинуть вправо, чтобы
освободить место для вставляемого элемента;
3) Элементу с номером k присвоить значение m. Количество элементов
массива увеличить на 1.
Сортировка массива простой вставкой осуществляется следующим образом:
Пусть имеется массив a[1], a[2], ..., a[n]. Пусть элементы a[1], a[2], ..., a[i
– 1] уже отсортированы, и пусть имеем входную последовательность a[i], a[i
+ 1], ..., a[n]. На каждом шаге, начиная с i = 2 и увеличивая i на единицу, берем i-й элемент входной последовательности и вставляем его на подходящее место в уже отсортированную часть последовательности. Вставляемый элемент - х. Начальный массив 32 64 9 30 87 14 2 76.
i = 2 х = 64. Ищем для х подходящее место, считая, что а[1] = 32 — это уже отсортированная часть последовательности. Получаем 32 64 9 30 87 14 2 76.
i=3 х=9. Ищем для х подходящее место: 9 32 63 30 87 14 2 76.
i = 4 х = 30. Ищем для х подходящее место: 9 30 32 64 87 14 2 76.
i = 5 х = 87. Ищем для х подходящее место: 9 30 32 64 87 14 2 76.
i = 6 х = 14. Ищем для х подходящее место: 9 14 30 32 64 87 2 76.
i=7 х=2. Ищем для х подходящее место: 2 9 14 30 32 64 87 76.
i = 8 х = 76. Ищем для х подходящее место: 2 9 14 30 32 64 76 87.
При поиске подходящего места для элемента х чередуются сравнения и
пересылки.
«Просеивание» может закончиться при двух различных условиях:
1) Найден элемент, значение которого больше, чем х;
2) Достигнут конец последовательности.
Для выполнения лабораторной работы требуется разработать:
Заставку в первой форме, которая должна быть реализована при помощи надписи.
Функцию outputmas типа void с параметрами (int* a, int len, DataGridView^ dgv), в которой будет происходить вывод массива, а также будут вноситься дополнительные под настройки для datagridview1 .
Функцию entermas типа void с параметрами (int* mas, int n), в которой будет происходить генерация массива.
Функцию VSTAVKA типа void с параметрами (int k, int* mas, int n, int m), в которой будет вставка элементов массива.
Функцию PROSOYVSTAVKA типа void с параметрами (int* mas, int n), в которой будет происходить сортировка массива с помощью метода простой вставки.
Функцию Zapis типа void с параметрами (DataGridView^ grid), в которой будет происходить запись исходного массива в текстовый файл
Функцию ZapisWordIs типа void с параметрами (int* arr, int len), в которой будет происходить запись исходного массива в Microsoft Word.
Функцию ZapisWordrez типа void с параметрами (int* arr, int len), в которой будет происходить заполнение базы данных.
Разработать dll библиотеку, в которой будут находиться функция: Zapis, ZapisWordIsx, ZapisWordrez, outputmas, entermas, VSTAVKA, PROSOYVSTAVKA.
Событийную button1_Click_1 в которой будет происходить считывание данных через MessageBox и генерация массива, а также будет происходить запуск функции Zapis, ZapisWordIsx, ZapisWordrez, outputmas, entermas, VSTAVKA и PROSOYVSTAVKA.