Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_po_Delphi_2008.doc
Скачиваний:
75
Добавлен:
06.06.2015
Размер:
2.69 Mб
Скачать

§ 3. Программы с разветвлениями

В данном параграфе рассматриваются следующие вопросы: условный оператор, оператор выбора (варианта), оператор перехода, компоненты ListBox, ComboBox, некоторые приемы работы с отладчиком.

Теория

Логические выражения

Логическое выражение в общем виде выгдядит так:

ОП1 оператор ОП2,

Где ОП1 и ОП2 — операнды логического выражения, в качестве которых может выступать переменная, константа, функция или выражение; оператор — это оператор сравнения.

Результатом логического выражения является логическое значение True или False. Логические выражения чаще всего используются в условном операторе и в операторах цикла и состоят из:

— логических констант True и False ;

— операндов (переменные, элементы массивов, выражения)

— логических переменных типа boolean;

— операций сравнения (отношения);

— логических операций;

— круглых скобок.

Для установления отношения между двумя значениями, заданными выражениями, переменными или константами, используются следующие операции сравнения:

— = — равно,

— < — меньше,

— > — больше,

— <= — меньше или равно,

— >= — больше или равно,

— <> — не равно,

— in — принадлежность множеству.

Операции сравнения выполняются после вычисления соответствующих выражений. Результатом операции сравнения является значение False, если соответствующее отношение не имеет места, или значение True, если соответствующее отношение имеет место.

Замечание

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

В сложных логических выражениях используются следующие логические операторы

Операция

Описание

Операнд 1

Операнд 2

Результат

not

Отрицание

False

True

True

False

and

Логическое и

False

False

True

True

False

True

False

True

False

False

False

True

or

Логическое или

False

False

True

True

False

True

False

True

False

True

True

True

xor

Исключающее или

False

False

True

True

False

True

False

True

False

True

True

False

Пример. Логические выражения

х < 10

х + 17 >= у

(х > a) and (х < b).

Переменные х, а, b и у могут принадлежать, например, к числовым или строковым типам.

Условный оператор

Условный оператор обеспечивает выполнение или невыполнение некоторых операторов в зависимости от соблюдения определенных условий. Условный оператор в общем случае предназначен для организации разветвления программы на два направления и имеет формат:

if <Условие> then <0ператор1> [ else <0ператор2> ];

Условие представляет собой выражение логического типа. Оператор работает следующим образом: если условие истинно (имеет значение True), то выполняется Оператор1, в другом случае выполняется 0ператор2. Оба оператора могут быть составными. Условный оператор может быть записан в сокращенной форме, когда слово else и оператор после него отсутствуют. В этом случае при невыполнении условия выполняется оператор, следующий за условным.

Для организации разветвлений на три направления и более можно использовать несколько условных операторов, вложенных друг в друга. При этом каждое else соответствует тому then, которое непосредственно ему предшествует. Из-за возможных ошибок следует избегать большой вложенности условных операторов друг в друга.

Пример. Условные операторы:

if х > 0 then х := х + 1 else x := 0;

if q = 0 then a := 1;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]