Модуль: Вложенный условный оператор. Сложные условия


Задача

2/14

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

Теория Нажмите, чтобы прочитать/скрыть

Предыдущую задачу можно решить более коротким способом, используя сложные условия. 

Давайте разберемся, что такое СЛОЖНЫЕ УСЛОВИЯ

Простейшие условия состоят из одного отношения (больше, меньше и т.п.) Но иногда необходимо объединение простых условий в более сложные, например: на улице холодно и идет дождь. Два простых условия (на улице холодно), (на улице идет дождь) здесь связаны связкой И.

СЛОЖНОЕ УСЛОВИЕ - состоит из двух или нескольких простых отношений (условий), которые объединяются с помощью логических операций
  И - логическое умножение - на языке Pascal записывается как and
  ИЛИ - логчиеское сложение - на языке Pascal записывается как or
  НЕ - логчиеское отрицание - на языке Pascal записывается как not

Операция И - требует одновременное выполнение двух условий
  условие 1 and условие 2   - будет принимать истинное значение, только если оба простых условия истинны одновременно
причем, в языке программирования Pascal - если условие 1 ложно, то условие 2 проверяться не будет

Операция ИЛИ - требует выполнение хотя бы одного из условий
  условие 1 or  условие 2   - будет принимать ложное значение, только если оба простых условия ложны одновременно
причем, в языке программирования Pascal - если условие 1 истинно, то условие 2 проверяться не будет

Операция НЕ 
 not условие 1 - будет принимать ложное значение, условие 1 истинно и наоборот
Например, следующие два условия равносильны:   A > B     и    not (A <= B)

ПРИОРИТЕТ ВЫПОЛНЕНИЯ ЛОГИЧЕСКИХ ОПЕРАЦИЙ И ОТНОШЕНИЙ
1) операции в скобках
2) операция НЕ
3) операция И
4) операция ИЛИ
5) логические отношений >, <, >=, <=, =, <>
Для изменения порядка действий используются круглые скобки

ЛОГИЧЕСКИЕ ПЕРЕМЕННЫЕ
Во многих языках программирования есть возможность использовать переменные, которые хранят логические значения ("истина"/"ложь"). В Pascal такие переменные могут принимать значения True (истина) или False (ложь). Например, фрагмент программы 

var a, b: boolean;
begin
  a := True;
  b := False;
  writeln(a or b);
end.

Выведет на экран True
Логические переменные относятся к типу boolean, названному в честь английского математика Джорджа Буля - создателя алгебры логики.

Задача

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

В 4й строке программы вместо знака подчеркивания (_) поставьте нужную логическую связку.