Var x,y:real; begin Write('Введите координаты x и y точки: '); Readln(x,y); Write('Точка с указанными координатами '); if not ((y<=x) and (x<=2) and ((sqr(x)+sqr(y))>=4) and (y>=0)) then Write('не '); Writeln('принадлежит заштрихованной области.') end.
Примеры выполнения программы: Введите координаты x и y точки: 1.9 2.1 Точка с указанными координатами не принадлежит заштрихованной области.
Введите координаты x и y точки: 1.9 1.82 Точка с указанными координатами принадлежит заштрихованной области.
Введите координаты x и y точки: 1 -3 Точка с указанными координатами не принадлежит заштрихованной области.
Дурацкая по своей трудоемкости задача, если делать её вручную. А если написать полную программу и вставить туда счетчик вызовов F(n), то окажется, что для вызова F(6) процедура будет вызвана 97 раз. При каждом вызове выводится звездочка, поэтому их будет выведено тоже 97.
Проверка выполнялась по следующей программе: var k:integer;
procedure F(n: integer); begin writeln('*'); k:=k+1; if n > 0 then begin F(n - 3); F(n - 2); F(n div 2); F(n div 2); end end;
x,y:real;
begin
Write('Введите координаты x и y точки: '); Readln(x,y);
Write('Точка с указанными координатами ');
if not ((y<=x) and (x<=2) and ((sqr(x)+sqr(y))>=4) and (y>=0)) then
Write('не ');
Writeln('принадлежит заштрихованной области.')
end.
Примеры выполнения программы:
Введите координаты x и y точки: 1.9 2.1
Точка с указанными координатами не принадлежит заштрихованной области.
Введите координаты x и y точки: 1.9 1.82
Точка с указанными координатами принадлежит заштрихованной области.
Введите координаты x и y точки: 1 -3
Точка с указанными координатами не принадлежит заштрихованной области.
А если написать полную программу и вставить туда счетчик вызовов F(n), то окажется, что для вызова F(6) процедура будет вызвана 97 раз. При каждом вызове выводится звездочка, поэтому их будет выведено тоже 97.
Проверка выполнялась по следующей программе:
var
k:integer;
procedure F(n: integer);
begin
writeln('*');
k:=k+1;
if n > 0 then begin
F(n - 3);
F(n - 2);
F(n div 2);
F(n div 2);
end
end;
begin
k:=0;
F(6);
Writeln(k)
end.