var a, b, c, d, min, max: integer;
begin
// Min
readln(a, b, c, d);
if (a <= b) and (a <= c) and (a <= d) then min := a
else if (b <= a) and (b <= c) and (b <= d) then min := b
else if (c <= a) and (c <= b) and (c <= d) then min := c
else if (d <= a) and (d <= b) and (d <= c) then min := d;
// Max
if (a >= b) and (a >= c) and (a >= d) then max := a
else if (b >= a) and (b >= c) and (b >= d) then max := b
else if (c >= a) and (c >= b) and (c >= d) then max := c
else if (d >= a) and (d >= b) and (d >= c) then max := d;
writeln('Min: ', min);
writeln('Max: ', max);
end.
ответ: 28
Объяснение:
Заданный фрагмента программы выполняет следующую задачу:
Цикл для i от 1 до 9, в котором если остаток от деления (А[i] + A[0]) на 4 неравен 0, (т. е. сумма А[i] и A[0] не делится на 4), то их (А[i] и A[0]) меняют местами, а переменную S увеличивают на i. Выполним алгоритм вручную:
A = 6, 2, 3, 1, 5, 6, 7, 8, 9, 3; i=1; (6+2)%4 = 8%4 = 0;
A = 6, 2, 3, 1, 5, 6, 7, 8, 9, 3; i=2; (6+3)%4 = 9%4 = 1; --> S = 0+2 = 2
A = 3, 2, 6, 1, 5, 6, 7, 8, 9, 3; i=3; (3+1)%4 = 4%4 = 0;
A = 3, 2, 6, 1, 5, 6, 7, 8, 9, 3; i=4; (3+5)%4 = 8%4 = 0;
A = 3, 2, 6, 1, 5, 6, 7, 8, 9, 3; i=5; (3+6)%4 = 9%4 = 1; --> S = 2+5 = 7
A = 6, 2, 6, 1, 5, 3, 7, 8, 9, 3; i=6; (6+7)%4 = 13%4 = 1; --> S = 7+6 = 13
A = 7, 2, 6, 1, 5, 3, 6, 8, 9, 3; i=7; (7+8)%4 = 15%4 = 3; --> S = 13+7 = 20
A = 8, 2, 6, 1, 5, 3, 6, 7, 9, 3; i=8; (8+9)%4 = 17%4 = 1; --> S = 20+8 = 28
A = 9, 2, 6, 1, 5, 3, 6, 7, 8, 3; i=9; (9+3)%4 = 12%4 = 0;
Как можно увидеть, после выполнения фрагмента программы переменная S будет равна 28.
Пример работы:
Мы сначало складываем все три числа, и затем делим получившееся число на сумму этих 3 чисел,и в итоге узнаем сред.арифметическое
Короче:
1100101+110010+1011=1211122
и 1211122/3=403 707,33333
И в итоге приблизительно=404 800