Вопрос задан 18.02.2019 в 07:28. Предмет Информатика. Спрашивает Писоцкая Александра.

Pascal. ОООЧЕНЬ СРОЧНО! Заданы 5 дробных чисел. Первые два - (a, b) это координаты центра круга в

декартовой системе координат. Вторая пара - (x,y) это координаты точки. Пятое число - (r) это радиус круга. Требуется написать функцию, которая определила бы, находится ли эта точка внутри круга или на его границе. Заранее спасибо!
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кузнецов Андрей.

function ptcrk(a,b,x,y,r: real): integer;
var k: integer;
begin
  k:=0;  
  if abs(sqr(x-a)+sqr(y-b)-r*r)<1.0e-9 then k:=1;
  if r*r-sqr(x-a)-sqr(y-b)>1.0e-9 then k:=2;
  ptcrk:=k;
end;
// основная программа
var a,b,x,y,r,k: real;
begin
  write('координаты центра a b: ');  readln(a,b);
  write('координаты точки x y: ');  readln(x,y);
  write('радиус: ');  readln(r);
  k:=ptcrk(a,b,x,y,r);
  if k=1 then writeln('точка на окружности');
  if k=2 then writeln('точка внутри круга');
  if k=0 then writeln('точка вне круга');
end.

координаты центра a b: 2 1
координаты точки x y: 4 1
радиус: 2.1
точка внутри круга

координаты центра a b: 2 1
координаты точки x y: 4 1
радиус: 2
точка на окружности


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи в Pascal можно написать следующую функцию:

```pascal function PointInCircle(a, b, x, y, r: Real): Boolean; var distance: Real; begin distance := sqrt(sqr(x - a) + sqr(y - b)); if distance <= r then PointInCircle := True else PointInCircle := False; end; ```

Эта функция принимает на вход координаты центра круга (a, b), координаты точки (x, y) и радиус круга (r) и возвращает True, если точка находится внутри круга или на его границе, и False в противном случае.

Вызов этой функции можно выполнить следующим образом:

```pascal var a, b, x, y, r: Real; begin // задаем значения a, b, x, y, r if PointInCircle(a, b, x, y, r) then writeln('Точка находится внутри круга или на его границе') else writeln('Точка находится вне круга'); end; ```

Этот код сначала задает значения переменных a, b, x, y, r, а затем вызывает функцию PointInCircle и выводит соответствующее сообщение в зависимости от возвращаемого значения функции.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос