Впрограмме используется одномерный целочисленный массив 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;
короче больше перемудрили , смотри
у тебя есть массив 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