Логические выражения строятся из логических (булевых) данных, логических операций (OR, AND, NOT) и операций отношений.
В операциях отношений могут участвовать арифметические и логические выражения, а также символьные данные.
Результатом логического выражения является значение True или False.
Приоритет операций в логических выражениях следующий:
1) NOT
2) * , /, Div, Mod, AND
3) +, -, OR
4) <, <=, >, >=, =, <>.
Внутри каждой группы приоритет равный. В логических выражениях допускается использование только круглых скобок. Сначала выполняются действия в скобках, начиная с самых внутренних.
В круглые скобки обязательно заключаются части выражения, стоящие слева и справа от логических операций AND и OR.
Примеры логических выражений:
A<=B; Not a =b; (a<b) and (b<c);
Контрольные вопросы:
2. Какие записи являются выражениями в Паскале:
1) 5 ,
2) sin(x) ,
3) y ,
4) 5+y*sin(x) .
3. Почему нельзя опускать знак умножения?
4. Запишите по правилам алгоритмического языка выражения:
1.
2.
3.
4.
5.
6.
7.
8.
9.
5. Какие круглые скобки в приведенных выражениях можно снять, не изменив значения этих выражений:
7. Перечислите правила вычисления значения выражения.
8. Для чего нужны скобки в арифметическом выражении? Можно ли обойтись без скобок при записи произвольного выражения? Можно ли обойтись без скобок при записи выражения: (2+a)*(3-b)?
9. Запишите в общепринятой форме следующие выражения Паскаля:
2) Ниже приводятся выражения, записанные в общепринятой форме, справа от которых даны выражения, записанные по правилам Паскаля. Установите, в каких случаях выражение, стоящее справа, является эквивалентом своего левого соседа, или укажите ошибки в записи:
1) (b+sqrt(sqr(b)-4*a*c))/2*a;
2) cos2x sqrt(cos(x));
3) ((a/c)*b)/d;
4) sin(x)+cos(y/2);
5) x+1/y+1;
6) sin(x+y/2);
7) a+sin(x)/sqrt(sqr(a)+sqr(x)+1);
8) 2exp(-abs(x+y)/(sqr(x)+y*y);
9) sqr(sin(x))/(y1+0,5);
Литература:
1. О.Л. Голицына, И.И. Попов , Основы алгоритмизации и программирования 93-98;