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

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

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

значения свойств 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

Типография СибГИУ