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

  • Таблица

  • Оператор Операция Результат

  • Листинг

  • Условный

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


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

    Операторы множеств


    В составе Delphi предусмотрен ряд операторов, позволяющих осуществлять операции над однотипными множествами (табл. 1.4).

    Таблица1.4.Операторымножеств


    Оператор

    Операция

    Результат

    +

    Объединение

    Новое множество

    -

    Разность

    *

    Пересечение

    <=

    Подмножество

    Логическое значение

    >=

    Надмножество

    =

    Равенство

    <>

    Неравенство

    in

    Членство


    Порядок осуществления операций с множествами демонстрирует листинг 1.5.


    Листинг 1.5. Демонстрация операций с множествами




    type TWeekDay = set of (Mo, Tu, We, Th, Fr, St, Su);
    var WD1,WD2,WD3: TWeekDay;

    begin

    WD1:=[Mo]; // присваивание, результат WD1=[Mo] WD2:=WD1+[Tu,We]; // объединение, результат WD2=[Mo, Tu, We] WD3:=WD2-WD1-[Tu];// вычитание, результат WD3=[We] WD3:=[]; // пустое множество, результат WD3=[] WD1:=[Mo,Su];

    // пересечение

    WD3:=WD1*[Mo, Tu, We, Th, Fr, St, Su]; // результат WD3=[Mo, Su]

    if WD1<>WD2 then begin//проверка неравенства

    //...

    end;

    if Mo in WD1 then begin//проверка членства

    //...

    end;

    end.
    Составной оператор begin..end

    Вне зависимости от назначения разрабатываемого приложения программисту не обойтись без составного оператора begin..end. Задача оператора — указание начала и конца программного блока. Характерным примером подобного блока является создаваемый по умолчанию каркас кода консольного приложения, здесь весь исполняемый код заносится вовнутрь begin..end.

    Выражения, заключенные в рамки составного оператора, могут рассматриваться компилятором как составной оператор, подлежащий выполнению как единое целое. С одним из примеров использования составного оператора вы столкнетесь буквально на следующей странице (см. листинг 1.7).

    Условный оператор if..then..else

    Условные операторы позволяют осуществлять выбор операции во время выполнения программы. В простейшем случае синтаксис команды выглядит следующим образом:

    if <логическоевыражение= true> then <выражение>;

    Операция подлежит выполнению только при условии, что логическое выражение истинно (возвращает true). Предусмотрен еще один, расширенный вариант применения условного оператора:

    if <логическоевыражение= true> then <выражение1> else <выражение2>;

    В последнем случае мы осуществляем выбор между двумя выражениями. При соблюдении условия выполняется первая операция, в противном случае управление передается второй операции. Оба варианта применения условного оператора if представлены на рис. 1.1 в виде фрагментов блок-схем.



    docshapegroup10 docshapegroup16 if .. then

    if .. then .. else


    docshapegroup27 docshapegroup29 docshapegroup31 Рис. 1.1. Фрагмент блок-схемы if..then и if..then..else
    Простейший пример работы с условным оператором представлен в листинге 1.6. Если A превышает 15, то в переменную B передается произведение переменной A на 15, в противном случае результатом окажется значение A-3.


    Листинг 1.6. Демонстрация оператора if..then..else




    If A>15 then B:=A*15

    else B:=A-2;
    В листинге 1.7 предложен более сложный фрагмент кода, демонстрирующий порядок работы с условным оператором. В нашем примере мы осуществляем расчет площади квадрата или круга.


    Листинг 1.7. Совместная работа if..then..else с оператором begin..end




    var S:Char;

    X,Y:Double;

    begin

    WriteLn('Calculation area: "S" - square, "C" - circle'); ReadLn(S); //пользователь вводит символ "S" или "C"

    if S='S' then begin

    WriteLn('The side of square=?'); ReadLn(X);

    Y:=X*X;

    WriteLn('Area=',Y);

    end else if s='C' then

    begin


    WriteLn('Radius=?'); ReadLn(X); Y:=pi*X*X; WriteLn('Area=',Y);

    end else WriteLn('Wrong symbol!'); ReadLn;

    end.
    Выбор фигуры осуществляется пользователем нажатием определенной символьной клавиши, расчет площади квадрата инициирует символ "S", а круга — "C". Если пользователь ввел любой другой символ, то программа уведомляет его об этом надписью "Wrong symbol!" (неверный символ).
    Замечание

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

    Условный оператор может обслуживать достаточно сложные логические выражения, в состав которых входят булевы операторы из табл. 1.3. Один из примеров сложного условия вы обнаружите в листинге 1.8.


    Листинг 1.8. Составное логическое условие в операторе if..then




    if (A>15) and ((B=0) or (B=1)) then ...
    Условный оператор даст разрешение на выполнение только в случае, когда в A хранится значение, превышающее 15, и в переменной B находится число равное 0 или 1.

    1   2   3   4   5   6   7   8   9   ...   26


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