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

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

Жанры

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
рейтинг книги
Зубных дел мастер

Бывшие. Война в академии магии

Берг Александра
2. Измены
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Бывшие. Война в академии магии

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

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

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

Хозяин Теней

Петров Максим Николаевич
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней

Опасная любовь командора

Муратова Ульяна
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Опасная любовь командора

Друд, или Человек в черном

Симмонс Дэн
Фантастика:
социально-философская фантастика
6.80
рейтинг книги
Друд, или Человек в черном

Волхв

Земляной Андрей Борисович
3. Волшебник
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волхв

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Агеева Елена А.
Документальная литература:
публицистика
5.40
рейтинг книги
Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле