Современное программирование предлагает пользователям использовать самые разнообразные языки программирования. Но основой основ является Паскаль.Данный язык был разработан в 1971 году в Университете Цюриха профессором Никлаусом Виртом. Его предназначение изначально было учебным. Имея достаточно четко выраженную структуру и систему предоставления данных Паскаль имел ограничения в функциях ввода - вывода, при создании подпрограмм.

Управляющие операторы языка

Неструктурные алгоритмы и их реализация

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

Для организации неструктурных передач управления используют оператор безусловной передачи управления goto и специальные процедуры. Оператор безусловной передачи управления передает управления в точку, определенную специальной меткой.

Синтаксическая диаграмма <Оператор безусловной передачи управления>

Все метки в программе должны быть описаны инструкцией объявления меток label. Метка ставится перед любым выполняемым оператором программы, причем на один оператор можно поставить несколько меток.

Синтаксическая диаграмма <Объявление меток>

    Неструктурную передачу управления также осуществляют следующие процедуры:
  • Break - реализует выход из цикла любого типа.
  • Continue - осуществляет переход на следующую итерацию цикла, игнорируя оставшиеся до конца тела цикла операторы.
  • Halt (<код завершения>) - осуществляет выход из программы, возвращая операционной системе заданный код завершения. Считается, что программа завершилась нормально, если код завершения равен 0. Возвращение кода завершения отличного от 0 обычно означает что программа завершена по обнаружении каких либо ошибок. Коды завершения назначаются программистом, а информация о них помещается в программную документацию.
  • Exit - осуществляет выход из подпрограммы. если процедура использована в основной программе, то она выполняется аналогично Halt.

Чаще всего проблема разработки структурного варианта алгоритма возникает при работе с поисковыми циклами. В таких циклах просматривают некоторые последовательности элементов, пока не будет обнаружен элемент с заданными характеристиками. Отличительной особенностью поискового цикла является то, что элемент с заданными характеристиками может отсутствовать, следовательно необходимо предусмотреть 2 варианта выхода из цикла: досрочный, когда нужный элемент найден и обычный - по завершении просмотра всех вариантов.

Hosted by uCoz