Yurijnd.com
Вторник, 08.07.2025, 08:13
Меню сайта

Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Delphi. Pascal
    Урок 4. Операторы ветвления 

    Оператор условия - полная форма Пример
    if условие then if (x>0) and (y>0) then
    оператор 1 begin x:=x+y; y:=0 end
    else else
    оператор 2 begin x:=x-y; y:=-y end
    Оператор условия - неполная форма Пример
    if условие then if x>y then
    оператор x:=x mod y
    Логическая операция Описание операции Приоритет (порядок выполнения операции)
    not Отрицание (НЕ) 1
    and Конъюнкция (И) 2
    or Дизъюнкция (ИЛИ) 3
    xor Сильная дизъюнкция (ИЛИ-ИЛИ) 3
    Логическое отношение (предикат) Описание отношения Приоритет (порядок выполнения операции)
    = Равно 4
    > Больше 4
    < Меньше 4
    <> Не равно 4
    <= Не больше (меньше или равно) 4
    >= Не меньше (больше или равно) 4

     

    К операторам ветвления в Delphi относятся операторы if и case. Оператор if используется тогда, когда у нас есть выбор только из двух вариантов, case - в случае, когда мы имеем множественный выбор.

    Вот пример использования оператора if:

    ...
    var
     k: Integer;
    begin
     { TODO -oUser -cConsole Main : Insert code here }
    
     Readln(k);
     if k>0 Then
     WriteLn('Positiv number') //Число положительное
     else
     WriteLn('Negativ number'); //Число отрицательное
     ReadLn
    end.

    Данный фрагмент выводит на экран ту или иную фразу в зависимости от того, является ли введенное пользователем число положительным или отрицательным.

    Веточку else можно не писать, если по логике программы она вам не нужна.

    Как и в других аналогичных случаях, можно использовать составной оператор, образуемый парой begin - end:

    ...
     if k>0 Then
     begin
     WriteLn('Positiv number');
     k:=0
     end
    ...

     

    Инструкция case

    Вариант 1:

    case Выражение of
    Список1_Констант: begin
    { инструкции } end;
    Список2_Констант: begin
    { инструкции } end;
    СписокJ_Констант: begin
    { инструкции } end;
    end;
    

    Вариант 2:

    case Выражение of
    Список1_Констант: begin
    { инструкции } end;
    Список2_Констант: begin
    { инструкции } end;
    СписокJ_Констант: begin
    { инструкции J} end; else
    begin
    { инструкции }
    end;
    end;
    

    Инструкции между begin и end выполняются, если значение выражения, записанного после case, совпадает с константой из соответствующего списка. Если это не так, то выполняются инструкции, находящиеся после else, между begin и end.

    Примечание: если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

    Следующий пример - на оператор case:

     ...
     Readln(ch); //ch - типа char
     case ch of
     'f':
     WriteLn('woman'); //женщина
     'm':
     WriteLn('man'); //мужчина
     else
     WriteLn('unknown'); //неизвестный
     end;
     ReadLn
     ...

    Указанный фрагмент печатает на экране woman, man если пользователь введет f или m соответственно или unknown, если пользователь введет что-то другое.

    Как и для if, веточку else можно не писать и при необходимости выполнения нескольких операторов в одной из веточек их надо объединять посредством пары begin - end:

     ...
     case ch of
     'f':
     begin
     WriteLn('woman');
     WriteLn('Some text');
     end;
     'm':
     WriteLn('man');
     end;
     ...

    В каждом из вариантов перед двоеточием может стоять несколько значений. Если это отдельные перечисляемые значения, то они разделяются запятой, если же нам надо указать диапазон значений, то мы используем две точки:

    ...
    var
     k: Integer;
    begin
     Readln(k);
     case k of
     1, 2:
     WriteLn('1 or 2');
     3..5:
     WriteLn('3, 4 or 5');
     end;
     ReadLn
    end.
    

    В данном фрагменте если k равно 1 или 2, то напечатается одна надпись, а если от 3 до 5 - то другая.

    Copyright MyCorp © 2025
    Сделать бесплатный сайт с uCoz