Условные операторы с несколькими условиями — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Условные операторы с несколькими условиями

2020-03-31 212
Условные операторы с несколькими условиями 0.00 из 5.00 0 оценок
Заказать работу

В языке Паскаль имеет место синтаксис, согласно которому в ветвях условного оператора может быть помещена только одна команда. Поэтому для размещения там большего количества команд они группируются в составной оператор с помощью пары ключевых слов BEGIN и END. Ветвь ELSE необязательна. Ключевые слова BEGIN и END необходимы, только если операторов несколько (например, из соображений единообразия оформления кода) [12]. Оформление условного перехода IF … THEN … ELSE выглядит следующим образом: на первое место выносится ключевое слово IF, после которого следует через пробел выражение или переменная, возвращающие логический тип. В случае, если выражение составное, используются круглые скобки. Выражение закрывается ключевым словом THEN, после которого записывается оператор, выполняющийся в случае истинности условия. В случае, если необходимо обработать и случай ложности высказывания, используется ключевое слово ELSE. Перед ELSE недопустим знак завершения оператора «;». При необходимости после ELSEдопускается начинать новый оператор IF, который будет рассматриваться в общей совокупности с первым IF.

В языке Си условный оператор структурно аналогичен оператору в Паскале. Отличие состоит в том, что условие должно быть записано в круглых скобках, исчезает ключевое слово THEN, а вместо ключевых слов BEGIN и END используются фигурные скобки «{}» [12]. Условные операторы Си проигрывают условным операторам Паскаля в случае определения диапазонов и принадлежности к множествам, так как оператор принадлежности к множеству IN (раздел 2.3, операции Паскаля) работает быстрее двух операторов сравнения с верхней и нижней границей множества [5].

 

Операторы-переключатели

Конструкция переключателя имеет несколько (две или более) ветвей. Переключатель выполняет одну заданную ветвь в зависимости от значения вычисляемого ключевого выражения. Принципиальным отличием этой инструкции от условного оператора является то, что выражение, определяющее выбор исполняемой ветви, возвращает не логическое, а целое значение, либо значение, тип которого может быть приведён к целому [12].

В языке Паскаль в переключателе допустимо использовать в качестве выражения переменные целого и символьного типа. В качестве меток переключения могут использоваться как константы указанных типов, так и диапазоны; переменные в качестве меток не допускаются. Синтаксис: на первое место выносится ключевое слово CASE, после которого следует выражение, завершающееся ключевым словом OF. После OF без дополнительных символов начинается перечисление меток переключения, указываемых как простые константные выражения. После самой метки следует через двоеточие оператор, выполняющийся для этой метки. В качестве метки «по умолчанию» при необходимости используют ключевое слово ELSE. Завершается оператор ключевым словом END.

В языке Си в качестве переключателя используется оператор switch. Синтаксис его описания следующий: вначале ставится ключевое слово switch, после которого в круглых скобках располагается выражение для переключения по меткам переключателя. Затем начинается тело переключателя, оформляемое фигурными скобками. Метки внутри тела переключателя обозначаются при помощи ключевого слова case, после которого располагают константное выражение или символьную переменную для определения значения метки. После ставится двоеточие и следует набор операторов, количество которых не ограничивается языком. Метка «по умолчанию» задается ключевым словом default.

У переключателей в Си есть особенность, которую можно охарактеризовать как «проваливание» [4]. Оно обрабатывается при помощи оператора break, использующегося для выхода из тела переключателя. В том случае, если в конце набора операторов метки и перед новой меткой нет оператора break, то управление перейдет к следующим операторам до первого оператора break либо до завершения тела переключателя. Эта особенность имеет как свои плюсы, так и свои минусы. К положительным качествам можно отнести то, что оно позволяет связать несколько случаев с одним действием; но в то же время оно обычно приводит к необходимости заканчивать каждый случай оператором break, чтобы избежать перехода к следующему случаю. Проваливание с одного случая на другой неустойчиво, поэтому не рекомендуется использовать его часто [4].

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

 

Циклы


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.