// 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.
Если моя математика не подводит, то должно быть верно.
// PascalABC.NET 3.4.2, сборка 1790 от 15.09.2018
// Внимание! Если программа не работает, обновите версию!
begin
var a := ArrRandom(ReadInteger('n='), 1, 100); a.Println; // общее
Println('Максимальный четный ', a.Where(t -> t.IsEven).Max); // задача 1
Print('Второй минимальнывй нечетный'); // задача 2
a.Where(t -> t.IsOdd).OrderDescending.Skip(1).Take(1).Println // задача 2
end.
Пример
n= 15
67 8 60 1 96 40 73 25 39 93 64 89 40 69 9
Максимальный четный 96
Второй минимальнывй нечетный 89
1111110111101 в двоичной сс = 1FBD в 16
1010101010100000 в двоичной сс = 125240 в 8
1010101010100000 в двоичной сс = ААА0 в 16
2) 132 в 8 = 90 в 10; 1001111 в 2 = 79 в 10; 24F в 16 = 591 в 10
90+79+591=760 в 10
3) 4036 в 10 = 14524 в 7