Вопрос:

Задача. Дана последовательность слов. Она заканчивается словом "стоп". Выведи все слова (кроме "стоп") через пробел. Какая из этих программ правильно решает эту задачу?

Смотреть решения всех заданий с листа

Ответ:

Решение:

Задача состоит в том, чтобы вывести все введённые слова, кроме последнего слова "стоп", разделяя их пробелом. Проанализируем предложенные варианты кода:

  • Вариант 1: Сначала инициализируется пустая строка `string`. Затем цикл `while` ждет ввода слова, которое не равно "стоп". Внутри цикла слово добавляется к строке `string` с пробелом, а затем происходит ввод нового слова. Проблема в том, что первое слово, которое не "стоп", никогда не будет добавлено, потому что ввод слова происходит ПОСЛЕ проверки условия.
  • Вариант 2: Этот вариант похож на первый, но ввод слова происходит ПЕРЕД началом цикла `while`. Таким образом, первое слово будет считано и добавлено к строке, а затем цикл будет продолжать работу, пока не будет введено слово "стоп". Слова добавляются к строке `string` с пробелом. Это правильно.
  • Вариант 3: В этом варианте ввод слова происходит дважды внутри цикла: один раз в начале, а другой раз перед `print`. Также, `print` выводит `string + word`, что приведет к добавлению последнего введенного слова "стоп" (или слова перед "стоп", если "стоп" вводится сразу после предыдущего слова).

Ответ: Второй вариант программы правильно решает задачу.

ГДЗ по фото 📸
Подать жалобу Правообладателю