Масиви в Delphi. Розробка проектів з масивами.
1. Поняття про масиви
Масив — це структура даних, що є набором змінних однакового типу, що мають загальне ім'я. Масиви зручно використовувати для зберігання однорідної по своїй природі інформації, наприклад, таблиць і списків.
Масиви є одновимірні(лінійні таблиці), двовимірні(прямокутні таблиці) та багатовимірні.
Одновимірний масив, який має вісім елементів.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Двовимірний масив.
2. Оголошення масиву
Масив, як і будь-яка змінна програми, перед використовуванням повинен бути оголошений в розділі оголошення змінних.
В загальному вигляді інструкція оголошення масиву виглядає таким чином:
Ім'я: array [нижній_індекс. .верхній_індекс] тип
де: ім'я — ім'я масиву;
array — зарезервоване слово мови Delphi, що позначає, що оголошуване ім'я є ім'ям масиву;
нижній_індекс і верхній_індекс — цілі константи, що визначають діапазон зміни індексу елементів масиву і, неявно, кількість елементів (розмір) масиву;
тип — тип елементів масиву.
3. Приклади оголошення масивів
temper:array[1..31] of real;
коеf:array[0. .2] of integer;
name:array[1..30] of string[25];
Нижче наведено як приклад оголошення масиву назв команд-учасниць чемпіонату по футболу, в якому використовуються іменовані константи.
const
NT = 18; // число команд
SN = 25; // гранична довжина назви команди var
team: array[1..NT] of string[SN];
4. Операції з масивами
Типовими операціями при роботі з масивами є:
• виведення масиву;
• введення масиву;
• пошук максимального або мінімального елемента масиву;
• пошук заданого елемента масиву;
• сортування масиву.
5. Введення масиву
Під введенням масиву розуміється процес отримання від користувача (або з файлу) під час роботи програми значень елементів масиву. Елементи масиву можна вводити в Delphi різними способами. Часто використовують компоненти Memo та StringGrid.
6. Використання компоненту StringGrid
Для введення масиву зручно використовувати компонент StringGrid. Значок компоненту StringGrid знаходиться на вкладці Additional .
Компонент StringGrid є таблицею, комірки якої містять рядки символів.
В таблиці перераховані деякі властивості компоненту StringGrid.
Властивість |
Визначає |
Name |
Ім'я компоненту. Використовується в програмі для доступу до властивостей компоненту |
ColCount |
Кількість колонок таблиці |
RowCount |
Кількість рядків таблиці |
Cells[i,j]); |
Відповідний таблиці двовимірний масив. Елемент таблиці, що знаходиться на перетині стовпця номер col і рядки номер row визначається елементом сеlls [col, row] |
FixedCols |
Кількість зафіксованих зліва колонок таблиці. Зафіксовані колонки виділяються кольором і при горизонтальній прокрутці таблиці залишаються на місці |
Проект 1.
Розробити проект для знаходження суми додатніх елементів масиву А[1..N], де N=7.Для введення елементів масиву використати компонент StringGrid. Для виводу результату компонент Label.
На форму встановити компоненти: StringGrid, Button1, Button2, Label.
Властивості StringGrid:
Властивість |
Значення |
ColCount |
6 |
RowCount |
1 |
Options/goEditing |
True |
FixedCols |
0 |
Код процедури:
procedure TForm1.Button1Click(Sender: TObject);
const n=6;
var a:array[1..n] of integer;
i,s:integer;
begin
for i:=1 to n do
begin
a[i]:=StrToInT(StringGrid1.Cells[i-1,0]);
end;
s:=0;
for i:=1 to n do
if a[i]>0 then s:=s+a[i];
label1.Caption:='S='+IntToStr(s);
end;
Д/З
1. Розробити проект для знаходження суми від’ємних елементів масиву А[1..N], де N=6.
Для введення елементів масиву використати компонент StringGrid. Для виводу результату компонент Label.
2. Підрахувати кількість нульових елементів в масиві B[1..N], N=7.