Обработка двухмерных массивов в среде Delphi
.pdf•значения свойств FixedCols и FixedRows равными 0, так как фиксированная зона не используется (рисунок 3);
•значения свойств ColCount (количество столбцов) и RowCount (количество рядов) равными 10, так как заданная матрица будет иметь максимальные размеры 10×10 (рисунок 3).
Для компонентов StringGrid1 в окне Инспектора объектов для изменения свойства Options необходимо выполнить следующие действия:
−щелкнуть по кнопке , расположенной слева от свойства
Options;
−в появившемся окне установить значение goEditing равное True, (по умолчанию значение goEditing равно False) (рисунок 4);
−щелкнуть по кнопке , расположенной слева от свойства
Options.
Аналогично в Инспекторе Объектов для компонента
StringGrid2 установить: значения свойств FixedCols и FixedRows
равными 0, значение свойства ColCount - равным 10, значение свойства RowCount - равным 1. Для свойства Options установить значение goEditing равное True.
В результате изменения свойств компонентов, форма будет иметь вид представленный на рисунке 15.
Рисунок 15 – Вид формы после изменения свойств компонентов (Вычисление суммы положительных элементов матрицы
по столбцам)
21
Этап 4. Создать обработчики событий.
4.1 В окне кода программы для кнопки Расчет необходимо выполнить следующие действия (рисунок 16):
• после строки
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; StringGrid2.ColCount := m; StringGrid2.RowCount := 1; 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;
for j := 1 to m do begin
Sum:=0;
for i := 1 to n do begin
if A[j,i] > 0 then Sum:=Sum + A[j,i]; end;
StringGrid2.Cells[j-1,0] := FloatToStrF(Sum,ffFixed,6,1); end;
22
Рисунок 16 – Обработчик событий для кнопки Расчет (Вычисление суммы положительных элементов матрицы по столбцам)
4.2 В окне кода программы для кнопки Выход необходимо выполнить следующие действия:
между операторными скобками begin
end;
поместить строку
Close
Этап 5. Запустить программу на выполнение. Ввести исходные данные:
−количество столбцов матрицы;
−количество рядов матрицы;
−элементы исходной матрицы, указывая нужную ячейку таблицы с помощью мыши.
Для дальнейшего выполнения программы и получения результатов необходимо щелкнуть по кнопке «Расчет» (рисунок
17).
23
Рисунок 17 – Пример выполнения программы (Вычисление суммы положительных элементов матрицы по столбцам)
Для выхода из программы необходимо щелкнуть по кнопке «Выход».
Для выполнения расчетов с другими исходными данными необходимо вновь запустить программу на выполнение.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
1.Для чего используется компонент класса TStringGrid?
2.Что отображается в фиксированной части таблицы?
3.С помощью каких свойств компонента TStringGrid можно задать количество фиксированных столбцов и рядов?
4.Какие значения должны иметь свойства FixedCols и FixedRows компонента TStringGrid, чтобы таблица не содержала фиксированной зоны?
5.Что располагается в рабочей части таблицы?
6.Какое свойство является центральным свойством для компонента TStringGrid?
7.Какими параметрами определяется конкретная ячейка таблицы?
24
8.С какого значения начинается нумерация столбцов и рядов таблицы?
9.Как осуществляется доступ к данным таблицы?
10.При доступе к данным какой параметр ячейки указывается первым, а какой – вторым?
11.Какой тип имеет свойство Cells компонента TStringGrid?
12.Какие свойства компонента TStringGrid хранят количество ячеек по каждому измерению?
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
1. Фаронов В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов / В.В. Фаронов. - С-Пб.: Питер, 2003. –
640с.
2.Керман К.Программирование и отладка в Delphi. Учебный курс / К. Керман. – М.: Вильямс, 2003. – 672 с.
3.Фаронов В.В. Delphi 6 : учебный курс / В.В. Фаронов. - М. :
Нолидж, 2001. – 672 с.
4.Галисеев Г.В. Программирование в среде Delphi 7. Самоучитель / Г.В. Галисеев. – М.: Вильямс, 2004. – 288 с.
5.Фленов М. Библия Delphi / М. Фленов. – С-Пб.: БХВ-
Петербург, 2008. – 800 с.
СОДЕРЖАНИЕ |
|
ЦЕЛЬ РАБОТЫ ............................................................................ |
3 |
ОБЩИЕ СВЕДЕНИЯ.................................................................... |
3 |
КОМПОНЕНТ TStringGrid ............................................................ |
4 |
ЭТАПЫ РЕАЛИЗАЦИИ ПРОГРАММЫ В СРЕДЕ DELPHI........ |
6 |
ОРГАНИЗАЦИЯ ВВОДА ДВУМЕРНОГО МАССИВА................. |
7 |
ОРГАНИЗАЦИЯ ВВОДА/ВЫВОДА ДВУМЕРНОГО |
|
МАССИВА................................................................................... |
13 |
ОБРАБОТКА ДВУМЕРНОГО МАССИВА ПО СТОЛБЦАМ...... |
19 |
КОНТРОЛЬНЫЕ ВОПРОСЫ..................................................... |
24 |
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА........................................... |
25 |
25
Учебное издание
Составители
Павлова Лариса Дмитриевна Климова Дарья Николаевна
ОБРАБОТКА ДВУМЕРНЫХ МАССИВОВ В СРЕДЕ DELPHI
Рекомендации к выполнению лабораторной работы по дисциплине «Информатика»
Технический редактор Н.П. Лавренюк
Подписано в печать 26.02.2010 г. Формат бумаги 60 х 84 1/16. Бумага писчая. Печать офсетная. Усл. печ. л. 1,51 Уч. – изд. л. 1,69 Тираж 100 экз. Заказ ______
Сибирский государственный индустриальный университет 654007, г. Новокузнецк, ул. Кирова, 42
Типография СибГИУ