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

  • Листинг

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


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

    Оператор-селектор case


    Логическим развитием условного оператора if..then стал оператор-селектор case. Основное преимущество case над своим "коллегой" в том, что он обладает большей наглядностью, чем группа операторов if..then.

    Оператор включает селектор и одну или несколько констант выбора. На роль селектора могут претендовать все типы данных, между которыми существуют отношения порядка (например, целочисленные byte, word, integer) и строковый тип данных. В качестве селектора допустимо применять не только переменную, но и выражение или функцию, но при соблюдении единственного условия — выражение (функция) должно возвращать значение порядкового типа.

    case <селектор> of

    <константа1> : <Выражение1>;

    <константа2> : <Выражение2>;

    <константа3> : <Выражение3>;

    else <Выражение4>;

    end;

    Оператор case осуществляет проверку на равенство значений селектора и констант оператора. В случае если значение селектора совпадает со значением константы, то выполняется соответствующее константе выражение (листинг 1.9).


    Листинг 1.9. Пример обращения к оператору case




    type String866 = type AnsiString(866);

    var X,Y,Z:real; op:char;

    begin

    WriteLn('X='); ReadLn(X);

    WriteLn(String866('Выбери операцию [+ или - или / или *]'));
    ReadLn(op); WriteLn('Y='); ReadLn(Y);

    Case op of

    '+': Z:=X+Y;

    '-': Z:=X-Y;

    '/': if Y<>0 then Z:=X/Y else WriteLn(String866('Ошибка!')); '*': Z:=X*Y;

    else WriteLn(op,String866(' - недопустимая операция!'));

    end; WriteLn(X,op,Y,'=',Z); ReadLn;

    end.
    Предложенный листинг представляет собой реализацию простейшего калькулятора, осуществляющего одну из основных математических операций над двумя значениями. Обратите внимание на то, как мы защитили программу от вероятной ошибки деления на 0: для этого мы воспользовались помощью условного оператора if..then, разрешающего операцию деления только при условии, если знаменатель не равен нулю.

    Функционал секции else внутри селектора case аналогичен задачам оператора else в if..then..else. Если селектору не соответствует ни одна из констант, то будет выполнен оператор, следующий за словом else. Если же в конструкции отсутствует ключевое слово else, то выполнению подлежит следующая за оператором строка кода.

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


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