Главная » Basic » ИТЕРАЦИИ

0

соответствующая конструкции WHILE, эквивалентна

Это довольно запутанное преобразование, и поэтому в случае, если какая-либо  из двух итерационных конструкций отсутствует, ее лучше всего имитировать  подходящей комбинацией  операторов IFTHEN и GOTO.

Некоторые авторы рекомендуют внутри  цикла применение  конструкции,  которую на псевдокоде можно  записать как  "ЕСЛИ  условие,  ТО  ВЫХОД".  Ее  действие состоит в   преждевременном завершении цикла, если выполнено указанное в ней условие. По существу, она представляет собой не что иное, как передачу управления за пределы цикла первому оператору, стоящему за концом цикла. Таким образом,  при достижении  этого  оператора  не  известно, произошло ли  это  в   результате завершения  цикла после  выполнения его  условия  или   же  в   результате  выполнения условия  в операторе IF. Хорошие методы разработки не допускают такой неопределенности, к тому же подобные   действия могут   вызывать  трудности  при  теоретическом  доказательстве  правильности программы.  Поэтому  лучше  всего не  пользоваться псевдокодом подобного  типа, как  бы  эта конструкция не казалась соблазнительной  для применения на практике. Кроме того, она не имеет удовлетворительного

представления в   виде   структограммы.  По  этим причинам всегда предпочтительнее включать различные логические флаги или ключи  в состав  условия завершения цикла   и изменять  их значения внутри цикла, чтобы обеспечить его завершение.

Источник: Уолш Б.    Программирование на Бейсике: Пер. с англ. М.: Радио и связь, 1988. 336 с: ил.

По теме:

  • Комментарии