21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
1

Принадлежит ли точка отрезку

18.06.2013, 22:47. Показов 19924. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите в задачке...
Даны три точки А,В,С. Определить принадлежит ли точка С отрезку АВ.

Вот, как то так!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2013, 22:47
Ответы с готовыми решениями:

Определить принадлежит ли точка отрезку
Подскажите как записать функцию, для определения принадлежности точки прямой, вот функция сырая, не...

Определить принадлежит ли точка С отрезку АВ
Помогите, пожалуйста, составить блок схему данной задачи Даны три точки А,В,С. Определить...

Даны координаты точки А(х1,у1). Определить, принадлежит ли эта точка отрезку [a,b].
Даны координаты точки А(х1,у1). Определить, принадлежит ли эта точка отрезку . Заранее благодарен!

С клавиатуры вводится точка M с координатами [x ; y]. Вычислить, принадлежит ли введенная точка M заштрихованной области рисунка
Помогите плз задачку сделать

10
Эксперт 1С
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
19.06.2013, 10:09 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program zadacha;
var x1,y1,x2,y2,x3,y3,a,b: real;
begin
writeln('Введите координаты x1,y1');
readln(x1,y1);
writeln('Введите координаты x2,y2');
readln(x2,y2);
writeln('Введите координаты x3,y3');
readln(x3,y3);
a:=(y1-y2)/(x1-x2);
b:=((y1+y2)-a*(x1+x2))/2;
if (y3 = a*x3+b) and (x3 > x1) and (x3 < x2) or (y3 = a*x3+b) and (x2 > x1) and (x3 < x1)
then writeln('Точка принадлежит отрезку')else writeln('Точка не принадлежит отрезку')
end.
1
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.06.2013, 10:53 3
Pascal
1
a:=(y1-y2)/(x1-x2);
Нужно еще дополнительно рассмотреть вариант вертикальной линии x1=x2
1
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
19.06.2013, 12:31  [ТС] 4
А куда это вставить в программе?
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.06.2013, 12:41 5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program zadacha;
var x1,y1,x2,y2,x3,y3,a,b: real;
begin
writeln('Введите координаты x1,y1');
readln(x1,y1);
writeln('Введите координаты x2,y2');
readln(x2,y2);
writeln('Введите координаты x3,y3');
readln(x3,y3);
if x1=x2 then
 begin
  if((y3>=y1)and(y3<=y2)) or((y3<=y1)and(y3>=y2))
  then writeln(Точка принадлежит отрезку')else writeln('Точка не принадлежит отрезку'')
 end
else
 begin
  a:=(y1-y2)/(x1-x2);
  b:=((y1+y2)-a*(x1+x2))/2;
  if (y3 = a*x3+b) and (x3 > x1) and (x3 < x2) or (y3 = a*x3+b) and (x2 > x1) and (x3 < x1)
  then writeln('Точка принадлежит отрезку')else writeln('Точка не принадлежит отрезку')
 end
end.
1
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
19.06.2013, 12:45  [ТС] 6
Спасибо огромное!
0
3 / 3 / 1
Регистрация: 31.01.2013
Сообщений: 108
27.02.2020, 16:06 7
Pascal
1
2
3
4
5
6
7
8
9
function AtOtres(x1,y1,x2,y2,x,y:real):Boolean;
Var k1,k2,s1,s2,s3:Real;
begin
k1:=ABS(X1-X2);k2:=ABS(Y1-Y2);s1:=Sqrt(k1*k1+k2*k2);// находим длину отрезка
k1:=ABS(X1-X);k2:=ABS(Y1-Y);s2:=Sqrt(k1*k1+k2*k2);// находим длину 1 гипотенузы
k1:=ABS(X2-X);k2:=ABS(Y2-Y);s3:=Sqrt(k1*k1+k2*k2);// находим длину 2 гипотенузы
s1:=Round(s1*100)/100;s2:=s2+s3;s2:=Round(s2*100)/100;// необходимая точность
If s2=s1 Then Result:=True else Result:=False;
end;
Это решение работает намного лучше.
Автор Дмитрий:
https://gospodaretsva.com/urok... rezku.html
0
3014 / 1640 / 648
Регистрация: 19.03.2019
Сообщений: 5,309
27.02.2020, 17:00 8
Цитата Сообщение от Igorokmen Посмотреть сообщение
Это решение работает намного лучше.
так может так ещё проще?
Pascal
1
2
3
4
5
6
7
function AtOtres(x1,y1,x2,y2,x,y:real):Boolean;
Var s1,s2:Real;
begin
  s1:=sqrt(sqr(x1-x2)+sqr(y1-y2)); { находим длину отрезка }
  s2:=sqrt(sqr(x1-x)+sqr(y1-y)) + sqrt(sqr(x2-x)+sqr(y2-y)); { находим сумму расстояний до точки }
  Result := abs(s1-s2)<1E-3;  { точность проверки до 0.001 }
end;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
29.02.2020, 11:29 9
mr-Crocodile,
стоило ли извлекать корень?
0
3014 / 1640 / 648
Регистрация: 19.03.2019
Сообщений: 5,309
02.03.2020, 10:53 10
Цитата Сообщение от bormant Посмотреть сообщение
стоило ли извлекать корень?
к сожалению - без этого не обойтись
если расстояние AB = AC + CB
то
https://www.cyberforum.ru/cgi-bin/latex.cgi?{AB}^{2} \neq {AC}^{2} + {CB}^{2}
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
02.03.2020, 15:43 11
хм, действительно сумма корней, взгляд в скобочках заблудился
0
02.03.2020, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2020, 15:43
Помогаю со студенческими работами здесь

Если первое число принадлежит отрезку [19,30], то вычислить корень этого числа
Даны 2 числа. Если первое число принадлежит отрезку , то вычислить корень этого числа. Если второе...

Если x и y неотрицательны и ни одно из них не принадлежит отрезку [0.5, 2], то оба значения уменьшить в 10 раз...
4)Даны действительные числа x, y. Если оба числа неотрицательны и ни одно из них не принадлежит...

В массиве все элементы, значение которых принадлежит отрезку [a, b] заменить на заданную величину
в массиве C из 40 элементов все элементы,значение которых принадлежит отрезку заменить на...

Составить программу, которая вычисляет сумму целых последовательных нечетных чисел, принадлежит отрезку
Составить программу, которая вычисляет сумму целых последовательных нечетных чисел, принадлежит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru