Читайте также:
|
|
Массивы. Массивом называется упорядоченная индексированная совокупность однотипных элементов, имеющих общее имя. Элементами массива могут быть данные различных типов, включая структурированные. Каждый элемент массива однозначно определяется именем массива и индексом (номером этого элемента в массиве) или индексами, если массив многомерный. Для обращения к отдельному элементу массива указывается имя этого массива и номер (номера) элемента, заключенные в квадратные скобки.
Различают массивы статические и динамические.
Статический массив представляет собой массив, границы индексов и соответственно, размеры которого задаются при объявлении, т. е. Они известны еще до компиляции программы.
Формат описания типа статического массива:
Array [тип индексов] of <тип элементов>;
Динамический массив представляет собой массив, для которого при объявлении указывается только тип его элементов, а размер массива определяется при выполнении программы. В Delphi использование динамических массивов стало возможным, начиная с версии четыре.
Формат описания типа динамического массива:
Array of < тип элементов>;
После задания размера динамического массива для определения его длины, а также минимального и максимального номеров элементов используется функции Length(), Low(), и High(), соответственно. Нумерация элементов динамического массива начинается с нуля, по этому функция Low() для него возвращает значение нуль.
Для описания типа многомерного динамического массива, например двумерного используется конструкция
Array of Array of <тип элементов>;
Множества. Множество представляет собой совокупность элементов, выбранных из заранее определенного набора значений. Все элементы множества принадлежат одному порядковому типу, число элементов в множестве не может превышать 256 символов.
Формат описания множественного типа:
Set of <Тип элементов>;
Переменная множественного типа может содержать любое количество элементов своего множества – от нуля до максимального. Значение множественного типа заключается в квадратные скобки. Пустое множество обозначается как [].
Операции над множествами:
− + - объединение;
− - - разность;
− - пересечение;
− = - эквивалентность;
− - неэквивалентность;
− <= - проверка вхождения;
− >= - проверка включения.
Кроме того, имеется операция In(проверка членства), которая определяет принадлежность выражения порядкового типа (первого операнда) множеству (второму операнду). Результат операции имеет тип Boolean и значение True в случае, если значение принадлежит множеству.
В Delphi множественные типы используются, например, для описания типа кнопок в заголовке окна TborderIcons или типа параметров фильтра TfilterOptionc:
Type TborderIcons = (bi SistemMenu, biMinimize, biMaxsimize, biHelp);
TborderIcons = set of TborderIcon;
Type TfilterOptionc = (foCaseInsensitive, foNoPartialCompare);
TfilterOptionc = set of TfilterOption;
Приведенные описания типов содержатся в исходных модулях Forms и Db, соответсвенно.
Записи. Запись – это совокупность логически связанных компонент различного типа.
Формат описания:
<имя записи>= Record
<имя компонента1>: <тип>;
………………………………
<имя компонента2>:<тип>;
End;
Каждая компонента называется полем. Никаких ограничений на тип полей записи нет. Для получения доступа к компоненте записи используется составное имя. Формат составного имени: <имя записи>.<имя поля>;
Разрешены все операции над множеством. Записи с идентичной структурой можно присваивать друг к другу.
1.2.2.3 Программирование разветвляющихся и циклических процессов
Оператор цикла с параметром. Если заранее известно число повторений цикла, то в программе используется циклы с параметром.
Формат записи:
FOR <переменная>:= <нач значение> TO <кон значение> DO <оператор>;
Переменная называется параметром цикла и должна быть любого скалярного типа кроме вещественного. Начальное и конечное значение определяет границы изменений параметра цикла вместо начального и конечного значения могут стоять выражения тип которых должен совпадать с типом параметра цикла, начальное и конечное значение могут быть также представлены в виде констант и переменных. Цикл с параметром выполняется заданное количество раз, первоначально к переменной присваивается начальное значение, а затем выполняются следующие действия:
− проверяется переменная меньше либо равна конечному значению, если условие ложное то цикл заканчивает свою работу;
− выполняют работу операторы в цикле;
− переменная цикла получает следующие значение, то есть увеличивается на единицу.
Оператор с параметрами обратного цикла.
Формат описания:
FOR <переменная>:= <нач. знач.> DOWNTO <кон. знач.> DO <оператор>;
Принцип работы данного оператора такой же как и у предыдущего с той лишь разницей, что начальное значение уменьшается до конечного значения, то есть значение параметра цикла будет уменьшаться на единицу и будет проверяться условие, переменная больше либо равна конечному значению. Если в теле цикла используется больше одного оператора, то операторы заключаются в операторные скобки.
Оператор цикла с предусловием. Если заранее неизвестно число повторений цикла. А заданно условие окончания или продолжение цикла, то в программе используется цикл с предусловием.
Формат описания:
WHILE <условие> DO <тело цикла>;
WHILE и DO – зарезервированные слова, их менять нельзя.
Условие – это выражение логического типа.
Тело цикла – это произвольно последовательность операторов заключённых в операторные скобки.
В цикле с предусловием проверка условия производится до начала очередной итерации (-это последовательное изменение значение заданной переменной по какому – то закону). Оператор цикла выполняется до тех пор пока условие истинно, если условие ложно то выполняется оператор следующий за оператором WHILE.
Оператор цикла с постусловием. Если заранее неизвестно число повторений цикла. А заданно условие окончания или продолжение цикла, то в программе используется цикл с пост условием.
Формат описания:
REPEAT <тело цикла > UNTIL <условие>;
REPEAT и UNTIL – зарезервированные слова.
Тело цикла – это произвольное последовательность операторов.
Условие – это логическое выражение.
Оператор с постусловием работает следующим образом:
Проверка условия производится, после выполнения тела цикла по этому его называют операторам цикла с постусловием. Оператор цикла работает, пока условие принимает ложное значение. Тело цикла всегда выполняется хотя бы раз. Если условие принимает истинное значение, то оператор цикла прекращает свою работу и управление передаётся следующему за ним оператору.
Условный оператор. В разветвляющихся процессах в зависимости от некоторых условий, проверяемых по ходу вычислений, нужно выполнить либо одно действие, либо другое.
Формат описания:
If <логическое выражение> then <оператор1> [else <оператор2>];
При применении условного оператора нужно соблюдать некоторые синтаксические правила. После служебных слов then и else может присутствовать только один оператор. Если выполняется несколько операторов, то их объединяют в операторные скобки begin…end. Перед then и else не ставится точка с запятой.
Оператор выбора – CASE. Оператор выбора позволяет выбрать одно из нескольких продолжений программы, параметр по которому по которому осуществляется выбор служит ключ программы, то есть выражение любого порядкового типа кроме REAL и STRING.
Формат записи:
CASE <ключ выбора > OF <список выбора > [ELSE <операторы>] END;
CASE, OF, ELSE, END – зарезервированные операторы, их изменить нельзя.
Оператор выбора работает следующим образом:
В начале вычисляет значение выражения – ключ выбора, а затем в последовательности операторов список выбора. Отыскивается такой оператор, которому предшествует константа равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает свою работу, если в списке выбора не будет найдена константа соответствующая значению ключа выбора, то в этом случае выполняются операторы стоящие за словом ELSE, если ELSE у оператора варианта может отсутствовать, тогда в этом случае при отсутствии нужной константы ничего не происходит и оператор выбора завершает сваю работу.
Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора разделённых запятыми.
Дата добавления: 2015-02-22; просмотров: 112 | Поможем написать вашу работу | Нарушение авторских прав |