Карта сайта

sotau.cbg.ru

Turbo Pascal
Turbo Pascal
Сложные условия

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

Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций:

    not – НЕ (отрицание, инверсия);
    and – И (логическое умножение, конъюнкция, одновременное выполнение условий);
    or – ИЛИ (логическое сложение, дизъюнкция, выполнение хотя бы одного из условий);
    xor – исключающее ИЛИ (выполнение только одного из двух условий, но не обоих).

Простые условия (отношения):

    < (меньше);
    <= (меньше или равно);
    > (больше);
    >= (больше или равно);
    = (равно);
    <> (не равно).

Порядок выполнения (приоритет = старшинство):

    выражения в скобках;
    not;
    and;
    or, xor;
    <, <=, >, >=, =, <>.

Особенность – каждое из простых условий обязательно заключать в скобки.

Пример #1. Истинно или ложно при a := 2; b := 3; c := 4.

         not (a > b) - истинно (верно, выполняется);
         (a < b) and (b < c) - истинно (верно, выполняется);
         not (a >= b) or (c = d) - истинно (верно, выполняется);
         (a < c) or (b < c) and (b < a) - истинно (верно, выполняется);
         (a < b) xor not (b > c) - ложно (не верно, не выполняется). 
        

Пример #2. Для каких значений x истинны условия.

         (x < 6) and (x < 10) - для всех x < 6;
         (x < 6) and (x > 10) - нет таких значений;
         (x > 6) and (x < 10) - для всех х из интервала (6; 10);
         (x > 6) and (x > 10) - для всех х > 10;
         (x < 6) or (x < 10) - для всех х < 10;
         (x < 6) or (x > 10) - для всех x < 6 и для всех x > 10;
         (x > 6) or (x < 10) - х - любое;
         (x > 6) or (x > 10) - для всех х > 6. 
        

Задача #1. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»).

         program qq;   
          var x : integer;   
         begin   
          writeln ('Введите возраст');   
          readln (x);   
          if (x >= 25) and (x <= 40) then writeln ('Подходит') 
           else writeln ('Не подходит');   
         readln;   
         end.
        

    © 2009 - 2024 Acid Ulcer