Чтение онлайн

на главную - закладки

Жанры

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

Блоки программного кода

Два и более операторов присваивания, а также вызовов процедур или функций можно выделять в блоки программного кода при помощи ключевых слов begin и end. Такие блоки используются в конструкции with-do, а также в рассматриваемых ниже циклических конструкциях и конструкциях ветвления.

Конструкции ветвления

Конструкции ветвления осуществляют переход к одному из блоков программного кода на основании проверки некоторого условия. К ним относятся операторы if и case.

Оператор if

Оператор if

имеет синтаксис двух видов:

if выражение then блок_кода;

if выражение then блок_кода else блок_кода;

Если выражение возвращает значение True, то выполняется блок кода, расположенный после ключевого слова then, в противном случае выполняется или программный код, расположенный после конструкции if-then (в случае отсутствия ветки else), или же код, расположенный после ключевого слова else.

Оператор case

Конструкция case используется для ветвления, когда может существовать более двух возможных результатов условного выражения. Она также имеет синтаксис двух видов:

case выражение of

значение1: блок_кода1;

значениеN: блок_кодаN;

end;

или

case выражение of

значение1: блок_кода1;

значениеN: блок_кодаN;

else блок_кода;

end;

Если результат выражения совпадает со значением1, то выполняется блок_кода1; если со значением2 — 6лок_кода2 и т.д. Если результат выражения не совпадает ни с одним значением, то выполняется блок кода в ветке else, а при ее отсутствии — код после ключевого слова end, завершающего конструкцию case.

Примечание

Результат выражения, который сопоставляется со значениями в ветках конструкции case, может быть только целочисленного или символьного типа.

Циклические конструкции

Для организации циклического выполнения программных блоков в языке Object Pascal используют циклические конструкции трех типов: for-do, while-do и repeat-until. Они отличаются характером начала и завершения цикла.

Конструкция for-do

Синтаксис конструкции for-do для цикла с увеличением значения

счетчика:

for идентификатор_счетчика := начальное_значение to конечное_эначение do блок_кода;

Синтаксис конструкции for-do для цикла с уменьшением значения счетчика:

for идентификатор_счетчика := начальное_значение downto конечное_значение do блок_кода;

Выход из цикла for определяется достижениям некоторого значения специальной переменной, называемой счетчиком цикла. Цикл выполняется как минимум один раз.

Конструкция while-do

Синтаксис конструкции while-do:

while выражение do блок_кода;

Выход из цикла while-do происходит в том случае, если выражение, расположенное между ключевыми словами while и do, дает значение False. Цикл может не выполниться ни одного раза.

Конструкция repeat-until

Синтаксис конструкции repeat-until:

repeat блок_кода until выражение;

Выход из цикла repeat-until происходит в том случае, если выражение, расположенное после ключевого слова until, дает значение True.

Досрочный выход из циклов

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

Обработка исключений

Исключение (exception) — это результат выполнения некорректного оператора, что привело к возникновению ошибки. В языке Object Pascal для обработки исключений предназначена специальная конструкция:

try

 //Операторы, которые могут привести к возникновению исключения

except

 //Операторы, выполняемые в случае возникновения исключения

end;

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

В частности, в блоке except можно обрабатывать исключения в зависимости от их типа с помощью конструкции

except

 on Тип_исключения1 do Блок_операторов1;

 on Тип_исключения2 do Блок_операторов2;

 …

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит