Условные операторы
Операторы в программе-обработчике событий выполняются в той последовательности, в которой они записаны. Однако достаточно часто требуется изменить порядок выполнения операторов в зависимости от выполнения (или невыполнения) определенного условия.
Выбор одного из альтернативных путей работы программного кода в зависимости от результата проверки какого-либо условия (логического выражения) в Delphiобеспечивают два оператора: условный операторIf и оператор выбораCase.
Условный оператор If существует в двух формах: полной и сокращенной, и схематично может быть изображен следующим образом:
Сокращенная форма | Полная форма |
|
|
Структура условного оператора имеет следующий синтаксис:
Сокращенная форма |
If Лог_выр Then Оператор; |
Полная форма |
If Лог_выр Then Оператор_1 Else Оператор_2; |
Выполнение оператора заключается в следующем: если логическое выражение, записанное после ключевого слова If,принимает значениеTrue, то выполняется оператор после ключевого словаThen, а если оно имеет значениеFalse, то выполняется оператор, следующий за ключевым словомElse, если таковой имеется. Например,
If a=0 Then x:=x+1;
If x < 9 Then b:=’False!’ Else b:=’True!’;
Замечание. Перед Elseточка с запятой не ставится.
Каждый из операторов, входящих в состав условного оператора может быть простым или составным. Кроме того, один условный оператор может входить в состав другого, например:
If Условие_1 Then
If Условие_2 Then Оператор_1
Else Оператор_2
Else Оператор_3;
При вложенности условных операторов каждое Elseсоответствует томуThen, которое непосредственно ему предшествует. Поэтому для наглядности и лучшего восприятия структуры программы, особенно при использовании вложенных операторов, лучше писатьElse под соответствующимТhеn.
Оператор выбора Case. Оператор выбора позволяет обрабатывать в программе несколько условий и аналогичен блоку конструкцийif...Then...Else. Используется он для частичного облегчения программирования задач, в которых содержится большое число различных проверок. Его также удобно применять тогда, когда выполнение одного из многочисленных действий зависит от значения какой-либо переменной. Синтаксис оператора выбораCase:
Case k of
A1: Оператор_1;
A2: Оператор_2;
. . . . . . . .
AN: Оператор_N
[Else Оператор, выполняемый в случае, если значение выражения не попало ни в один из списков констант A1, A2,…,AN]
End;
Замечание. Здесь и далее квадратные скобки служат для обозначения необязательной части в структурах операторов.
Выполнение оператора начинается с вычисления выражения-селектора k, затем полученное значение сравнивается с константамиA1,…,AN(метками ветвей) и выполняется соответствующий оператор.
Выражение-селектор kможет иметь только простой порядковый тип (целый, символьный, логический); константыA1,…,ANдолжны быть того же типа, что и селектор. Если константы представляют диапазон чисел, то вместо списка можно указать первую и последнюю константу диапазона, разделив их двумя точками.
Циклы
Циклические конструкции обеспечивают многократное выполнение одной и той же последовательности операторов для различных значений, входящих в них переменных.
Многократно выполняемые последовательности операторов называют циклами, а изменяющиеся в цикле переменные –переменными цикла.
Алгоритм циклической структуры должен содержать:
Подготовку цикла – задание начальных значений переменных цикла перед первым его выполнением;
Тело цикла – операторы, которые выполняются при различных значениях переменных цикла;
Изменение значений переменных цикла перед его новым повторением;
Управление циклом – проверку условия окончания цикла или перехода на начало тела цикла.
В Delphiдля этой цели существуют два вида элементарных циклических структур:
циклы с параметром;
циклы с условием.
Циклы с параметром. Если количество повторов тела цикла заранее известно, то обычно используют так называемые циклы с параметром.
Схематично такой цикл может быть изображен следующим образом:
| Циклы с параметром реализуются с помощью оператора For. Он может быть представлен в двух форматах: ForСчетчик:=S1ToS2DoТело цикла; ForСчетчик:=S1DownToS2DoТело цикла; где Счетчик – параметр цикла порядкового типа (целого, символьного, логического, и т.п.);S1 и S2– выражения, определяющие начальное и конечное значение параметра цикла;Тело цикла– простой или составной оператор. Цикл повторяется пока значение параметра цикла лежит в интервале [S1,S2], причем эти выраженияS1 и S2вычисляются только один раз в начале цикла. Необходимо, чтобы параметр цикла, начальное и конечное значения были одного типа. Этот тип не может быть вещественным. В первом варианте при каждом повторении цикла значение параметра цикла увеличивается на 1, во втором – уменьшается на 1. Если начальное значение параметра цикла превышает конечное значение, при шаге цикла равным 1, то тело цикла ни разу не будет выполнено. |
Циклы с условиемиспользуются тогда, когда число повторений тела цикла заранее неизвестно, но задано условие окончания цикла. Причем, если условие окончания цикла проверяется перед выполнением тела цикла, то такие циклические структуры называют цикламис предусловием(«Выполнять пока»), а если проверка условия происходит после выполнения тела цикла – цикламис постусловием(«Выполнять до тех пор, пока»).
На практике циклы с условием чаще всего используют в двух случаях:
Число повторений заранее неизвестно (например, цикл до достижения требуемой точности результата).
Число повторений заранее известно, но шаг параметра цикла не равен 1 (или –1).
Циклы с предусловием | |
Схематично изображаются следующим образом:
| Реализуются с помощью оператора While Формат оператора цикла с предусловием While:
WhileУсловиеDoТело цикла;
Тело цикла может быть простым или составным оператором. Значение логического выражения в условии вычисляется перед каждым выполнением тела цикла. Если значение истинно, то тело цикла выполняется и снова вычисляется выражение условия. Если результат имеет ложное значение, происходит выход из цикла. |
Циклы с постусловием | |
Схематично изображаются следующим образом:
| Реализуются с помощью оператора Repeat … Until. Формат оператора цикла с постусловием Repeat … Until: Repeat… Тело цикла UntilУсловие;
Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если значение логического выражения ложно, тело цикла выполняется еще раз, если истинно – происходит выход из цикла. Тело цикла с постусловием выполняется всегда хотя бы один раз. |
Замечание 1. Чтобы циклы с предусловием и постусловием успешно завершился необходимо, чтобы в теле цикла был хотя бы один оператор, изменяющий значения, входящих в логическое выражение переменных.
Замечание 2. При использовании цикла с постусловием нет необходимости в операторных скобках.
- Основные понятия объектно-ориентированного программирования
- Объекты
- Классы объектов
- Три основных принципа ооп
- Событийный механизм управления
- Структура приложения разработанного с использованием ооп
- Этапы создания приложений
- Интегрированная среда разработки приложений
- Структура проекта Delphi
- Общая организация программы в Delphi
- Структура главного файла проекта *.Dpr
- Структура модуля приложения Delphi *.Pas
- Структура событийной процедуры
- Создание, компиляция и сохранение проекта
- Основные общие свойства компонентов Delphi
- Основные общие методы объектов Delphi
- Основные события объектов Delphi
- События инициируемые мышью
- События инициируемые клавиатурой
- События инициируемые для компонентов
- Краткая характеристика компонентов, используемых при создании простых приложений
- Основы программирования вDelphi
- Основные элементы алгоритмического языка
- Алфавит языка
- Константы и переменные
- Типы данных
- Скалярные, стандартные типы данных
- Пользовательские скалярные типы данных
- Выражения и операции
- Арифметические выражения
- Логические выражения
- Строковые выражения
- Стандартные подпрограммы
- Операторы
- Простые операторы
- Структурные операторы
- Составной оператор
- Условные операторы
- Организация ввода-вывода данных
- Подпрограммы пользователя
- Пользовательские процедуры
- Пользовательские функции
- Структурированные типы данных Массивы
- Описание массивов
- Операции над строками
- Текстовые файлы
- Открытие текстового файла
- Процедуры для открытия текстовых файлов
- Обработка текстовых файлов
- Функции работы с файлами
- Закрытие файла
- Пакеты прикладных программ
- Обработка текстовых данных Текстовые редакторы и текстовые процессоры
- Основные понятия текстового процессора
- Режим вставки и замены символов
- Копирование, перемещение и удаление текста
- Копирование и перемещение фрагментов текста
- Удаление текста
- Операция откатки
- Форматирование текста
- Работа с окнами
- Перемещение текста в окне
- Минимальный набор типовых операций при работе с текстом
- Расширенный набор типовых операций
- Обзор некоторых операций
- Режимы отображения документов
- Масштаб отображения документа
- Форматы текстовых файлов
- Автоматизация ввода информации в компьютер
- Сканеры для ввода текстов и иллюстраций:
- Программы оптического распознавания текстов
- Автоматический перевод документов
- Работа с гипертекстовыми документами
- Обработка числовых данных Электронные таблицы
- Основные понятия эт
- Типовая структура интерфейса эт
- Типы входных данных эт
- Форматирование в эт
- Формулы
- Функции
- Относительная и абсолютная адресация
- Правило относительной ориентации клетки
- Копирование формул
- Перемещение формул
- Режимы работы табличного процессора
- Основные группы команд
- Диаграммы
- Функции в Excel
- Математические и статистические функции
- Логические функции
- Работа с матричными объектами: векторы, матрицы и массивы
- Основные операции с матрицами
- Использования функций поиска для поиска значений в таблицах и связи между таблицами
- Аналитические методы обработки числовых данных
- Математические пакеты как инструмент обработки числовых данных
- Обзор некоторых математических пакетов
- Обработка графических данных Компьютерная графика
- Виды компьютерной графики
- Растровая графика
- Векторная графика
- Математические основы векторной графики
- Соотношение между векторной и растровой графикой
- Фрактальная графика
- Основные понятия компьютерной графики Разрешение изображения и его размер
- Цветовое разрешение и цветовые модели
- Цветовая модель rgb
- Цветовая модель cmyk
- Цветовая модель hsb
- Преобразование между моделями
- Коротко о главном
- Классы программ для работы с растровой графикой
- Коротко о главном
- Основные редакторы векторной графики
- Основные понятия векторной графики
- Свойства объектов векторной графики
- Коротко о главном
- Информационно-поисковые системы и их классификация
- Информационные единицы баз данных
- Модели данных
- Классификация баз данных
- Этапы проектирования баз данных
- Нормализация таблиц при проектировании базы данных
- Субд Microsoft Access
- Свойства полей базы данных Access
- Типы данных Access
- Объекты базы данных
- Компьютерные сети
- Основные характеристики и классификация компьютерных сетей
- Основные характеристики сетей
- Топология сетей Физическая передающая среда лвс
- Основные топологии лвс
- Архитектуры сетей
- Модель взаимосвязи открытых систем
- Сетевое оборудование
- Глобальная компьютерная сеть Internet История развития Internet
- Структура и принципы работы Интернет
- Адресация в Интернет
- Базовые протоколы Интернет
- Прикладные протоколы и службы Интернет
- Унифицированный указатель ресурса Интернет (url)
- Соединение с провайдером
- Сервисы Интернет world-wide-web (Всемирная информационная сеть)
- Электронная почта e-mail
- Телеконференции
- Icq (от англ. I Seek You – я ищу тебя)
- Поиск информации в Интернет
- Сетевой этикет
- Методы защиты информации и сведений, составляющих государственную тайну
- Компьютерные вирусы и их классификация
- Средства защиты от вирусов
- Разработка политики информационной безопасности
- Технические, организационные и программные средства обеспечения сохранности и защиты от несанкционированного доступа
- Криптография