Здесь a - булевское (логическое) выражение; p1,p2 - операторы.
Булевское выражение может принимать одно из двух значений: true (истина) либо false (ложь).
Простейшими логическими выражениями являются выражения отношения:
a1 op a2.
Здесь a1, a2 - выражения, а op - операция отношения (=, <>, <, >, <=, и т.д.).
К булевским данных применимые логические операции and, or, not, xor. Булевское выражение определяет условие в операторе if, истинность которой ведет к выполнению оператора p1, а ложность - выполнение оператора p2.
Например:
if (X>5) and (Y<=10)
then
Z:=8
else
Z:= X+4;
Конструкции else р2 может отсутствовать.
Примеры выполнение задания лабораторной работы
Пример 1. Вычислить y = 2cos2x, где x=2lna; a=6,7.
Порядок работы:
Шаг 1. Вводим a.
Шаг 2. Вычисляем x = 2lna.
Шаг 3. Вычисляем y = 2cos2x.
Шаг 4. Печатаем x, y.
Шаг 5. Останов.
Блок-схема
Пример 2.Составить программу для вычисления функции
,
где b = x(arctgy + e-x+3); x = 4,2; y = 1,7.
Паскаль - программа для данного примера имеет вид
program pr2;
var x,y,a,b,c,d:real;
begin
x:=4.2; y:=1.7;
b:=x*(arctan(y)+exp(-x+3));
c:=sqrt(abs(x-1))-exp(ln(abs(b))/3);
d:=1+sqr(x)/2+sqr(sqr(y))/5;
a:=c/d;
writeln(‘ b=‘,b,’ a=‘,a)
End.
Пример 3.Треугольник задан длинами сторон. Найти радиусы вписанной и описанной окружностей.
Если стороны треугольника обозначить через а,b,c, полупериметр через р, а площадь через s, то можем записать:
.
Паскаль-программа для данного примера имеет вид
program pr3;
uses crt;
var a,b,c,p,s,rb,rm:real;
z:char;
begin clrscr;
WRITE('ВВЕДИ СТОРОНЫ ТРЕУГОЛЬНИКА: ');
readln(a,b,c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
rm:=s/p;
rb:=a*b*c/(4*s);
writeln(‘ a= ‘,a,‘ b= ‘,b,’ c= ‘,c);
writeln(‘ rm= ‘,rm,‘ rb= ‘,rb);
z:=readkey
end.
Пример 4. Вычислить корни квадратного уравнения
ax2 + bx + c = 0
при условии d = b2-4ac ³ 0 по формуле
.
В противном случае, то есть при d<0, предусмотреть вывод сообщения «Действительных корней нет».
Порядок работы:
Шаг 1. Вводим a, b, c.
Шаг 2. Вычисляем d = b2-4ac.
Блок-схема
Шаг 3. Если d<0, выводим сообщения «Действительных корней нет», останов.
Шаг 4. Вычисляем
.
Шаг 5. Выводим x1, x2.
Шаг 6. Останов.
Пример 5.Дано действительное число x. Составить программу для вычисления функции f(x), если
Программа вычисления f(x) имеет вид
program pr5_1;
uses crt;
var x,y:real; k:char;
begin clrscr;
write('x ? '); readln(x);
if x<=0 then
y:=sqr(x)*x
else
if (x>0) and (x<=2) then
y:=sqr(x)+4*x+5
else
y:=sqr(x)-sin(pi*x*x/3);
writeln(' x= ',x:5:1,' y = ',y:5:1);
k:=readkey
end.
или
program pr5_2;
uses crt;
var x,y:real; k:char;
begin clrscr;
write('x ? '); readln(x);
if x<=0 then y:=sqr(x)*x;
if (x>0) and (x<=2) then y:=sqr(x)+4*x+5;
if x>2 then y:=sqr(x)-sin(pi*x*x/3);
writeln(' x= ',x:5:1,' y = ',y:5:1);
k:=readkey
end.
Пример 6.Пусть D - заштрихованная часть плоскости (рис. 1). Функция U определяется по х и y следующим образом:
Даны два числа x,y. Составить программу для вычисления значения U.
Для описания участка D составим уравнения линий, которые ограничивают часть плоскости. Получим:
1) уравнение линии 1 x=-1;
2) уравнение линии 2 x2+y2=1;
3) уравнение линии 3 определим из общего уравнения прямой. Для этого подставим к уравнению прямой y=ax+b координаты двух точек (-1;1) и (1;0). Решив полученную систему линейных уравнений, найдем уравнения линии 3: y=-0,5x+0,5.
Спланируем участок D на две подобласти: A, что лежит ниже оси OX, и B, что лежит выше оси OX. Тогда подобласть A можно описать системой неравенств:
x2+y2£1; y£0,
а подобласть B - системой неравенств:
y £ 0,5x +0,5; x ³ -1; y ³ 0.
Участок D определится как сумма подобластей A и B. Тогда программа вычисления U приобретет вид