с решением в паскале и объяснением нужно❤️ 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 после выполнения программы.​

pavlova62 pavlova62    2   08.06.2020 02:28    2

Ответы
милан64488 милан64488  08.06.2020 02:29

Здравствуй!

Объяснение:

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика