Лабораторная работа: Создание и обработка линейного массива
Задание 2. Создайте приложение, которое выводит двумерный массив случайных целых чисел и определяет минимальный и максимальный элементы в этом массиве.
Решение:
1. Сохраните проект в папке «Массив2» с именем Massiv2 (файл модуля можно сохранить как Unit1).
2. Создайте форму «Обработка двумерного массива».
3. Выберите в палитре компонентов страницы Additionalкомпонент StringGrid и разместите его в левом верхнем углу (см. рис. 5.1). Задайте для свойств ColCount (количество столбцов) и RowCount (количество строк) значение 6. Задайте для свойств FixedColsи FixedRows (количество фиксированных, непрокручиваемых столбцов и строк, используемых для размещения надписей номеров строк и столбцов).
Примечание: данный компонент представляет собой таблицу, содержащую строки. Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента.
4. Справа от объекта разместите кнопку Button1 и задайте для нее свойство Caption значение «Заполнить». Ниже разместите панель GroupBox1 и присвойте значение «Определить». На данной панели разместите компоненты CheckBox 1,2 и назначьте свойству Caption значения «Минимальный элемент», «Максимальный элемент» соответственно. Затем справа разместите компоненты Edit 1,2 и кнопку с надписью «Вычислить». Выровняйте компоненты как показано на рис. 5.1.
5. Прежде чем создавать обработчики событий кнопок «Заполнить» и «Вычислить», следует добавить в раздел описания переменных данного модуля целочисленные переменные, предназначенные для хранения индексов массива.
Var
Form1: TForm1;
I, J: integer;
6. Создайте процедуру обработки события щелчка мышью на кнопке Button1, в которой сначала будет выполнена операция вывода номеров строк и столбцов, а затем ячейки StringGrid1 будут заполнены случайными целыми числами.
Рис. 5.1 Пример формы проекта «Массив2»
Примечание: при изучении языка TPascal вы использовали оператор with…do для сокращения записи при обращении к полям записей. Теперь можно применять этот оператор для обращения к свойствам и методам объекта. Это делается, чтобы избежать повторных ссылок на объект в последующих операторах. Например, вместо того чтобы, обращаясь к ячейки объекта StringGrid1 писать StringGrid1. Cells[I, J], удобнее использовать оператор withStringGrid1 do, в теле которого можно неоднократно обращаться к Cells[I, J], не упоминая имени объекта StringGrid1.
Процедура обработки события кнопки Button1:
Procedure TForm1. Button1Click (Sender: TObject);
{заполнениемассива}
begin
randomize;
with StringGrid1 do
begin
I:= 0;
For J:= 1 to RowCount – 1 do {вывестиномерастрок}
Cells [I, J]:= IntToStr(J);
J:= 0;
For I:= 1 to ColCount – 1 do {вывестиномерастолбцов}
Cells [I, J]:= IntToStr(I);
End ;