с решением в паскале и объяснением нужно❤️ program ex5;
var s,k,t: integer;
var A: array[1..9] of integer;
begin
s := 0;
for k:=1 to 9 do begin
if A[k] < A[k-1] then begin
t := A[k];
A[k] := A[k-1];
A[k-1] := t;
s := s + k
end
end;
end.
Определите значение переменной s после выполнения программы.
Здравствуй!
Объяснение:
s:=0; строго присвоено нулю(без действий +,- и так далее)
Дальше у тебя с этой переменной идет арифметика s:=s+k;
Все 0+ результат полученый от переменной k
С этой переменной подругому
У тебя идет k как целочисленный счет, который находится в цикле for
От 1 до 9 включительно
Есть сам массив A и есть индеес масстива k. Как массив и индект проходит через условие т.е выполняется проверка на истинность или ложь
После того как значение достигается истинным появляемся новая переменная t присвоенная как массиву так и индексу его. В противном случае будет ложно тогда вернется в самое начало программы и идти дальше не будет.
Так же вычитается 1 в индексе k-1
Присваевается t
Подставим значение k:=1 to 9 значит 8 -1 считается было 9, а после этого этапа 8. Проверка на условие if A[8] < A[8-1]
Отсюда следует 8<7 ложь
Все значит нечего не выйдет на этом остановилось
При арифметике 0+8=8 или 0+7=7
Опять возвращаемся к условию 8<7 ложь
Falce- ложно
8+0=8