Вопрос задан 08.04.2021 в 01:00. Предмет Информатика. Спрашивает Новиков Дмитрий.

В программе используется одномерный целочисленный массив А с индексами от 0 до 9. Значения

элементов равны 1,2,4,3,5,6,8,7,3,4,т.е А(0)=1 и тд. Определите значение переменной s после выполнения следующего фрагмента программы: s:=0 for i:=1 to 9 do if A[i-1] A[i]:=A[i-1]+1 s:=s+1 end
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Иванов Глеб.

s := 0; (начальное значение счётчика)

 for i := 1 to 9 do  (цикл по i)

if A[i - 1] < A[i] then begin (если текущий элемент больше предыдущего,

 s := s + 1; то увеличиваем счётчик на 1)

     t := A[i]; (меняем текущий элемент местами с предыдущим)

     A[i] := A[i - 1];

     A[i - 1] := t

   end;

Последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).

Итак, моделируем, что делает программа и считаем число обменов.

0) 6 9 7 2 1 5 0 3 4 8 - исходный массив

1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 ОБМЕН

2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 ОБМЕН

3) 9 7 6 2 1 5 0 3 4 8 ОК

4) 9 7 6 2 1 5 0 3 4 8 ОК

5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 ОБМЕН

6) 9 7 6 2 5 1 0 3 4 8 ОК

7, 8, 9) Ноль будет "всплывать" в конец, 3 ОБМЕНА

Всего будет 6 обменов, s = 6.

Ответ: 6

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Данный фрагмент программы содержит цикл for, который выполняется 9 раз, начиная с i=1 и заканчивая i=9. В каждой итерации цикла выполняется проверка условия if A[i-1] < A[i]. Если условие истинно, то значение A[i] изменяется на A[i-1]+1. При этом переменная s увеличивается на 1.

Изначально массив А содержит следующие значения: 1,2,4,3,5,6,8,7,3,4.

Первая итерация цикла:

i = 1 A[0] = 1, A[1] = 2 Условие if выполняется, так как A[0] < A[1] A[1] присваивается значение A[0] + 1, то есть 2 s увеличивается на 1, s = 1

Массив А после первой итерации: 1,2,4,3,5,6,8,7,3,4

Вторая итерация цикла:

i = 2 A[1] = 2, A[2] = 4 Условие if не выполняется, так как A[1] >= A[2]

s увеличивается на 1, s = 2

Массив А после второй итерации: 1,2,4,3,5,6,8,7,3,4

Третья итерация цикла:

i = 3 A[2] = 4, A[3] = 3 Условие if не выполняется, так как A[2] >= A[3]

s увеличивается на 1, s = 3

Массив А после третьей итерации: 1,2,4,3,5,6,8,7,3,4

Четвертая итерация цикла:

i = 4 A[3] = 3, A[4] = 5 Условие if выполняется, так как A[3] < A[4] A[4] присваивается значение A[3] + 1, то есть 4 s увеличивается на 1, s = 4

Массив А после четвертой итерации: 1,2,4,3,4,6,8,7,3,4

Пятая итерация цикла:

i = 5 A[4] = 4, A[5] = 6 Условие if выполняется, так как A[4] < A[5] A[5] присваивается значение A[4] + 1, то есть 5 s увеличивается на 1, s = 5

Массив А после пятой итерации: 1,2,4,3,4,5,8,7,3,4

Шестая итерация цикла:

i = 6 A[5] = 5, A[6] = 8 Условие if вып

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос