Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program quack;
- var x, y, a1, b1, a2, b2, r1, r2, tmp1, tmp2:real; dial:string;
- begin
- write('Введите координаты точки: ');
- readln(x, y);
- write('Введите координаты центра большей окружности и её радиус: ');
- readln(a1, b1, r1);
- write('Введите координаты центра меньшей окружности и её радиус: ');
- readln(a2, b2, r2);
- if (r1 <= 0) or (r2 <= 0) then
- dial := 'Ошибка! Радиус круга должен быть больше 0.'
- else
- if ((((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)) * ((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)) = r1+r2) or (((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)) * ((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)) + r2 == r1) or (((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)) * ((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)) + r1 == r2)) and (r1 - ((a2 - a1) * (a2 - a1) + (b2 - b1) * (b2 - b1)) <> r2 * r2) then //Проверка на то, не выходит ли вторая окружность за пределы первой
- dial := 'Графики функций не образуют заданную область пересечения.'
- else begin
- tmp1 := (x - a1) * (x - a1) + (y - b1) * (y - b1);
- tmp2 := (x - a2) * (x - a2) + (y - b2) * (y - b2);
- if tmp1 = tmp2 then
- dial := 'Точка является точкой пересечения.'
- else
- if (tmp1 < r1 * r1) and (tmp2 > r2 * r2) then
- dial := 'Точка лежит внутри области пересечения.'
- else
- dial := 'Точка не лежит внутри области пересечения.';
- end;
- writeln(dial);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement