Предмет: Информатика, автор: AlenVolker

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 1,2,3,6,5,0,4,8,9,7 соответственно,т.е. A[0] = 1; A[1] = 2 и т.д.

Определите значение переменной c после выполнения следующего фрагмента программы.
МОЖНО С ОБЪЯСНЕНИЕМ ПОЖАЛУЙСТА


c:=0;

for i:=1 to 9 do

if A[i]>A[0] then

begin

c:=c+1;

t:=A[i];

A[i]:=A[0];

A[0]:=t;

end;

Ответы

Автор ответа: Мелкостец
1

короче больше перемудрили , смотри

у тебя есть массив A

i - это индексы ес что , A[i] эт значения

в чем смысл этой писанины ? цикл for прогоняет все индексы , а соответсна и все значения массива

и сравнивает значения каждого следующего индекса ( типо сначала значение А [1] , потом A [2] и так до 9 индекса ) со значением А[0] , которое сначала по условию 1

потом грубо говоря строки t:=A[i]; и A[0]:=t; можно заменить на A[0]:=A[i]; ( логично ж )  и наш изначальный A[0] будет принимать значение A[i] ( если выполнится if конечно же )

ДАЛЬШЕ ПРОГОНИМ ( это единственная более-менее полезная часть объяснения )

сначала заметь , что индексы  идут от 1 до 9 ( а в условии индексы от 0 до 9)

      смотрим : значение А [1] >  А[0]  ? ( т.е. 2 больше 1 ?)  - да! , к c прибавляем единичку  , a A[0] теперь не 1 , а 2.

аналогичные действия выполняем до 6 ( по значениям смысле)  , на этот момент c должно быть равно 3

дальше будут числа меньше  ( 5,0 , 4)

а потом по аналогии продолжаем , ведь 8 больше 6 ( опять же, я уже не обращаю внимания на индексы , ведь оно нам и не надо )

8 > 6 ? => c:= c+1 = 3 + 1 = 4 ; A[0]:=8

9> 8 ? => c:= c+1 =4 + 1 = 5; A[0]:= 9

дальше идти не будет  ( 7 меньше 9 )  и программа прервется

в ответ улетает 5


AlenVolker: гений
AlenVolker: брат, не хочешь с еще одной помочь?
Похожие вопросы
Предмет: Право, автор: nastya1234567788
Предмет: Алгебра, автор: hrisrusaborduyg