Программа не полностью показана, но насколько я понял, в начале просто задаются исходные данные:
-координаты x, y
-индекс (от 0 до 2) для выбора одного из трёх вариантов функции f
Таблицу Excel и мой вариант программы я приложил к решению (смотри вложения внизу).
В таблице вычисляется значение b так же как и в программе. А также вычисляется f и значение x*y (чтобы было понятнее, по какой формуле считала программа). Чтобы формулы нормально читались, я задал имена ячейкам с исходными данными и результатами такие же, как и имена переменных в программе.
Результаты вычислений в нескольких точках я сверил с программой- всё совпадает.
Последняя приложенная картинка- на координатной плоскости тремя разными цветами выделены области на которых применяются три разных формулы расчёта b ( в зависимости от значения x*y ).
begin
var a := new integer[5, 5](
(2, 4, 5, 1, 3),
(7, 2, 9, 0, 2),
(6, 4, 1, 0, 1),
(8, 4, 7, 2, 0),
(6, 0, 0, 2, 1));
Println('Массив A');
a.Println(2);
Println('Массив B');
var b := new integer[5, 5](
(2, 4, 5, 0, 3),
(6, 0, 3, 2, 1),
(2, 4, 5, 1, 3),
(8, 4, 7, 2, 0),
(6, 2, 0, 2, 1));
b.Println(2);
Println('Массив A');
var c := new integer[5, 5];
var (upper, lower) := (0, a.RowCount - 1);
for var i := 0 to a.RowCount - 1 do
begin
var found := False;
for var j := 0 to b.RowCount - 1 do
if a.Row(i).SequenceEqual(b.Row(j)) then
begin
c.SetRow(upper, a.Row(i));
upper += 1;
Found := True;
break
end;
if not found then
begin
c.SetRow(lower, a.Row(i));
lower -= 1;
end
end;
a := Copy(c);
c := nil; // удаляем с
a.Println(2)
end.
begin read(a,b,c);
if (a > b) and (a > c) then
write(a)
else
if (b > a) and (b > c) then
write(b)
else
write(c);
end.
В делфи добавишь на форму Эдиты(4 штуки) и одну кнопку. В трех Эдитах будешь вводить свои значения, а в четвертом выведешь ответ и все это при клике на кнопку:
Procedure btn1Click;
var a, b, c, max: integer;
begin
a:= StrToInt(edt1.Text); // где edt1,2,3 - имена полей для ввода(Эдиты)
b:= StrToInt(edt2.Text);
c:= StrToInt(edt2.Text);
if (a > b) and (a > c) then
max:= a;
else
if (b > a) and (b > c) then
max:= b;
else
max:= c;
edt4.Text:= 'Максимальное число' + max;
//или ShowMessage(Максимальное число' + max);
end.