Нужен код для паскаля и блок-схема.
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. Результат работы программы вывести в виде текстового сообщения.
Ответы
Ответ:
Извините, что-то я не заметил, что в задании на Паскале надо было написать, поэтому сначала на Питоне написал.
Вот на Паскале:
program HW;
var r,x,y: real;
var chk:string;
begin
write('Введите радиус: '); readln(r);
r := abs(r);
write('Введите X координату точки: '); readln(x);
write('Введите Y координату точки: '); readln(y);
if (x>=0) and (abs(x)<=r) and (y>=0) and (abs(y)<=r) then chk := 'ВХОДИТ'
else if (x<=0) and (abs(x)<=r) and (y<=0) and (abs(y)<=r) then chk := 'ВХОДИТ'
else if (x<=0) and (abs(x)<=r) and (y>=0) and (abs(y)<=r) and (y<=-1*sqrt(sqr(r)-sqr(x+r))+r) then chk := 'ВХОДИТ'
else if (x>=0) and (abs(x)<=r) and (y<=0) and (abs(y)<=r) and (y>=sqrt(sqr(r)-sqr(x-r))-r) then chk := 'ВХОДИТ'
else chk := 'НЕ ВХОДИТ';
writeln('Точка с координатам (', x:1:1, ', ', y:1:1, ') ', chk, ' в выделенную область.');
end.
А это то же на Питоне, вдруг пригодится:
import math
r = abs(float(input("Введите радиус: ")))
x = float(input("Введите X координату точки: "))
y = float(input("Введите Y координату точки: "))
if x>=0 and abs(x)<=r and y>=0 and abs(y)<=r: chk = 'ВХОДИТ'
elif x<=0 and abs(x)<=r and y<=0 and abs(y)<=r: chk = 'ВХОДИТ'
elif x<=0 and abs(x)<=r and y>=0 and abs(y)<=r and y<=-1*math.sqrt(r**2-(x+r)**2)+r: chk = 'ВХОДИТ'
elif x>=0 and abs(x)<=r and y<=0 and abs(y)<=r and y>=math.sqrt(r**2-(x-r)**2)-r: chk = 'ВХОДИТ'
else: chk = 'НЕ ВХОДИТ'
print("Точка с координатам (%.1f, %.1f) %s в выделенную область." % (x, y, chk))