4) Определить значение логических выражений при заданных значениях переменных a и b
Начальные присваивания  a=FALSE b=FALSE
Логическое выражение
NOT (a AND b AND (a OR b) OR NOT b (a AND b AND (a OR b) AND b) OR NOT b.
 a AND (b AND a OR a) AND b) OR NOT b.
Это то что я знаю по этому заданию:
() - высший
NOT - пониже
AND - ещё пониже
OR - самый низкий
а толку мало, может вы сможете мно пояснить что с этим делать.
булевские переменные принадлежат к перечисляемым типам
поэтому в паскале можно применить конструкцию for
var a, b :boolean;
begin
  for a:= false to true
    for b:=false to true
      begin
      /* выражение*/
     writeln(result)
     end
end.