Приоритет операций. Логический тип

Приоритет операций

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

not.
*, /, div, mod, and, shl, shr.
+, –, or, xor.
=, <>, >, <, >=, <=.

Для изменения направления вычислений используются круглые скобки. Составим программу демонстрирующую приоритет операций:

uses
	crt;
var
	a,b:integer;
begin
	clrscr;
	write('a = '); readln(a);
	write('b = '); readln(b);
	writeln('Вычисляем выражение a + b * 3 / 2');
	write('= >');
	readkey;
	writeln(a + b * 3 / 2 :2:0);
	writeln('Вычисляем выражение (a + b) * 3 / 2');
	write('= >');
	readkey;
	writeln((a + b) * 3 / 2 :2:0);
	writeln('Вычисляем выражение (a + b * 3) / 2');
	write('= >');
	readkey;
	writeln((a + b * 3) / 2 :2:0);
	writeln('Вычисляем выражение a + (b * 3) / 2');
	write('= >');
	readkey;
	writeln(a + (b * 3) / 2 :2:0);
end.

Вывод программы:

a = 2
b = 2
Вычисляем выражение a + b * 3 / 2
= > 5
Вычисляем выражение (a + b) * 3 / 2
= > 6
Вычисляем выражение (a + b * 3) / 2
= > 4
Вычисляем выражение a + (b * 3) / 2
= > 5

Обратите внимание, что выражение a + b * 3 / 2 и a + (b * 3) / 2 возвращают, как и следовало ожидать, один и тот же результат.

Логический тип

В Pascal существует логический тип данных. Для описания логической переменной введен тип boolean. Логическая переменная может содержать два значения: true и false. Логическая переменная может принимать возвращаемое логическое значение логической функции (например, keypressed, см.) или результат операции отношения. Логического типа могут быть и другие данные и типы: константы, массивы, пользовательские типы. Составим программу демонстрирующую использование логического типа.
Boolean6. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Справедливо двойное неравенство A < B < C». [code lang="pascal"] uses crt; var a,b,c:integer; d:boolean; begin clrscr; write('a = '); readln(a); write('b = '); readln(b); write('c = '); readln(c); d := (b > a) and (b < c); writeln(d); end. [/code] Тестовый пример:

a = 5
b = 6
c = 7
TRUE

a = 9
b = 5
c = 1
FALSE

Примеры использования логического типа.

Print Friendly, PDF & Email

Добавить комментарий