Лабораторная работа №6
Двумерные массивы
Цель работы: получить практические навыки развязывания задач с двумерными массивами, изучить свойства компонента StringGrid для отображения двумерных массивов.
Задание
Создать папку, проект, блок-схему алгоритма, таблицу компонентов формы, таблицу значений свойств компонентов формы и Object Pascal программу для развязки задачи: определить наибольший элемент в каждом столбце двумерного массива Н:
Ход работы
Таблица компонентов
Объект |
Назначение |
Button1 |
Кнопка активации процедуры, вычисления значений функции. |
Label1 |
Поле введения информации. |
Label2 |
Поле вывода информации. |
StringGrid1 |
Компонент для отображения различных данных в табличной форме. |
Таблица значений свойств компонентов формы
Свойство |
Значение |
Form1.Caption |
Form1. |
Label1. |
Вычислить максимальный элемент массива . |
Label2. |
Результат |
Button1. |
Найти максимум |
StringGrid1 |
|
J,1,4
![]() |
|||
![]() |
|||
I,1,2
![]() |
|||
![]() |
|||
- +
![]() |
|||
![]() |
|||
![]() |
Рисунок 1 – Блок-схема
Рисунок 2 – Форма
Код программы
procedure TForm1.FormCreate(Sender: TObject);
const
H:array [0..2,0..4] of string=
(('8,4','6,3','2','-5,4','0'),
('5,4','3,2','-8,6','1,5','6,9'),
('-7,8','-2,4','8,4','0','16'));
var
i,j:integer;
begin
for i:=0 to 2 do
for j:=0 to 4 do
StringGrid1.Cells[j,i]:=H[i,j];
end;
procedure TForm1.Button1Click(Sender: TObject);
var
H:array [0..2,0..4]of Real;
i,j:Integer;
maxN:Real;
begin
for i:=0 to 2 do
for j:=0 to 4 do
H[i,j]:=strtofloat(StringGrid1.Cells[j,i]);
Label2.Caption:=' ';
for j:=0 to 4 do
begin
maxN:=H[0,j];
for i:=0 to 2 do
begin
if H[i,j]>maxN then
maxN:=H[i,j];
end;
Label2.Caption:=Label2.Caption+FloatToStr(maxN)+'; ';
end;
end;
end.
Рисунок 3 – Вид окна программы
Вывод: в ходе данной лабораторной работы приобретены навыки в работе с двумерными массивами в интегрированной среде программирования Delphi. Сделан вывод о том, что двумерные массивы удобно вводить через компонент StringGrid, который находится на вкладке Additional (Дополнительная). В ходе выполнения данной работы возникли затруднения с вычислением максимального значения при изменении данных в масиве. Проблема была решена путем добавления дополнительных операторных скобок и изменением типа результирующих данных.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.