1.Конструирование формы:
При выполнении задания на форме были размещены следующие компоненты:
- TLabel – используется для создания комментариев. Для этого использовалось свойство компонента Caption, которое имеет строковый тип.
- TButton – кнопка, при нажатии которой производятся вычисления. Код вычислений прописан в методе onclick, который срабатывает при нажатии кнопки во время исполнения программы. Комментарий на кнопке прописывается в свойстве кнопки Caption.
- TStringGrid – данный компонент был использован для вывода исходной матрицы и модифицированной матрицы. Для вывода элементов матриц использовалось свойство компонента Cells (ячейка), которое характеризуется индексами размещения в столбце и в строке. Количество строк и столбцов прописываются в свойствах компонента RowCount и ColCount. А для перевода числовых значений в строку – функция IntToStr. Задаём следующие свойства: ColCount – число столбцов; RowCount – число строк; FixedCols = 0 — фиксированное число столбцов; FixedRows = 0 – фиксированное число строк;
- StringGrid1 – здесь записывается исходная матрица. В свойствах Options установить свойству редактирования go Editing значение true.
- StringGrid2 – здесь записывается полученная матрица.
- TGroupBox – компонент, предназначенный для группировки внутри себя других компонентов. Заголовок компонента прописывается в его свойстве Caption.
2.Условие:
Определить наибольшее значение среди элементов, расположенных выше главной диагонали матрицы A(5,6). Напечатать новую матрицу A, в которой все элементы выше главной диагонали заменены нулями, кроме наибольшего элемента. Элементы исходной матрицы выбрать самостоятельно.
3.Форма:
4.Программа:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
StringGrid1: TStringGrid;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
GroupBox2: TGroupBox;
StringGrid2: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
A: array [1 .. 5, 1 .. 6] of integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i, j: integer;
begin
for j := 1 to 6 do
for i := 1 to 5 do
begin
A[i, j] := random(100); // Создание случайного числа
StringGrid1.Cells[j - 1, i - 1] := IntToStr(A[i, j]);
// Помещение A[i,j] в ячейку StringRead
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: integer;
Max: integer;
begin
Max := A[1, 2];
for i := 1 to 5 do
for j := i + 1 to 6 do
if (A[i, j] > Max) then
Max := A[i, j];
Label2.Caption := IntToStr(Max);
for i := 1 to 5 do
for j := i + 1 to 6 do
if (A[i, j] < Max) then
A[i, j] := 0;
for j := 1 to 6 do
for i := 1 to 5 do
begin
StringGrid2.Cells[j - 1, i - 1] := IntToStr(A[i, j]);
end;
end;
end.
5.Результат: