- •Глава 6 Программирование в среде Delphi
- •§1. Разработка линейных программ
- •Этапы разработки программы
- •Целые типы
- •Символьный тип
- •Булевый тип
- •Переменные и константы
- •Оператор присваивания
- •Структура программы на языке Delphi
- •Некоторые функции преобразования типов
- •Среда программирования Delphi Главные составные части среды программирования
- •Структура проекта
- •Сохранение проекта
- •Структура модуля
- •Компиляция и выполнение проекта
- •§2. Стандартные и библиотечные функции в линейных программах
- •Некоторые стандартные библиотечные функции
- •Некоторые функции и процедуры даты
- •Ввод из окна ввода
- •Вывод в окно сообщения
- •Примечание
- •§ 3. Программы с разветвлениями
- •Логические выражения
- •Условный оператор
- •Оператор выбора
- •Оператор перехода
- •Компонент ListBox
- •Компонент tComboBox
- •Некоторые приемы работы с отладчиком
- •Примечание
- •§4. Циклы
- •Операторы цикла
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Компонент Memo
- •§ 5. Использование массивов в программах, компонента Memo для ввода данных в массив
- •Массивы
- •Компонент Memo для ввода и вывода массивов
- •§ 6. Разработка многооконных проектов. Двумерные массивы. Компонент StringGrid
- •Компонент StringGrid
- •Технология создания многооконных проектов
- •Ввод и вывод двумерных массивов c помощью компонента StringGrid
- •§7. Внешние файлы
- •Процедуры работы с файлами
- •Главное меню
- •§8. Разработка внутренних процедур и функций
- •Процедуры
- •Функции
- •Литература
§ 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;