Впрограмме описан одномерный целочисленный массив а, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 10. n : = 10; for i : = 1 to n do begin a [n+1−i] : = 2*a[i] ; end; перед началом выполнения фрагмента элементы массива имеют значения соответственно 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, т.е. а[1] = 1; а[2] = 2 и т.д. укажите значение, которое после выполнения указанного фрагмента программы имеет два или более рассмотренных в этом фрагменте элемента массива. если таких чисел несколько, укажите наибольшее из них. 1) такого значения нет 2) 10 3) 8 4) 4 ответ будет 3 мне просто надо обьяснить как это делать мне

Maria2006qwerty Maria2006qwerty    1   30.08.2019 09:00    3

Ответы
valeraKRUT05 valeraKRUT05  06.10.2020 04:48
Сначала (до i=5) удваиваются элементы массива 1, 2, 3, 4, 5. Получается соответственно 2, 4, 6, 8, 10. Затем, с i=6 удваиваются полученные значения (в обратном порядке). Получается 20, 16, 12, 8, 4.
Можно это всё расписать подробно, по шагам:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1 шаг цикла:
A [10] := 2*A[1] 
1, 2, 3, 4, 5, 6, 7, 8, 9, 2
2 шаг:
A [9] := 2*A[2]
1, 2, 3, 4, 5, 6, 7, 8, 4, 2
3 шаг:
A [8] := 2*A[3]
1, 2, 3, 4, 5, 6, 7, 6, 4, 2
4 шаг:
A [7] := 2*A[4]
1, 2, 3, 4, 5, 6, 8, 6, 4, 2
5 шаг:
A [6] := 2*A[5]
1, 2, 3, 4, 5, 10, 8, 6, 4, 2
6 шаг:
A [5] := 2*A[6]
1, 2, 3, 4, 20, 10, 8, 6, 4, 2
7 шаг:
A [4] := 2*A[7]
1, 2, 3, 16, 20, 10, 8, 6, 4, 2
8 шаг:
A [3] := 2*A[8]
1, 2, 12, 16, 20, 10, 8, 6, 4, 2
9 шаг:
A [2] := 2*A[9]
1, 8, 12, 16, 20, 10, 8, 6, 4, 2
10 шаг:
A [1] := 2*A[10]
4, 8, 12, 16, 20, 10, 8, 6, 4, 2

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