Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для курсовых по ПМ.01.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
736.26 Кб
Скачать

3.3 Функция GetSubstr для ввода массива из компонента Edit

Под вводом массива понимается получение от пользователя (или из файла) значений элементов массива во время работы программы. Задача ввода элементов массива решена с использованием компонента формы Edit (поле редактирования): числа располагают в одной строке, отделяясь друг от друга пробелами.

Диалоговое окно программы во время ввода элементов показано на рисунке 3.

Рисунок 3 - Диалоговое окно программы во время ввода элементов

Для ввода массива из поля редактирования используется функция GetSubstr.

После нажатия кнопки ПОИСК программа должна выделить из введенной строки первую подстроку (101), преобразовать ее в число и присвоить полученное значение первому элементу массива, затем выделить вторую подстроку (-3), преобразовать ее в число и присвоить полученное значение второму элементу массива и т.д. для каждого элемента массива. Функция GetSubstr выделяет из строки подстроку с указанным номером. В данном случае подстрока — это последовательность символов, располо­женная между двумя пробелами. Для того чтобы из полученной в качестве аргумента строки выделить n-ю подстроку (элемент массива), функция GetSubstr сначала удаляет (в цикле for) предшествующие ей n-1 подстрок, затем находит пробел, который отмечает конец нужной подстроки, выделяет подстроку и возвращает ее в качестве значения функции.

Программа работает правильно независимо от количества поставленных пробелов между элементами массива: после выделения очередной подстроки функция удаляет ненужные пробелы в начале оставшейся части строки. Функция GetSubstr возвращает, пустую строку, если подстрока с запрашиваемым номером в ис­ходной строке отсутствует.

Очевидно, что чем больше элементов в массиве, и чем дальше от начала мас­сива расположен нужный элемент, тем дольше программа будет искать его.

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

3 .4 Процедура tForm1.Button2Click завершения работы программы

Нажатие командной кнопки ЗАКОНЧИТЬ РАБОТУ (Button2) запускает процедуру TForm1.Button2Click, которая обрабатывает событие OnClick. При нажатии пользователем левой кнопкой мыши командной кнопки ЗАКОНЧИТЬ РАБОТУ процедурой MessageDlg на экран выводится сообщение, содержащее запрос подтверждения: «Вы действительно хотите завершить работу?». В зависимости от выбора пользователем кнопки Yes или No он получает возможность продолжить или завершить работу.

Текст процедуры TForm1.Button2Click:

procedure TForm1.Button2Click(Sender: TObject);

var r: integer;

begin

r:= MessageDlg('Вы действительно хотите'+#13

+'завершить работу?', MtConfirmation, [mbYes, mbNo],0);

if r = mbYes then Application.Terminate;

end;

3.5 Описание интерфейса приложения

Приложение «Поиск в массиве» написано для ОС Windows, его интерфейс соответствует требованиям, предъявляемым к графическому интерфейсу пользователя.

При запуске в центре экрана появляется диалоговое окно (рисунок 2). Для ввода входных данных (целочисленных элементов массива и образца для поиска в этом массиве) используются поля редактирования, поддерживающие стандартные операции редактирования: ввод текста, копирование, вставку и удаление. Предусмотрена обработка двух основных ошибок ввода:

  • при ошибочном вводе пользователем непредусмотренного числа элементов входного массива появляется сообщение (рисунок 4);

  • набор чисел неверного типа (не целых) вызывает появление системного сообщения (поэтому дополнительная обработка ошибок такого типа не нужна).

Рисунок 4 - Сообщение при неверном числе элементов входного массива

Для вывода результатов используются окна сообщений. На форме расположены две командные кнопки: «ПОИСК» для запуска процедуры поиска элемента массива, совпадающего с образцом, и «Закончить работу» для выхода из приложения.

После нажатия кнопки «ПОИСК» возможны две ситуации:

1) элемент массива, совпавший с образцом, найден – появляется сообщение об его номере, показанное на рисунке 5;

Рисунок 5 - Сообщение при успешном окончании поиска

2) элемент массива, совпавший с образцом, не найден – появляется сообщение, показанное на рисунке 6.

Рисунок 6- Сообщение при неуспешном поиске

При нажатии кнопки «Закончить работу» появляется сообщение, содержащее запрос подтверждения (рисунок 7). В зависимости от выбора кнопки Yes или No можно продолжить или завершить работу.

Рисунок 7 - Запрос подтверждения завершения работы