Вопрос:

Цикл в фрагменте программы p:=1; repeat p:=p*0.1 until p>0.1; будет исполнен:

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

Ответ:

Давай разберемся, как работает этот цикл!

У нас есть переменная p, которой изначально присвоили значение 1.

Цикл repeat...until будет выполняться до тех пор, пока условие p > 0.1 не станет истинным. Это значит, что он будет работать, пока p не станет больше 0.1.

Смотрим, как меняется p:

  1. Первое выполнение: p равно 1. Внутри цикла p становится 1 * 0.1 = 0.1. Условие p > 0.1 (0.1 > 0.1) ложно, цикл продолжается.
  2. Второе выполнение: p теперь 0.1. Внутри цикла p становится 0.1 * 0.1 = 0.01. Условие p > 0.1 (0.01 > 0.1) ложно, цикл продолжается.
  3. Третье выполнение: p теперь 0.01. Внутри цикла p становится 0.01 * 0.1 = 0.001. Условие p > 0.1 (0.001 > 0.1) ложно, цикл продолжается.

Каждый раз значение p становится в 10 раз меньше. Оно будет приближаться к нулю, но никогда не станет больше 0.1, потому что мы умножаем на 0.1, а не делим.

Получается, условие p > 0.1 никогда не выполнится. Значит, цикл будет работать бесконечно.

Ответ: бесконечное число раз

ГДЗ по фото 📸