В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Era383727
Era383727
10.09.2022 01:08 •  Информатика

В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив. 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

for i:= 1 to n do
begin
if i:= n - i
then
s:= 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) 3
2) 0
3) 2
4) 1

Показать ответ
Ответ:
Ksbc
Ksbc
19.12.2020 20:03

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.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота