// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018
begin
var (w, h) := ReadInteger2('w,h->'); // точка (w;h)
var (ox, oy) := (w / 2, h / 2); // находим координаты цента (0;0) и (w;h)
(w, h) := ReadInteger2('rw,rh->'); // ввод RW и RH
Println($'Координаты левой верхней вершины ({ox+h/2};{oy-w/2})'); // - половина высоты прибавляется и половина ширины вычитается
Println($'Координаты правой нижней вершины ({ox-h/2};{oy+w/2})'); // - половина ширины прибавляется и половина высоты вычитается
end.
Если моя математика не подводит, то должно быть верно.
//Это экспериментальное решение, не воспринимайте всерьёз
var ar:array[1..15] of integer;
i:integer;
begin;
var i1:=1;
while i1<=15 do
begin;
var ar1:=ArrRandomInteger(4,1,20);
sort(ar1);
ar[i1]:=ar1[1];
ar[i1+1]:=ar1[2];
ar[i1+2]:=ar1[3];
writeln(ar1[1]:4,ar1[2]:4,ar1[3]:4);
i1:=i1+3;
end;
writeln('Final array:');
for i:=1 to 15 do
write(ar[i]:4);
<span>end.</span>