Для введення і виведення масиву ми використовували багаторядкове поле memo.
Але оскільки масиви призначені для роботи з таличними величинами, то для більшої наочності бажано відображати масив у вигляді таблиці.
Змініть заголовок форми на "Задача 1. Прізвище ім'я учня"
Результат у вигляді pdf-файла надішліть на електронну адресу lgskuratovska@gmail.com
Але оскільки масиви призначені для роботи з таличними величинами, то для більшої наочності бажано відображати масив у вигляді таблиці.
Використання компонента StringGrid
Компонент StringGrid (вкладка Additional) призначений для виведення різних даних у табличній формі. Як випливає з назви, клітинки
компонента StringGrid можуть містити дані типу String.
Таблиця StringGrid може складатися із зафіксованих клітинок-заголовків FixedCols і FixedRows,
виділених сірим кольором, і звичайних клітинок
білого кольору (рис. 35.1). Звернення до клітинки таблиці, що знаходиться на перетині стовпця
з номером col і рядка з номером row, має вигляд
StringGrid1.Cells[col, row]
!!! Нумерація стовпців (col) і рядків (row) починається з нуля.
Розглянемо основні властивості компонента StringGrid, які можна налаштувати на вкладенці
Properties
Properties
- RowCount загальна кількість рядків
- ColCount загальнa кількість стовпців
- FixedRows кількість зафіксованих (сірих) рядків
- FixedCols кількість зафіксованих (сірих) стовпців
- Cells містить таблицю значень
- DefaultColWidth Визначає ширину стовпця таблиці в пікселях
- DefaultRowHeight Визначає висоту рядка таблиці в пікселях
Приклад1
Hалаштування вигляду елемента StringGrid
Виведення зафіксованого рядка з індексами елементів масиву не
є обов’язковим, але буває дуже корисним під час аналізу роботи програми. Вміст зафіксованих клітинок змінюється тільки програмним
способом, зазвичай у процедурі обробки події OnCreate для форми:
var i: Integer;
begin // нумерація стовпців і рядків починається з нуля
For i := 1 to 6 do StringGrid1.Cells[i – 1, 0] := IntToStr(i);
Цей модуль краще зберегти як окремий проект для використання в якості шаблону.
Приклад2
Заповнення масива випадковими числами від 0 до 19
i: Integer;
begin
Randomize;
For i := 1 to 6 do begin
a[i] := Random(20);
StringGrid1.Cells[i – 1, 1] := IntToStr(a[i]);
end;
Очистити вміст таблиці:StringGrid1.Rows[1].Clear;
Приклад3
Заповнити таблицю з клавіатури і знайти середнє арифметичне елементів масиву
var a: array[1..6] of Integer;
sum: Integer; // сума елементів
sr: Real; // середнє арифметичне
i: Integer; // індекс
begin // введення масиву
For i := 1 to 6 do
If Length(StringGrid1.Cells[i – 1, 1]) <> 0
Then a[i] := StrToInt(StringGrid1.Cells[i – 1, 1]) Else a[i] := 0;
{ опрацювання масиву }
sum := 0;For i := 1 to 6 do sum := sum + a[i];
sr := sum / 6;
Label2.Caption := ꞋСума елементів: Ꞌ + IntToStr(sum) + LineEnding +ꞋСереднє арифметичне: Ꞌ + FloatToStr(sr); { LineEnding — константа, що позначає кінець рядка }
end;
var a: array[1..6] of Integer;
sum: Integer; // сума елементів
sr: Real; // середнє арифметичне
i: Integer; // індекс
begin // введення масиву
For i := 1 to 6 do
If Length(StringGrid1.Cells[i – 1, 1]) <> 0
Then a[i] := StrToInt(StringGrid1.Cells[i – 1, 1]) Else a[i] := 0;
{ опрацювання масиву }
sum := 0;For i := 1 to 6 do sum := sum + a[i];
sr := sum / 6;
Label2.Caption := ꞋСума елементів: Ꞌ + IntToStr(sum) + LineEnding +ꞋСереднє арифметичне: Ꞌ + FloatToStr(sr); { LineEnding — константа, що позначає кінець рядка }
end;
Практичне завдання:
1. Складіть програму, яка міняє місцями перший і найбільший елементи послідовності з 10 чисел.
Складіть програму мовою Lazarus або Delphi.Змініть заголовок форми на "Задача 1. Прізвище ім'я учня"
Зніміть копію з екрана програмного модуля і результатів роботи на формі. В ідправьте їх на електронну адресу lgskuratovska@gmail.com
2. Виконайте тестове завдання 35 з автоматичною перевіркою на сайті
interactive.ranok.com.uaРезультат у вигляді pdf-файла надішліть на електронну адресу lgskuratovska@gmail.com
Комментариев нет:
Отправить комментарий