Ваша схема, в общем, верна. Её можно чуть упростить, убрать проверку Р.
Var
k, x, z: real;
begin
readln(x);
readln(z);
if x > z then
k := sqrt(2 * (x - z) / z);
if x <= z then
k := x + z;
println(k);
end.
В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в алгоритмическую структуру «ветвление» входит условие, в зависимости от выполнения или невыполнения которого реализуется та или иная последовательность команд (серия).
Простое решение. Сначала просто заполняем массив в ручную, потом ищем минимальное значение и максимальное.
<span>арифметико-логическое и запоминающее устройства</span>