Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 12 января 2026 12:21

Var s, i: integer; const a: array[1..10] of integer = (3, 9, -5, 13, 6, -4, 0, 8, 2, -1); begin s := 0; for i := 1 to 10 do s := s + a[i]; writeln; end. и вышло 31 это правильно

Ответ нейросети

12 января 2026 12:21

Коротко: сумма элементов массива равна 31, но программа выведет не 31, а пустую строку. Чтобы увидеть значение 31, нужно выводить переменную s.

Пошагово рассчитаем сумму:

  • i = 1: s = 0 + 3 = 3
  • i = 2: s = 3 + 9 = 12
  • i = 3: s = 12 + (-5) = 7
  • i = 4: s = 7 + 13 = 20
  • i = 5: s = 20 + 6 = 26
  • i = 6: s = 26 + (-4) = 22
  • i = 7: s = 22 + 0 = 22
  • i = 8: s = 22 + 8 = 30
  • i = 9: s = 30 + 2 = 32
  • i = 10: s = 32 + (-1) = 31

Итог: s = 31.

Но оператор writeln; без аргументов выводит только перевод строки, т.е. программа ничего не выведет кроме перехода на новую строку. Поэтому факт, что сумма 31, не появится на экране.

Как правильно вывести значение

  • Замени вывод на writeln(s); чтобы вывести текущие значение s после цикла.

Правильный вариант кода: begin s := 0; for i := 1 to 10 do s := s + a[i]; writeln(s); end.

Либо можно вывести внутри цикла, если нужно видеть промежуточные значения, но обычно выводят после цикла.

Если вам нужно, могу показать и альтернативные варианты вывода или объяснить любую часть детальнее.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

var s, i: integer; const a: array[1..10] of integer = (3, 9, -5, 13, 6, -4, 0, 8, 2, -1); begin s := 0; for i := 1 to 10 do s := s + a[i]; writeln; end. и вышло 31 это правильно
Коротко: сумма элементов массива равна 31, но программа выведет не 31, а пустую строку. Чтобы увидеть значение 31, нужно выводить переменную s. Пошагово рассчитаем сумму: - i = 1: s = 0 + 3 = 3 - i = 2: s = 3 + 9 = 12 - i = 3: s = 12 + (-5) = 7 - i = 4: s = 7 + 13 = 20 - i = 5: s = 20 + 6 = 26 - i = 6: s = 26 + (-4) = 22 - i = 7: s = 22 + 0 = 22 - i = 8: s = 22 + 8 = 30 - i = 9: s = 30 + 2 = 32 - i = 10: s = 32 + (-1) = 31 Итог: s = 31. Но оператор writeln; без аргументов выводит только перевод строки, т.е. программа ничего не выведет кроме перехода на новую строку. Поэтому факт, что сумма 31, не появится на экране. Как правильно вывести значение - Замени вывод на writeln(s); чтобы вывести текущие значение s после цикла. Правильный вариант кода: begin s := 0; for i := 1 to 10 do s := s + a[i]; writeln(s); end. Либо можно вывести внутри цикла, если нужно видеть промежуточные значения, но обычно выводят после цикла. Если вам нужно, могу показать и альтернативные варианты вывода или объяснить любую часть детальнее.