Главная страница
Навигация по странице:

  • Листинг

  • реферат Простые операторы. Характеристика форм.docx. Лр операторы и выражения Delphi


    Скачать 1.3 Mb.
    НазваниеЛр операторы и выражения Delphi
    Дата17.04.2023
    Размер1.3 Mb.
    Формат файлаdoc
    Имя файлареферат Простые операторы. Характеристика форм.docx.doc
    ТипПрограмма
    #1067638
    страница8 из 26
    1   ...   4   5   6   7   8   9   10   11   ...   26

    ЛР 2. Структурные типы


    Для хранения и обработки данных каждой из программ требуются помощники: в простейшем случае переменные и константы, а при проектировании сложных приложений — структуры. От умения программиста подобрать наиболее подходящую структуру зависит половина успеха.

    Различают следующие основные разновидности структурных типов:

    • множества;

    • записи;

    • массивы;

    • файлы;

    • классы;

    • указатели на классы.



    Множества


    Множество представляет собой коллекцию однотипных значений, в состав которой могут одновременно входить все значения, часть значений или ни одного значения (пустое множество). Язык Delphi предлагает несколько способов объявления множеств (листинг 2.1).


    Листинг 2.1. Способы объявления множеств




    type TWeekDaysSet = set of (Mo, Tu, We, Th, Fr, St, Su); type TByteSet = set of Byte; //множество от 0 до 255 type TTeenSet= set of 1..10; //множество от 1 до 10
    type TMyRange=60..100; //пока это не множество, а диапазон

    type TMyRangeSet= set of TMyRange; //множество от 60 до 100
    Внимание!

    Элементы множества представляют собой целые числа и не могут принимать значения меньше нуля.
    Если множество содержит всего три элемента, то общее количество возможных комбинаций составляет 23 = 8. Зарезервированное слово Set способно определять множество размером до 256 элементов. Возведите 2 в степень 256 и получите 1,1579208923731619542357098500869 1077 вариантов. На практике такое количества вариаций вряд ли когда понадобится, поэтому старайтесь объявлять множества разумного размера.

    А теперь предложим несколько строк кода (листинг 2.2), демонстрирующих работу с множествами.


    Листинг 2.2. Управление элементами множества




    type TFlagsSet = set of (Flag1, Flag2, Flag3);

    ...

    var Flags : TFlagsSet;

    begin

    Flags:=[]; //[0,0,0] - полностью очистили множество Flags:=[TFlagsSet.Flag1]; //[1,0,0] - включили 1-й элемент Flags:=Flags+[TFlagsSet.Flag3]; //[1,0,1]- добавили 3-й элемент Flags:=Flags-[TFlagsSet.Flag1]; //[0,0,1]- отключили 1-й элемент

    Flags:=[TFlagsSet.Flag1, TFlagsSet.Flag2, TFlagsSet.Flag3];

    {[1,1,1] включили все три элемента}

    ...

    end;
    Для проверки, включен ли элемент во множество, применяют оператор in.

    If (Flag2 in Flags) then <операция1> else <операция2>;

    Множества Delphi поддерживают все стандартные операции, применимые к математическим множествам. В первую очередь это операции сложения и вычитания.

    [Flag1, Flag2]+[Flag3] = [Flag1, Flag2, Flag3] [Flag1, Flag2, Flag3]-[Flag2, Flag3] = [Flag1]

    Еще одна очень важная для множеств операция пересечения позволяет вычислить общие для двух множеств элементы:

    [Flag1, Flag2]*[ Flag2, Flag3] = [Flag2]

    Если определены два однотипных множества, то между ними вполне допустимы операции сравнения (<=, >=, =, <>). В операциях сравнения множество X меньше или равно множеству Y (выражение (X<=Y)=True), если каждый элемент множества X является членом множества Y. Множество X равно множеству Y (выражение (X=Y)=True) в случае, если все элементы множества X точно соответствуют элементам Y. Множество X неравно Y (выражение (X<>Y)=True), если хотя бы один элемент множества X отсутствует во множестве Y.

    1   ...   4   5   6   7   8   9   10   11   ...   26


    написать администратору сайта