Андрей
Высший разум
(464982)
1 день назад
Ничем не уникален. Цикл с постусловием придуман задолго до появления Pascal.
Да, при наличии в языке break можно обойтись только циклом с предусловием и не включать в язык цикл с постусловием. Но даже с break это неудобно: есть немало задач, в которых цикл с постусловием позволяет написать код проще и понятнее.
И, кстати, это далеко не все виды циклов. Прочитай (хотя бы в Википедии) про цикл Дейкстры и цикл "паук".
P.S. Pascal создавался как язык структурного программирования, один из принципов которого: каждый оператор имеет единственную точку входа и единственную точку выхода. Но break создаёт множество точек выхода из цикла и тем самым нарушает этот принцип.
Krab Bark
Искусственный Интеллект
(296172)
1 день назад
Не уникален. Однако for годился без ухищрений только для целых с шагом 1 и количество повторений задавалось перед их началом, а вот while по применимости был таким же, как repeat.. until, даже чуть универсальнее, так как проверка осуществлялась перед первым выполнением цикла.
Jurijus Zaksas
Искусственный Интеллект
(449365)
1 день назад
В самом паскале он был уникален в том смысле, что не требовал логических скобок.
А такое жесткое деление на циклы с предусловием, постусловием и счетчиком, было обусловлено тем, что в паскале реализация цикла со счетчиком была крайне жесткой: он работал только на инкремент или декремент перечислимых и целочисленных типов. Если типы были какими-то другими, или нужен был какой-то отличный от инкремента/декремента шаг, надо было работать и с другими циклами.