русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Организация ветвлений. Операторы выбора


Дата добавления: 2015-07-23; просмотров: 1494; Нарушение авторских прав


В языке Паскаль алгоритмическая базовая конструкция выбора может быть реализована с помощью двух структурных операторов – IF и CASE, называемых операторами выбора. С их помощью можно выбрать для выполнения один из составных операторов (или ни одного оператора).

 

4.2.1. Оператор ветвления IF

Оператор IF можно представить в виде синтаксической диаграммы, представленной на рис. 19.

 

Рис. 19. Синтаксическая диаграмма оператора ветвления

 

Конструкция «Условие» есть логическое выражение, которое принимает два значения типа BOOLEAN: TRUE, FALSE (истинно или ложно).

Само логическое выражение складывается из операций сравнения: >, >=, <, <=, =, <>. Результат сравнения может быть TRUE или FALSE.

Логические выражения могут формироваться также и с помощью трех логических операций: NOT, AND, OR. Приоритеты всех используемых в Паскале операций таковы:

Высший: ( )

NOT *, /, DIV, MOD

AND

OR +, -

Низший: >, =, < , >=, <>, <=

 

В качестве условия может быть использована и логическая переменная, например:

I and J or K ---> (I and J) or K;

not X and Y ---> (not X) and Y, где I, J, K, X, Y – переменные типа BOOLEAN;

(A < B) or (B = 0), где A, B – переменные простого типа.

 

В операторе IF всегда за словами THEN и ELSE должен следовать один оператор. Этим оператором может быть не только оператор присваивания, но и любой другой. Если хотя бы один из них является снова оператором IF, то полученную конструкцию называют вложением.

 

П р и м е р :

 

IF <условие1> THEN <ветвь 1>

ELSE IF <условие2> THEN <ветвь 2>

ELSE <ветвь 3>;

 

Такое вложение используется для уменьшения числа необходимых проверок. Этот метод часто обеспечивает большую эффективность, чем составное условие, однако одновременно он уменьшает надежность программы. Не рекомендуется использовать более двух-трех уровней вложения IF. Вложения могут идти и после слова THEN.



На рис. 20, 21 представлены два способа вложения конструкции IF в конструкцию IF.

 

1-й способ 2-й способ
IF c1 THEN S1 IF c1 THEN IF c2 THEN IF c3 THEN S3
ELSE IF c2 THEN S2 ELSE S4
ELSE IF c3 THEN S3 ELSE S2
ELSE S4 ELSE S1

 

Рис. 20. Вложения операторов IF

 

Первый способ предпочтительнее, чем второй, так как конструкция THEN-IF менее удобна, чем ELSE-IF. С помощью конструкции ELSE-IF чаще всего осуществляется выбор одного из нескольких альтернативных вариантов. Заметим, однако, что иногда такое вложение можно заменить на последовательность операторов короткой формы IF-THEN. Это видно на следующем примере:

 

program QUARD;

var A, B, C : real; D : real;

begin

read (A, B, C); D := sqr (B) – 4 * A - C;

 

1-й вариант 2-й вариант
if D < 0 then write ('Не имеет корней'); if D < 0 then write ('Нет корней') else if D = 0 then write ('Один корень')
if D = 0 then write ('Один корень'); if D > 0 then write ('Два корня'); else write ('Два корня');
     

end.

Рис. 21. Пример программы вложений

 

Однако в данном примере 2-й вариант более эффективен, так как имеет на одно сравнение меньше, и в случае D < 0 сразу же дает ответ, не делая последующих проверок.

В Паскале существует специальный оператор, позволяющий сделать выбор из нескольких альтернатив – множественное ветвление, или оператор варианта.

 

4.2.2.Оператор варианта CASE

 

Оператор варианта состоит из выражения и списка операторов, каждому из которых предшествует одна или более констант, называемых константами выбора, что видно из рис. 22.

 

 

Рис. 22. Синтаксическая диаграмма оператора варианта CASE



<== предыдущая лекция | следующая лекция ==>
Составной и пустой операторы | Общая форма записи


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.593 сек.