Выражение – это правило вычисления значения. В выражении участвуют операнды, объединенные знаками операций. Операндами выражения могут быть константы, переменные и вызовы функций. Операции выполняются в определенном порядке в соответствии с приоритетами, как и в математике. Функции, используемые в выражении, выполняются в первую очередь. Константы и переменные являются частными случаями выражения.
Приоритеты логических операций и операций отношения:
- not;
- and;
- or, xor;
- =, <, >, <>, <=, >=.
Для изменения порядка выполнения операций используются круглые скобки, уровень их вложенности не ограничен.
Результатом выражения всегда является значение определенного типа, который определяется типами операндов. Величины, участвующие в выражении, должны быть совместимых типов.
Значением выражения логического типа может быть одна из констант: FALSE (ложь), TRUE (истина). Для них справедливы правила: ord(false)=0; ord(true)=1; false<true; succ(false)=true; pred(true)=false.
Примеры выражений:
- t + sin(x)/2*x – результат имеет вещественный тип;
- a<=b+2 – результат имеет логический тип;
- (x>0) and (y<0) – результат имеет логический тип.
Определите порядок действий в указанных выше выражениях.
Задание 1.
- Вычисли значение выражения (a < d) and (x + a < d) or (c < m) or g, если
- Записать приведенные высказывания в виде выражений.
a=2,4; d=7,8; c=-17,9; m=5; g=true; x=18,7.
- a I (0; 8);
- a I [-1; 6];
- значение переменной а принадлежит одному из отрезков [-4; 5], [0; 3], [1,2; 7].
Геометрическое место точек (ГМТ) – фигура речи в математике, употребляемая для определения геометрической фигуры как множества точек, обладающих некоторым свойством.
Пример 1.
Принадлежит ли точка A(x, y) закрашенной области, изображенной на рисунке 1 (включая границы)?
Записать выражение, значение которого зависит от координат точки х и у. Значение выражения равно true, если точка принадлежит закрашенной области и false, если точка не принадлежит закрашенной области. Составить программу.
Рисунок 1 Решение.
Точки, принадлежащие закрашенной области, обладают следующими свойствами:
- располагаются внутри окружности радиуса 1, с центром в начале координат, уравнение которой имеет вид: х2+у2=1;
- х>=0;
- y>=0.
Программа может быть составлена так:
program oblast1;
var
x, y: real;
begin
write(‘x=’); readln(x);
write(‘y=’); readln(y);
writeln((x>=0) and (y>=0) and (sqr(x)+sqr(y)<=1));
readln;
end.
Задание 2: изобразить в декартовой прямоугольной системе координат область, в которой истинно данное логическое выражение. Составить программу для определения принадлежности данной области точки A( x, y ).
- ( y >= -x + 1 ) and ( y >= x + 1 ) and ( y <=-x – 1) and (y < =x -1) and ( x 2 +y 2 <=1).
- ( x 2 +y 2 <= 2 ) and ( y >= x ) and ( y >= -x ).
- ( x >= -1) and ( x <= 0 ) and ( y >= -2 ) and ( y <= -x ) or ( x >= 0 ) and ( x <=1 ) and ( y >= -2) and ( y <= x ).
- (¦y¦<=1) and (¦x¦<=2).
Задание 3: написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом (включая границы). Результат работы вывести в виде текстового сообщения.
a) Рисунок 2
b) Рисунок 3
Ответы.
Задание 1.
- (2,4 < 7,8) and (18,7 + 2,5 < 7,8) or (-17,9 < 5) or true. Значение данного логического выражения – истина.
- Логические выражения:
- (0<a) and (a<8);
- (a<-1) or (a>6);
- (-4<=a) and (a<=5) or (0<=a) and (a<=3) or (1,2<=a) and (a<=7).
Задание 2.
1. Рисунок 4
2. Рисунок 5
3. Рисунок 6
4. Рисунок 7
Задание 3.
а) program oblast2;
var
x,y,r:real;
b:boolean;
begin
write('x=');readln(x);
write('y=');readln(y);
write('r=');readln(r);
b:=(sqr(x)+sqr(y)<=sqr(r)) and ((y>=-x) or (y<=x));
if b=true
then writeln('принадлежит')
else writeln('не принадлежит');
readln;
end.
b) program oblast3;
var
x,y,r1,r2:real;
b:boolean;
begin
write('x=');readln(x);
write('y=');readln(y);
write('r1=');readln(r1);
write('r2=');readln(r2);
b:=(sqr(x)+sqr(y)<=sqr(r1)) and (sqr(x)+sqr(y)>=sqr(r2));
if b=true
then writeln(' принадлежит ')
else writeln('не принадлежит');
readln;
end.
Список используемой литературы:
- Павловская Т.А. Паскаль. Программирование на языке высокого уровня. Учебник для вузов – СПб. Питер, 2004.
- Васюкова Н.Д., Тюляева В.В. Практикум по основам программирования. Язык Паскаль: Учеб. Пособие для учащихся средних специальных заведений, – М.: Высш. шк., 1991.