Информатика, вопрос задал username2018 , 1 год назад


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

Приложения:

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

Ответил BobbyFresnel
2

Ответ:

2

Объяснение:

Алгорим тут, мягко говоря, странноват.

t :=a[i];

a[i-1] := a[0];

a[0] := t

Никакого t здесь не нужно, достаточно написать

a[i-1] := a[0];

a[0] := a[i]

В цикле, начиная с третьего по порядку элемента, производится его сравнение с самым первым элементом (вначале его значение равно 5).

Присваивание a[i-1] := a[0] в теле цикла никак на a[0] не влияет и на сравнение не влияет, поэтому забудем о нем.

Таким образом, существенным оказывается лишь факт попадания на место a[0] элемента, меньшего a[0] и каждое такое попадание увеличивает счетчик с на 1. Первонаяальное значение с нулевое, так что с отражает количество попаданий в a[0] элементов, меньших его значения. Анализ значений элементов с a[2]  по a[9] показывает, что сначала в a[0] попадает 2 (2 < 5), а затем 0 ( 0 < 2). Поэтому с = 2.

Новые вопросы