Регистрация
Войти
Стать экспертом Правила
Информатика

В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив.Python:s=0n=10for i in range (1, n + 1): if i == n - is = s + A[i] - A[i - 1]Паскаль: s:= 0n:=10for i:= 1 to n dobeginif i:= n - ithens:= s + A[i] - A[i - 1];endВ начале выполнения этого фрагмента в массиве находились числа 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, т. е A[0] = 0, A[1] = 3 и т. д.Чему будет равно значение переменной s после выполнения данной программы?Ответы: 1) 32) 03) 24) 1

ОТВЕТЫ

3

В обоих вариантах программы у вас есть ошибки, скорее всего имелось в виду это (Python)

s = 0

n = 10

for i in range (1, n + 1):

   if i == n - i:

       s = s + A[i] - A[i - 1]

Сначала s = 0, n = 10.

Затем в цикле по i от 1 до n, если i = n - i, к s прибавляется A[i] - A[i - 1].

Условие выполнено, когда i = n - i.

i=n-i\\2i=n\\\\i=\dfrac{n}{2}

Итак, условие выполнится только для i = n/2 = 5, поэтому к s что-то прибавится только раз.

Новое значение s = 0 + A[5] - A[4] = 0 + 15 - 12 = 3.

516
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам