Определить, пересекаются ли окружности, в этом случае вычислить координаты точек их пересечения - Pascal

  1. Даны две окружности одинакового радиуса R , заданные координатами их центров (X1Y1) (X2Y2) -целыми числами. Определить пересекаются ли они, в этом случае вычислить координаты, (вещественные числа)точек их пересечения


textual

Код к задаче: «Определить, пересекаются ли окружности, в этом случае вычислить координаты точек их пересечения - Pascal»

const e=0.0001;
var x1,y1,x2,y2,r:integer;
    x,y,a,h,d,x3,y3,x4,y4:real;
begin
writeln('Введите координаты центра 1 окружности, целые цисла');
write('x1=');readln(x1);
write('y1=');readln(y1);
writeln('Введите координаты центра 2 окружности, целые числа');
write('x2=');readln(x2);
write('y2=');readln(y2);
repeat
write('Введите радиус окружностей r>0 r=');
readln(r);
until r>0;
if (x1=x2)and(y1=y2)then write('Окружности совпадают')
else
 begin
  d:=sqrt(sqr(x1-x2)+sqr(y1-y2));//расстояние между центрами
  if d>2*r then write('Точек пересечения нет')
  else if abs(d-2*r)<e then
   begin
    writeln('Окружности касаются в точке:');
    x3:=(x1+x2)/2;
    y3:=(y1+y2)/2;
    writeln('x=',x3:0:2,'  y=',y3:0:2);
   end
  else
   begin
    a:=d/2;
    h:=sqrt(sqr(r)-sqr(a));
    x:=x1+a*(x2-x1)/d;
    y:=y1+a*(y2-y1)/d;
    x3:=x-(y2-y1)*h/d;
    y3:=y+(x2-x1)*h/d;
    x4:=x+(y2-y1)*h/d;
    y4:=y-(x2-x1)*h/d;
    writeln('Точки пересечения:');
    writeln('1:x=',x3:0:2,'  y=',y3:0:2);
    writeln('2:x=',x4:0:2,'  y=',y4:0:2);
   end;
  end;
end.

СДЕЛАЙТЕ РЕПОСТ

12   голосов, оценка 4.000 из 5



Похожие ответы
  1. Даны три вещественных числа x,y,z. Определить, существует ли треугольник с длинами сторон x,y,z. Если треугольник существует, определить его тип (равносторонний, равнобедренный, прямоугольный) и вычислить все углы в градусах. Напечатать длины сторон с противолежащими углами.

  1. Написать программу на паскале, которая будет определять все ли гласные содержаться в заданной строке....

  1. В расписании движения поездов по станции Масловка указаны: номера поездов , пункты следования, время прибытия и отправления, направления следования (южное, северное, западное, восточное). Сколько поездов следует в каждом из направлений?

  1. Из квадратного листа картона вырезается коробка. Определить, какова должна быть сторона вырезаемого квадрата, чтобы коробка имела наибольшую вместимость.

  1. Ребят,помогите пожалуйста,будьте добры. Надо составить программки в Паскале. Составить математическую модель, таблицу идентификаторов и алгоритм для следующих задач: Задано n точек. Определить, сколько из них находится внутри прямоугольника.

  1. Помогите с решением, пожалуйста! Если не трудно, то с объяснением В заданный непустой текст входят только цифры и буквы. Длина текста не более 12 символов. Определить, удовлетворяется ли следующее свойство: Текст совпадает с каким-то отрезком ряда abc…xyz (например: klmnop);

  1. Подскажите пожалуйста как написать данную программу: В заданный непустой текст входят только цифры и буквы. Определить удовлетворят ли он следующему свойству: текст совпадает с конечным отрезком ряда 0123456789 ( например: 9, 89, 789).

  1. Дана последовательность из N целых чисел. Определить, есть ли в ней число, равное первому из этой последовательности. Помогите пожалуйста сделать циклом.

  1. Из-за своего грубого невежества не могу написать следующую задачу: "поезд едет через мост. Входные данные: длина моста, его "выдерживающая способность" (не знаю, как на русский перевести), длина вагона. Дальше задается масса каждого вагона в виде массива, который обрывается на -1. Если мост выдержит, то вывести число. Если мост рухнет, то вывести 0" примеры данных: ВВОД 10 100 5 30 30 30 40 30 30 40 39 40 -1 ВЫВОД 8 ВВОД 7 20 3 4 5 5 5 5 5 4 -1 ВЫВОД 0 Мои карякули: