В программе описан одномерный целочисленный массив А, в представленном фрагменте программы обрабатываются элементы массива с индексами от 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 МНЕ ПРОСТО НАДО ОБЬЯСНИТЬ КАК ЭТО ДЕЛАТЬ, ПРОШУ ПОМОГИТЕ МНЕ

Вопрос школьника по предмету Информатика

В программе описан одномерный целочисленный массив А, в представленном фрагменте программы обрабатываются элементы массива с индексами от 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
МНЕ ПРОСТО НАДО ОБЬЯСНИТЬ КАК ЭТО ДЕЛАТЬ, ПРОШУ ПОМОГИТЕ МНЕ

Ответ учителя по предмету Информатика

Сначала (до 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей