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

Обработка двухмерных массивов в среде Delphi

.pdf
Скачиваний:
40
Добавлен:
29.05.2015
Размер:
723.56 Кб
Скачать

Этап 4. Создать обработчики событий.

4.1 В окне кода программы для кнопки Расчет необходимо выполнить следующие действия (рисунок 6):

после строки

procedure TForm1.Button1Click(Sender: TObject);

поместить раздел описания переменных:

Var j, i, m, n : integer;

A : array[1..10,1..10] of real; Sum : real;

между операторными скобками begin

end;

поместить фрагмент кода программы:

m := StrToInt(Edit1.Text);

n := StrToInt(Edit2.Text); StringGrid1.ColCount := m; StringGrid1.RowCount := n; for j := 1 to m do

begin

for i := 1 to n do begin

A[j,i] := StrToFloat(StringGrid1.Cells[j-1,i-1]); end;

end; Sum:=0;

for j := 1 to m do begin

for i := 1 to n do begin

if A[j,i] > 0 then Sum := Sum + A[j,i]; end;

end;

Edit3.Text := FloatToStrF(Sum,ffFixed,6,1);

4.2 В окне кода программы для кнопки Выход необходимо выполнить следующие действия:

11

между операторными скобками begin

end;

поместить строку

Close

Рисунок 6 – Обработчик событий для кнопки Расчет (Вычисление суммы положительных элементов матрицы)

Этап 5. Запустить программу на выполнение. Ввести исходные данные:

количество столбцов матрицы;

количество рядов матрицы;

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

Для дальнейшего выполнения программы и получения результатов необходимо щелкнуть по кнопке «Расчет» (рисунок 7).

Для выхода из программы необходимо щелкнуть по кнопке «Выход».

Для выполнения расчетов с другими исходными данными необходимо вновь запустить программу на выполнение.

12

Рисунок 7 – Пример выполнения программы (Вычисление суммы положительных элементов матрицы)

ОРГАНИЗАЦИЯ ВВОДА/ВЫВОДА ДВУМЕРНОГО МАССИВА

Задача 2. Для заданной матрицы А осуществить перестановку первого и последнего элемента массива.

Этап 1. Запустить среду Delphi.

Этап 2. Выполнить конструирование формы.

В окне формы Form1 необходимо разместить следующие компоненты страницы Standard (рисунок 8):

панели группирования Groupbox1, Groupbox2, Groupbox3;

на панели Groupbox1: метки Label1, Label2, строки Edit1,

Edit2;

кнопки Button1, Button2.

Для отображения исходной матрицы на панели Groupbox2

необходимо разместить компонент StringGrid1

 

, расположенный

на странице Additional.

Для отображения результирующей матрицы на панели

Groupbox3 необходимо разместить компонент StringGrid2 , расположенный на странице Additional (рисунок 8).

13

Рисунок 8 – Конструирование формы (Перестановка первого и последнего элементов матрицы)

Этап 3. Изменить свойства компонентов.

В окне Инспектора объектов необходимо изменить свойства следующих компонентов (рисунок 9):

для формы Form1 в свойстве Caption изменить надпись Form1 на «Перестановка первого и последнего элементов матрицы»;

для панели GroupBox1 в свойстве Caption изменить надпись GroupBox1 на «Размеры исходной матрицы»;

для метки Label1 в свойстве Caption изменить надпись Label1 на «Количество столбцов:»;

для строки Edit1 в свойстве Text удалить текст Edit1;

для метки Label2 в свойстве Caption изменить надпись Label2 на «Количество рядов:»;

для строки Edit2 в свойстве Text удалить текст Edit2;

для панели GroupBox2 в свойстве Caption изменить надпись GroupBox2 на «Исходная матрица»;

для панели GroupBox3 в свойстве Caption изменить надпись GroupBox3 на «Результирующая матрица»;

для кнопки Button1 в свойстве Caption изменить надпись Button1 на «Расчет»;

для кнопки Button2 в свойстве Caption изменить надпись

Button2 на «Выход».

14

Рисунок 9 – Изменение свойств компонентов (Перестановка первого и последнего элементов матрицы)

Для компонента StringGrid1 в Инспекторе Объектов установить:

значения свойств FixedCols и FixedRows равными 0, так как фиксированная зона не используется (рисунок 3);

значения свойств ColCount (количество столбцов) и RowCount (количество рядов) равными 10, так как заданная матрица будет иметь максимальные размеры 10×10 (рисунок 3).

Для компонентов StringGrid1 в окне Инспектора объектов для изменения свойства Options необходимо выполнить следующие действия:

щелкнуть по кнопке , расположенной слева от свойства

Options;

