ЧАСТЬ 3

ИНФОРМАТИКА

Электронное учебно-методическое пособие

 

 
 

 

2.6. Работа в Delphi с массивами

Для работы с массивами удобно использовать компоненты StringGrid и Memo.

Основные свойства StringGrid:

  • Name –имя компонента;

  • Colcount – количество столбцов;

  • RowCount – количество строк;

  • Cells – ячейка таблицы;

  • FixedCols – количество зафиксированных столбцов;

  • Options.goEditing – признак допустимости редактирования содержимого ячеек (true, false);

  • Options.goTab – разрешает (true) или запрещает (false) использование клавиши TAB для перемещения курсора в следующую ячейку таблицы;

  • Options.goAlways – признак нахождения компонента в режиме редактирования;

  • DefaultColWidth – ширина колонок таблицы;

  • DefaultRowHeight – высота строк таблицы;

  • GridLineWidth – ширина линий сетки;

  • Left – расстояние от левой границы поля таблицы до левой границы формы;

  • Top – расстояние от верхней границы поля таблицы до верхней границы формы;

  • Height – высота поля таблицы;

  • Width – ширина поля таблицы;

  • Font – шрифт для отображения содержимого таблицы;

  • ParentFont – признак наследования характеристик шрифта формы.


Пример.

Вычислить среднеарифметическое значение элементов одномерного массива.

Первому элементу массива присвоить значение суммы.

Массив вывести на экран.

Для ввода данных в массив будем использовать компонент StringGrid, который находится на странице Additional и представляет собой таблицу, ячейки которой – строки символов.


Конструирование формы

Поместить на форму компоненты (рис. 2.4):

  • панель Panel1 (в нижней части экрана для вывода информации);

  • панель Panel2 (в верхней части для входной информации) (страница Standard).

Для панелей задать:

Caption – пустое (очистить место для вывода результата) Font.Size – 10 (размер шрифта)

Label1 и Label2 – метки для панелей (страница Standard)

Caption

Label1 Ввод массива (панель Panel2)

Label2 очистить (использовать для вывода результата панель Panel1);

  • кнопка Button1 (страница Standard)

Caption – Вычислить

Добавляем компонент StringGrid1 и задаём следующие свойства:

ColCount 5

FixedCols 0

RowCount 1

DefaultRowHeight 24

DefaultColWidth 64

Options.go.Editing true

Options.goTabs true

Options.go.Always true

Значения Height и Width следует настроить при помощи мыши так, чтобы размер компонента был равен размеру строки.

Для вывода массива на экран будем использовать компонент Memo1 (Многострочный редактор).

Управлять вычислением будет кнопка Button1, для неё необходимо создать обработчик события OnClick (нажатие кнопки).

Курсор устанавливается в процедуру – обработчика события, которая должна иметь следующий вид:

procedure Tform1.Button1Click (Sender:Tobject);
Var
a:array[1..5] of integer;
sum,i:integer;
sr:real;
begin
//ввод массива
// считаем, если ячейка пустая, то соответствующий элемент массива равен 0
for i:=1 to 5 do
if Length (StringGrid1.Cells[i-1,0])<>0
then a[I]:= StrToInt(StringGrid1.Cells[i-1,0])
else a[I]:=0;
// Обработка массива
sum:=0;
for i:=1 to 5 do
sum:=sum+a[i]; // вычисление суммы элементов массива
sr:=sum/5;
a[1]:=sum;
// вывод суммы элементов массива и среднего значения в заголовок метки
Label2.Caption:=’Сумма элементов’+IntToStr(sum)+#13+’Средне-арифм.’+FloatToStr(sr);
// вывод массива
Memo1.Lines.Add(‘Массив после обработки’);
for i:=1 to 5 do
Memo1.Lines.Add(IntToStr(a[i]));
end;

При нажатии клавиш Ctrl + F9 выполняется компиляция кода программы.

Если компиляция выполнена успешно (ошибок нет), то можно выполнить Project1 с помощью клавиши F9.

 

 


© Сибирская государственная геодезическая академия (СГГА), 2011