МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатика»
Дисциплина «Технологии программирования»
Отчёт по лабораторной работе №6
на тему
Разработка программы обработки массива
Выполнил: студент гр. БББ0000
Фамилия И.О.
Проверил: Волков А.И.
Москва 2023г.
Оглавление
1 Постановка задачи 3
2 Схемы алгоритмов 6
3 Текст программы 30
4 Результаты тестирования программы 41
Выводы 49
1 Постановка задачи
Разработать приложение в среде разработки Visual Studio с использованием Windows Forms, позволяющее выполнять предусмотренные операции обработки введенного одномерного массива:
– определение суммы элементов массива;
– определение среднего значения элементов массива;
– определение номера и значения минимального элемента массива;
– определение номера и значения максимального элемента массива;
– вывод четных значений элементов массива;
– вывод нечетных значений элементов массива;
– сортировка элементов массива по возрастанию;
– сортировка элементов массива по убыванию.
В приложении предусмотреть возможность ввода одномерного массива тремя способами:
– генерацией массива с заданным количеством случайных целых чисел, равномерно распределенных в заданном диапазоне;
– вводом из существующего текстового файла (с возможностью задавать имя этого файла) с автоматическим определением количества вводимых элементов. Следует реализовать функцию удаления возможно присутствующих в файле лишних или недопустимых символов (пробелов, символов табуляции и перевода строк, букв и др.). Будем считать, что спорная комбинация символов «5b6» будет расцениваться программой как элементы «5» и «6», «- 6» – как «6», а «5-6» – как «5» и «-6».
– вводом исходного массива с клавиатуры в текстовое поле или добавлением/удалением элементов уже имеющегося массива.
Реализовать возможность сохранения исходного массива и результатов его обработки в текстовом файле. При этом, при последовательном сохранении результатов нескольких операций в один файл (методом добавления) исходный массив должен выводиться только при сохранении результата первой операции над заданным массивом.
После ввода данных из файла или методом случайной генерации, они могут быть дополнены или изменены вручную.
Все ошибочные ситуации должны правильно обрабатываться, о чем при необходимости должны выдаваться соответствующие сообщения.
Необходимые для реализации программы элементы интерфейса с установленными итоговыми значениями свойств представлены в таблице (Таблица 1).
Таблица 1 – Элементы пользовательского интерфейса программы
Свойство |
Описание |
Значения |
|||
Элементы Button |
Элементы RadioButton |
Элементы TextBox |
Элементы Label |
||
(Name) |
Имя элемента |
GenerateBtn, FileInputBtn, RunBtn, FileOutputBtn, CloseBtn |
SumRB, AvgRB, MinRB, MaxRB, EvenRB, OddRB, MinToMaxRB, MaxToMinRB |
txtNum, txtMin, txtMax, txtArray, txtResult, txtFileInput, txtFileOutput |
NumLbl, MinLbl, MaxLbl, ArrayLbl, ResLbl, FileInputLbl, FileOutputLbl |
Text |
Текст элемента |
Генерация массива, Ввод из файла, Выполнить, Сохранить в файл, Закрыть |
Сумма элементов, Среднее значение, Минимальный элемент, Максимальный элемент, Чётные элементы, Нечётные элементы, Сортировка по возрастанию, Сортировка по убыванию |
– |
Количество элементов массива:, Минимальное значение диапазона:, Максимальное значение диапазона:, Исходный массив:, Результат операции:, Имя файла ввода:, Имя файла вывода: |
TextAlign |
Способ выравнивания текста |
MiddleCenter |
MiddleLeft |
Right, Right, Right, Left, Left, Left, Left |
MiddleLeft |
Location.X |
Расстояние от левого края |
480 |
10, 10, 10, 10, 215, 215, 215, 215 |
300, 300, 300, 12, 12, 480, 480 |
6, 6, 6, 9, 9, 480, 480 |
Location.Y |
Расстояние от верхнего края |
20, 120, 260, 360, 440 |
35, 65, 95, 125, 35, 65, 95, 125 |
27, 58, 87, 186, 445, 90, 330 |
30, 60, 90, 165, 425, 70, 310 |
Size.Width |
Ширина |
182 |
– |
133, 133, 133, 446, 446, 182, 182 |
– |
Size.Height |
Высота |
35 |
21 |
24 |
18 |
ReadOnly |
Только для чтения |
– |
– |
Для txtResult: True |
– |
Font |
Шрифт |
Microsoft Sans Serif; 9pt |