Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЯП Лабораторная работа №3

.docx
Скачиваний:
4
Добавлен:
14.01.2023
Размер:
766.67 Кб
Скачать

Федеральное агентство связи

Ордена Трудового Красного Знамени федеральное государственное бюджетное

образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Факультет «Сети и Системы Связи»

Кафедра информатики

Лабораторная работа № 3

«Создание приложений Windows Forms для формирования и обработки динамических одномерных массивов»

Вариант 22

Выполнила студент:

Проверил: Доц. Шакин В.Н.

Москва, 2020 г.

Содержание отчета

1.Общее и индивидуальное задание на разработку приложения 3

3

1.1. Общее задание. 3

1.2. Индивидуальный вариант задания. 4

2.Формализация и уточнение задания. 4

3.Разработка графического интерфейса пользователя приложения 5

4.Разработка схем алгоритмов функций 6

5.Разработка программного кода приложения 10

5.1. Файлы c функциями решения поставленной задачи 10

5.2. Программные коды заголовочного файла task.h и отредактированного программного кода системного заголовочного файла stdafx.h. (рис. 8,9) 12

5.3. Событийные процедуры. 13

6.Выполнение и результаты работы проекта 14

7.Доказательство правильности результатов 15

1.Общее и индивидуальное задание на разработку приложения

1.1. Общее задание.

  1. Изучите вопросы использования указателей и программирования алгоритмов формирования и обработки одномерных динамических массивов.

  2. Выберите вариант задания из таблицы 1.

  3. Разработайте проект графического интерфейса пользователя.

  4. Решите поставленную задачу формирования и обработки динамических массивов. Для этого разработайте схемы алгоритмов и программные коды следующих функций:

  • функции ввода и контроля дополнительных данных (при наличии таких данных в индивидуальном задании);

  • функции ввода элементов исходного массива из многострочного текстового поля, создания и формирования динамического массива из этих элементов;

  • функции создания нового динамического одномерного массива согласно вашему индивидуальному заданию.

  • функции вывода динамического одномерного массива в элемент управления ListBox.

  1. Разработайте программный код событийной процедуры, которая вызывает описанные выше функции для решения поставленной задачи.

  2. Создайте проект приложения Windows Form, содержащий:

  • графический интерфейс;

  • файлы с раздельно откомпилированными программными кодами функций, необходимых для решения задачи:

  • функций ввода данных, создания и формирования массива и вывода результатов;

  • функций, решающих поставленную задачу.

  • заголовочный файл с прототипами разработанных функций;

  • событийную процедуру, которая должна содержать только операторы вызова пользовательских функций.

  1. Подготовьте тесты для контрольного решения задачи, предусмотрев различные значения исходного массива данных для решения.

  2. Выполните проект и получите результаты.

  3. Докажите правильность полученных результатов на заранее разработанных тестах.

1.2. Индивидуальный вариант задания.

2.Формализация и уточнение задания.

Из условия задания следует, что его выполнение распадается на следующие этапы, реализуемые соответствующими функциями приложения:

• формирование исходного массива чтением чисел из многострочного текстового поля формы – функция input;

 функции min, которая находит минимальный элемент массива;

функции koli подсчёта элементов равных минимуму;

 функции task решения задачи формирования нового массива, в котором находятся все отрицательные элементы исходного массива, идущие после k-ого элемента, кроме элементов, равных минимальному;

Вызов функций формирования динамических массивов и вывода нового массива производится в событийной процедуре по нажатию кнопки Решить задачу.

3.Разработка графического интерфейса пользователя приложения

Графический интерфейс проекта изображен на рисунке 1.

Рисунок 1 – Графический интерфейс проекта

На форме слева создано одно многострочное текстовое поле txtMas1 для ввода значений элементов исходного массива mas1 и список ListBox с именем lstMas2 – для вывода сформированного массива mas2. Числа для исходного массива будут во время работы приложения записываться в многострочное текстовое поле (элемент управления TextBox). Для создания многострочного текстового поля, необходимо изменить значение его свойства Multiline, заданное по умолчанию, с False на True, и затем растянуть его по высоте.

Также на форме расположены кнопки Решить задачу (cmdTask) для запуска программы на выполнение и Завершить (cmdExit) для останова ее выполнения.

4.Разработка схем алгоритмов функций

Схемы алгоритмов функций представлены на рисунках 2,3,4,5

Рисунок 2 – Схема алгоритма функции min() нахождения минимального элемента массива

Рисунок 3 – Схема алгоритма функции koli подсчёта элементов равных минимуму

Рисунок 4 – Схема алгоритма функции task() ,формирующей новый массив

Рисунок 5 – Схема иерархии процедур

5.Разработка программного кода приложения

5.1. Файлы c функциями решения поставленной задачи

В данном проекте в соответствии с заданием создается два файла с

программным кодом функций пользователя:

- файл GetPut_din.cpp(см. рис.6) с функциями для ввода и вывода;

- файл Task.cpp, содержащий функции min,koli,task, необходимые для решения поставленной задачи.

Рисунок 6 – Программный код файла GetPut_din.cpp

Рисунок 7 – Программный код файла Task_din.cpp с функциями решения задачи

5.2. Программные коды заголовочного файла task.h и отредактированного программного кода системного заголовочного файла stdafx.h. (рис. 8,9)

Рисунок 8 – Программный код заголовочного файла task_din.h

Рисунок 9 – Программный код заголовочного файла stdafx.h

5.3. Событийные процедуры.

В данной работе создаются две событийные процедуры, вызываемые при нажатии кнопок cmdTask (Решение) и cmdExit (Выход). Напомним, что для создания заготовок этих процедур следует, находясь в окне Form1.h [Конструктор], выполнить двойной щелчок мышью на соответствующих кнопках, а затем заполнить тело процедур соответствующим кодом. На рис. 10 приведен код этих процедур, вставляемых в файл Form1.h после директивы #pragma endregion.

Рисунок 10 – Часть программного кода файла Form1.h

6.Выполнение и результаты работы проекта

На рис. 11 приведены результаты выполнения приложения при различных исходных данных.

Рисунок 11 – Результаты работы проекта

7.Доказательство правильности результатов

В исходном массиве находятся как положительные, так и отрицательные элементы ,так что формирование нового массива возможно, что и представлено на рисунке 11.

Список использованных источников

1. Оформление лабораторной работы [Электронный ресурс] / Поисковая система Google, 2020. URL: https://google.com

2. Скачивание программы Microsoft Visual Studio.NET 2010 с лицензией [Электронный ресурс] / Поисковая система Yandex, 2020. URL: https://vamsoft-torrent.ru/2019/03/14/microsoft-visual-studio-2010-c-skachat-64-windows-7-8-10/

3. Оформление схемы алгоритмов – программа Microsoft Visio 2010 [Электронный ресурс] / Поисковая система Yandex, 2020. URL: http://thevisios.ru/

4.Microsoft Visual Studio.NET 2010

5.Microsoft Visio 2010