Объяснение:
В общем алгоритм такой.
Пусть мы имеем массив a[1..n, 1..n] из n*n элементов,
i - номер строки, j - номер столбца.
Спускаемся вниз по строкам до строки, номер которой отличается от того,
n - четное или нечетное.
В общем случае это номер i_ser, равный n делить на 2, и округленный до целого вниз.
Например, если n = 4, i_ser = 2, если n = 7, то i_ser = 3.
Для i от 1 до i_ser делать
начало
Для j от 1 до i делать
// здесь мы получаем нужные нам координаты i, j
конец
Если i_ser нечетно, то отдельно проходимся по строке с номером i_ser+1
Если i_ser нечетно то
начало
i_ser = i_ser + 1
Для j от 1 до i_ser делать
// здесь мы получаем нужные нам координаты i_ser, j
конец
i_ser = i_ser + 1
Для i от i_ser до n делать
начало
Для j от 1 до n - i + 1 делать
// здесь мы получаем нужные нам координаты i, j
конец
ЗАДАЧА №1
var
x, y: Real;
begin
Read (x);
if x > 10 then
y := Pi - 2 * x
else
y := 1 - x;
Write (y)
end.
ЗАДАЧА №2
var
a, b: Real;
begin
Read (a, b);
Write (sqr (min (a, b)), ' ', max (a, b) * max (a, b) * max (a, b))
end.
ЗАДАЧА №3
var
a, c: Word;
begin
Read (a);
c := 0;
if a div 100 < 5 then
Inc (c);
if (a div 10) mod 10 < 5 then
Inc (c);
if a mod 10 < 5 then
Inc (c);
if c > 0 then
Write ('содержит цифры меньше 5')
else
Write ('не содержит цифры меньше 5')
end.