http://kpolyakov.blogspot.ru/2012/10/break-break.html

> -- Цитата:
> Вот решение с использованием break:s := 0;while True do begin  Readln(x);  if x = 999 then break;  s := s + x;end;На взгляд автора, этот алгоритм очень хорошо соответствует словесному описанию: «строим цикл, выход из которого происходит при получении числа 999».

> -- Цитата:
> Можно вынести оператор Readln за цикл, продублировав его в теле цикла:s := 0;Readln(x);while x <> 999 do begin  s := s + x;  Readln(x);end;На взгляд автора, при этом два оператора ввода, выполняющие одну и ту же функцию, «размывают» логику программы и не добавляют ей «прозрачности». Кроме того, вместо Readln в других ситуациях может стоять целая группа операторов, и тут уже дублирование будет выглядеть совсем некрасиво.

> -- Цитата:
> Эта статья, прежде всего, о том, что любые идеи и принципы нужно воспринимать в контексте конечной цели. Одна из основных целей концепции структурного программирования — повысить читаемость программ и за счёт этого облегчить их отладку, тестирование и сопровождение. Поэтому применение операторов break, continue и exit нельзя считать отступлением от структурного программирования, если это не ухудшает читаемость программы и не приводит к запутыванию логики алгоритма.В то же время попытки избавиться от этих операторов (для того, чтобы формально соблюсти «классические правила») могут привести к ухудшению читаемости программы.

при том, что на этот сайт ходят поголовно за егэ...