• Предмет: Информатика
  • Автор: mightdefender
  • Вопрос задан 1 год назад

Имеется одномерный целочисленный массив из семи элементов:



Каким будет результат преобразования массива по следующему алгоритму?

Приложения:

Ответы

Ответ дал: gfhjkmgfhjkm20
11

Ответ:

a[1] = 20

a[2] = 15

a[3] = 4

a[4] = 8

a[5] = 5

a[6] = 12

a[7] = 10

Объяснение:

Ответ зависит от того чему равно n. Если предположить что n равно количеству элементов в массиве, то n = 7.

for i := 1 to n div 2 do

(значения i будут изменяться от 1 до 3 (div - целочисленное деление; n div 2 = 3), т.е. цикл выполнится 3 раза)

Операции в цикле

r := a[i] ( переменной r присваивается значение элемента массива с индексом (под номером) i)

a[i] := a[n - i + 1] (элементу массива с индексом (под номером) i присваивается значение элемента массива индекс (номер) которого рассчитывается по формуле n - i +1)

a[n - i + 1] := r (элементу массива индекс (номер) которого рассчитывается по формуле n - i +1 присваивается звание переменной r)

То есть происходит обмен значений элементов массива с индексом i и n - i + 1.

Рассмотрим операции в цикле подставляя значения i.

i = 1

r := a[1] = 10

a[1] := a[7 - 1 + 1] = a[7] = 20

a[7] := r = 10

i = 2

r := a[2] = 12

a[2] := a[7 - 2 + 1] = a[6] = 15

a[6] := r = 12

i = 3

r := a[3] = 5

a[3] := a[7 - 3 + 1] = a[5] = 4

a[5] := r = 5

После окончания цикла элементы массива будут равны

a[1] = 20

a[2] = 15

a[3] = 4

a[4] = 8 (остаётся без изменений)

a[5] = 5

a[6] = 12

a[7] = 10

Вас заинтересует