в появившемся окне установить значение goEditing равное True, (по умолчанию значение goEditing равно False) (рисунок 4);

щелкнуть по кнопке , расположенной слева от свойства

Options.

Аналогично в Инспекторе Объектов для компонента

StringGrid2 установить значения свойств FixedCols и FixedRows

равными 0, значения свойств ColCount и RowCount равными 10, для свойства Options - значение goEditing равное True.

15

В результате изменения свойств компонентов, форма будет иметь вид представленный на рисунке 10.

Рисунок 10 – Вид формы после изменения свойств компонентов (Перестановка первого и последнего элементов матрицы)

Этап 4. Создать обработчики событий.

4.1 В окне кода программы для кнопки Расчет необходимо выполнить следующие действия (рисунок 11):

после строки

procedure TForm1.Button1Click(Sender: TObject);

поместить раздел описания переменных:

Var j, i, m, n : integer;

A : array[1..10,1..10] of real; RabA : real;

между операторными скобками begin

end;

поместить фрагмент кода программы:

m := StrToInt(Edit1.Text);

n := StrToInt(Edit2.Text);

16

StringGrid1.ColCount := m; StringGrid1.RowCount := n; StringGrid2.ColCount := m; StringGrid2.RowCount := n; for j := 1 to m do

begin

for i := 1 to n do begin

A[j,i] := StrToFloat(StringGrid1.Cells[j-1,i-1]); end;

end;

RabA := A[1,1]; A[1,1] := A[m,n]; A[m,n] := RabA; for j := 1 to m do

begin

for i := 1 to n do begin

StringGrid2.Cells[j-1,i-1] := FloatToStr(A[j,i]); end;

end;

Рисунок 11 – Обработчик событий для кнопки Расчет (Перестановка первого и последнего элементов матрицы)

17

4.2 В окне кода программы для кнопки Выход необходимо выполнить следующие действия:

между операторными скобками begin

end;

поместить строку

Close

Этап 5. Запустить программу на выполнение. Ввести исходные данные:

количество столбцов матрицы;

количество рядов матрицы;

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

Для дальнейшего выполнения программы и получения результатов необходимо щелкнуть по кнопке «Расчет» (рисунок

12).

Для выхода из программы необходимо щелкнуть по кнопке «Выход».

Для выполнения расчетов с другими исходными данными необходимо вновь запустить программу на выполнение.

Рисунок 12 – Пример выполнения программы (Перестановка первого и последнего элементов матрицы)

18

ОБРАБОТКА ДВУМЕРНОГО МАССИВА ПО СТОЛБЦАМ

Задача 3. Для заданной матрицы А вычислить сумму положительных элементов каждого столбца матрицы.

Этап 1. Запустить среду Delphi.

Этап 2. Выполнить конструирование формы.

В окне формы Form1 необходимо разместить следующие компоненты страницы Standard (рисунок 13):

панели группирования Groupbox1, Groupbox2, Groupbox3;

на панели Groupbox1: метки Label1, Label2, строки Edit1,

Edit2;

кнопки Button1, Button2.

Для отображения исходной матрицы на панели Groupbox2

необходимо разместить компонент StringGrid1 , расположенный на странице Additional.

Для отображения результирующей строки на панели Groupbox3

необходимо разместить компонент StringGrid2 , расположенный на странице Additional (рисунок 13).

Рисунок 13 – Конструирование формы (Вычисление суммы положительных элементов матрицы по столбцам)

Этап 3. Изменить свойства компонентов.

В окне Инспектора объектов необходимо изменить свойства следующих компонентов (рисунок 14):

19

для формы Form1 в свойстве Caption изменить надпись Form1 на «Вычисление суммы положительных элементов матрицы по столбцам»;

для панели GroupBox1 в свойстве Caption изменить надпись GroupBox1 на «Размеры исходной матрицы»;

для метки Label1 в свойстве Caption изменить надпись Label1 на «Количество столбцов:»;

для строки Edit1 в свойстве Text удалить текст Edit1;

для метки Label2 в свойстве Caption изменить надпись Label2 на «Количество рядов:»;

для строки Edit2 в свойстве Text удалить текст Edit2;

для панели GroupBox2 в свойстве Caption изменить надпись GroupBox2 на «Исходная матрица»;

для панели GroupBox3 в свойстве Caption изменить надпись GroupBox3 на «Сумма положительных элементов матрицы по столбцам»;

для кнопки Button1 в свойстве Caption изменить надпись Button1 на «Расчет»;

для кнопки Button2 в свойстве Caption изменить надпись

Button2 на «Выход».

Рисунок 14 – Изменение свойств компонентов (Вычисление суммы положительных элементов матрицы по столбцам)

Для компонента StringGrid1 в Инспекторе Объектов установить:

20