Zahns construct - Википедия - Zahns construct
Конструкция Зана, в Информатика, была предложена структура для структурированных поток управления в языках компьютерного программирования, впервые описанных Чарльз Т. Зан в 1974 г.[1] Конструкция в первую очередь описывается как расширение циклические конструкции распознавать несколько способов завершения цикла. Например, цикл поиска может прерваться раньше, когда цель будет найдена; или он может прекратиться после неудачного завершения поиска. Конструкцию Зана можно использовать, чтобы избежать ИДТИ К
заявления при определении того, какой случай был обнаружен. Зан делает это, вводя новый вид переменной, называемой индикатор ситуации в CASE-подобной конструкции, следующей за циклом.
Дональд Кнут в своей статье «Структурированное программирование с помощью операторов перехода»,[2] описывает две формы конструкции Зана следующим образом:
цикл до <ситуация 1> или ... или <ситуация n>: <список операторов 0> повторение; затем <ситуация 1> => <список операторов 1>; ... <ситуация n> => <список операторов n>; fi
и:
начинать до <ситуация 1> или ... или <ситуация n>: <список операторов 0>; конец; затем <ситуация 1> => <список операторов 1>; ... <ситуация n> => <список операторов n>; fi
Также должен быть оператор для установки конкретного индикатора ситуации и выхода из тела конструкции.
Следующий простой пример включает поиск определенного элемента в двумерной таблице.
выход когда найденный или же отсутствующий; за I: = 1 к N делать за J: = 1 к M делать если таблица [I, J] = цель тогда найденный; отсутствующий;выходы найдено: print («элемент находится в таблице»); отсутствует: print («товар отсутствует в таблице»);endexit;
Блоки try-catch, используется в современных языках программирования для Обработка исключений, являются вариациями конструкции Зана. Основное отличие состоит в том, что объем предложений Зана ограничивался отдельными циклами в программе, тогда как возможности обработки исключений часто позволяют «выбросить» исключения из глубины стек вызовов и "поймали" в точке выше в стеке.
Рекомендации
- ^ Зан, К. Т. «Управляющее выражение для естественного нисходящего структурированного программирования», представленное на симпозиуме по языкам программирования, Париж, 1974.
- ^ Кнут, Д. Э. «Структурированное программирование с помощью операторов перехода» В архиве 2013-10-23 на Wayback Machine, Вычислительные опросы, Том 6, декабрь 1974 г., стр. 275
внешняя ссылка
- Зан, К. Т. Структурированное управление на языках программирования SLAC Pub-1530, январь 1975 г.
- Структуры управления определяется с использованием Схема; Конструкция Зана - последняя в списке
- Конструкция Зана определены с помощью GOTO в Четвертый