Окружность задается радиусом и координатами центра - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Окружность задается радиусом и координатами центра. Определить, найдется ли среди данных десяти окружностей окружность, лежащая внутри данной окружности. Написать с использованием подпрограмм. Заранее БОЛЬШОЕ спасибо.

Решение задачи: «Окружность задается радиусом и координатами центра»

textual
Листинг программы
const n=10;
function inside(x0,y0,r0,x,y,r:real):boolean;
begin
inside:=sqr(x0-x)+sqr(y0-y)<=sqr(r0-r)
end;
var x0,y0,r0,x,y,r:real;
    t:array[1..3,1..n] of real;
    i,k:byte;
begin
randomize;
repeat
writeln('Введите кооординаты центра от -10 до 10 и радиус от 1 до 10 основной окружности');
readln(x0,y0,r0);
until(x0>=-10)and(x0<=10)and(y0>=-10)and(y0<=10)and(r0>=1)and(r0<=10);
for i:=1 to n do
 begin
  t[1,i]:=-10+random*(20);
  t[2,i]:=-10+random*(20);
  t[3,i]:=random*(10);
 end;
writeln('Параметры окружностей');
for i:=1 to n do
 begin
  write(i:2,'(x=',t[1,i]:5:2,' y=',t[2,i]:5:2,' r=',t[3,i]:5:2,') ');
  if i mod 2=0 then writeln;
 end;
k:=0;
i:=1;
while(i<=n)and(k=0) do
if inside(x0,y0,r0,t[1,i],t[2,i],t[3,i]) then k:=i
else inc(i);
if k=0 then write('Нет окружности внутри данной')
else write('Есть окружности внутри данной, например окружность номер ',k)
end.

Объяснение кода листинга программы

  1. В начале кода объявлены следующие переменные:
    • x0, y0, r0 - координаты центра и радиус основной окружности;
    • x, y, r - переменные для проверки вхождения точки в окружность;
    • t - массив для хранения координат точек на окружностях;
    • i, k - счётчики для обхода массива и поиска окружности.
  2. С помощью цикла repeat-until считываются координаты центра и радиус основной окружности.
  3. С помощью цикла for генерируются случайные координаты точек на окружностях и записываются в массив t.
  4. С помощью цикла for выводятся параметры окружностей.
  5. С помощью цикла while-i проверяется, есть ли окружности внутри заданной. Если есть, то выводится номер такой окружности.
  6. Если окружность не найдена, выводится сообщение Нет окружности внутри данной.
  7. Если окружность найдена, то выводится сообщение Есть окружности внутри данной, например окружность номер k.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5
Похожие ответы