Ответ:
4. a : = 1; i := 1; repeat a := a * i; i := i + 1 until i >= 6.
Объяснение:
Каждый вариант ответа повторяет процесс повторения, но отличается условием и присваиванием значений переменным.
Поэтому посмотрим сначала на один и тот же процесс:
- repeat a := a * i; i := i + 1
Мы умножаем переменную a на переменную i, после чего увеличиваем переменную i на + 1.
Посмотрим теперь на присваивания в разных ответах.
Здесь мы изначально присваиваем числу а значение 0, i значение 1, то есть мы можем уже понять, что этот вариант ответа неправильный, т.к. у нас постоянно будет 0*1, 0*2, 0*3 и т.д.
Здесь мы изначально присваиваем числу а значение 1, i значение 0, что тоже неверно, потому что это в итоге будет выглядеть так:
1*0, 0*1, 0*2 и т.д.
Здесь в двух вариантах ответа мы присваиваем двум переменным значение 1, которое выглядит правильно, потому что будет выглядеть следующим образом: 1*1, 1*2, 2*3, и т.д.
Мы откинул 1 и 2 ответы, так что осталось лишь посмотреть на условия в двух последних ответах.
То есть мы будем выполнять перемножение до тех пор, пока i не станет меньше 6, что означает что функция выполнится всего 1 раз, потому что i изначально равно 1, что меньше 6.
Остаётся только 4 вариант ответа, где условие:
Что означает, что функция будет повторяться до тех пор пока i не станет больше или равно 6, что правильно.
Вот как это бы выглядело:
1*1; (i теперь 2)
1*2; (i теперь 3)
2*3; (i теперь 4)
6*4; (i теперь 5)
24*5; (i теперь 6, что равно 6 и повтор больше не происходит)
Надеюсь, логика понятно.