IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Определить, является ли вписанной или описанной, окружность по отношению к теругольнику
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Такая вот задачка:
"Даны координаты вершин треугольника и окружность, заданная уравнением x^2+y^2=r^2. Определить, является ли окружность вписанной или описанной по отношению к треугольнику."
Помогите ришить пожалуйста. rolleyes.gif Или хотяб подкскажите где копать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(SataNi @ 25.09.2006 23:32) *

Такая вот задачка:
окружность, заданная уравнением x^2+y^2=r^2.

Окружность на самом деле с центром в начале координат, или ты имеешь в виду что известен только радиус, а не центр?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Где копать? Пожалуйста... Копай сюда: если окружность описанная, то все вершины лежат на окружности (у тебя есть координаты вершин и уравнение окружности, проверяй smile.gif )... Если же окружность - вписанная, то расстояние от центра окружности до любой из его сторон (расстояние от точки до прямой, уравнение прямой можешь получить из координат вершин) будет одинаковым...

Необходимые формулы можешь посмотреть на АлгоЛисте
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


lapp, про то что у неё центр в начале координат ничего не сказано nea.gif Скорее всего только радиус известен...
volvo, сорри, я новенький на форуме... rolleyes.gif Что за АлгоЛист?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(SataNi @ 26.09.2006 0:17) *

про то что у неё центр в начале координат ничего не сказано
...
я новенький на форуме... rolleyes.gif Что за АлгоЛист?

То, что ее уравнение задано в такой форме, это и есть сказано. Именно это и удивляет, так как такое условие в принципе кажется лишним и, скорее всего, противоречивым. Уравнение окружности действительно присутствовало в условии или это ты дописал?

форум тут ни при чем. Берешь Яндекс и ищешь: АлгоЛист..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Текст задания точный. Книга передо мной лежит...
Цитата
форум тут ни при чем. Берешь Яндекс и ищешь: АлгоЛист..

Пасиб! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(SataNi @ 26.09.2006 0:28) *

Текст задания точный. Книга передо мной лежит...

Тоды ой..
Не знаю, как это будет вязаться с реальными координатами точек, но проверка тогда явно облегчается: нужно всего лишь проверить для вершин треугольника равенство x^2+y^2=r^2

Только меня все же гложут сомнения... Дествительно условие точное и полное?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Точно полное и точно точное smile.gif Если хочеш сфотать могу lol.gif
Ладно завтра подумаю ещё... Сегодня уже не думается smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(SataNi @ 26.09.2006 0:41) *

Если хочеш сфотать могу

Я тебе верю.. smile.gif
Но тогда решение с одной стороны упрощается, с другой - в большинстве случаев просто невозможно. То есть надо, чтоб випсанная или описанная окружность треугольника была центрирована на начало координат.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Млин... Не получается чтото... Напишите, пожалуйста, хотя бы примерный код sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Гость @ 27.09.2006 8:18) *

Млин... Не получается чтото... Напишите, пожалуйста, хотя бы примерный код sad.gif

Ты покажи, что именно получается и что не получается.
Мы подправим..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Получилось чтото вроде этого:

Program laba2;
var x1,x2,x3,y1,y2,y3,r,p1,p2,p3,o1,o2,ras1,ras2,ras3:real;
begin
writeln('Введите координаты вершин треугольника');
write('A'); readln(x1, y1);
write('B'); readln(x2, y2);
write('C'); readln(x3, y3);
writeln('Введите координаты цетра окружности');
write('O'); readln(o1,o2);
r:=SQRT(SQR(o1)+SQR(o2));

p1:=SQRT(SQR(o1-x1)+SQR(o2-y1));
p2:=SQRT(SQR(o1-x2)+SQR(o2-y2));
p3:=SQRT(SQR(o1-x3)+SQR(o2-y3));

if (p1=r) and (p2=r) and (p3=r) then
writeln('Окружность описана около треугольника')
else
begin

ras1:=abs((o1-x1)*(y2-y1)-(o2-y1)*(x2-x1))/sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln(ras1);
ras2:=abs((o1-x2)*(y3-y2)-(o2-y2)*(x3-x2))/sqrt(sqr(x3-x2)+sqr(y3-y2));
writeln(ras2);
ras3:=abs((o1-x1)*(y3-y1)-(o2-y1)*(x3-x1))/sqrt(sqr(x3-x1)+sqr(y3-y1));
writeln(ras3);
if (ras1=r) and (ras2=r) and (ras3=r) then
writeln('Окружность вписана в треугольник')
else writeln('Ничего не описано и не вписано!:)')

end;
readln;
end.


Не знаю правильно или нет... Но вродебы правильно smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


1. Почему ты рассчитываешь радиус окружности так:
r:=SQRT(SQR(o1)+SQR(o2));
?
Получается, что твоя окружность обязательно проходит через начало координат. Мне кажется, разумнее запрашивать радиус, как ты запрашиваешь все остальное. Хотя, я вообще не понимаю, как это вяжется с условием, в котором центр окружности железно помещен в начало координат..

2. Проверку на равенство двух переменных типа real (и подобных) нельзя проводить простым равенством. Дело в том, что из-за неизбежных ошибок вычисления два равных числа могут реально оказаться неравными в машинном представлении. Нужно сравнивать разность чисел с подходящим маленьким числом, например:
Abs(a-b)<1e-7
Это число выбирается из соображений длины представления используемого типа и порядка чисел.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Цитата(lapp @ 28.09.2006 5:18) *

1. Почему ты рассчитываешь радиус окружности так:
r:=SQRT(SQR(o1)+SQR(o2));
?
Получается, что твоя окружность обязательно проходит через начало координат.

Почему? Не проходит она обязательно через начало координат... Так я рассчитываю, потому что окружность задана таким уравнением... unsure.gif
Просто по введённым координатам программа рассчитывает радиус, формула которого записана в условии... Разве неправильно?

Цитата(lapp @ 28.09.2006 5:18) *

2. Проверку на равенство двух переменных типа real (и подобных) нельзя проводить простым равенством.

Это лаборатрная по теме разветвляющиеся алгоритмы, 3я по счёту.. Думаю преподам пофиг будет на это... Лишь бы алгоритм верный был... rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(SataNi @ 28.09.2006 7:29) *

Почему? Не проходит она обязательно через начало координат... Так я рассчитываю, потому что окружность задана таким уравнением... unsure.gif
Просто по введённым координатам программа рассчитывает радиус, формула которого записана в условии... Разве неправильно?

Смотри рисунок. Это то, что ты делаешь.
Прикрепленное изображение
В условии было x^2+y^2=r^2, то есть окружность с центром в начале координат. Боюсь, ты путаешь координаты точки на окружности (х,у) и координаты ее центра (о1,о2)
Цитата(SataNi @ 28.09.2006 7:29) *

Это лаборатрная по теме разветвляющиеся алгоритмы, 3я по счёту.. Думаю преподам пофиг будет на это... Лишь бы алгоритм верный был... rolleyes.gif

Ну-ну.. хотя бы знай, что ответить, если спросят..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гость






Цитата
Думаю преподам пофиг будет на это... Лишь бы алгоритм верный был...
"Преподы", как ты их называешь, сначала запустят программу, и если программа выдаст неверный результат (а при таком сравнении - вероятность велика), то они даже не посмотрят на твой алгоритм, потому что программа в первую очередь должна выдавать правильный ответ, а уж потом делать это красиво, быстро, и т.д.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


До меня не дойдёт почему у окружности центр - начало координат? В условии этого не сказано... unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(SataNi @ 28.09.2006 19:04) *

До меня не дойдёт почему у окружности центр - начало координат? В условии этого не сказано... unsure.gif

Общее уравнение окружности такое:
(x-Xc)^2 + (y-Yc)^2 = r^2
где Xc, Yc - координаты центра окружности.

У тебя в условии уравнение такое:
x^2+y^2=r^2

Что можно переписать так:
(x-0)^2 + (y-0)^2=r^2

Теперь сравни это с общим уравнением. Видишь? Xc и Yc равны нулю..
Ясно?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Теперь ясно... То есть получается, что координаты центра окружности известны(начало координат) и надо сделать ввод с клавы радиуса... Только на кой хрен мне тогда нужны x и y? Зачем мне эта точка на окружности? wacko.gif
PS: Сорри что туплю rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(SataNi @ 29.09.2006 8:59) *

Только на кой хрен мне тогда нужны x и y? Зачем мне эта точка на окружности?

Ты про какие x и y? Которые входят в уравнение? Они представляют произвольную точку на кривой (в данном случае - окружности). Как же без них записать уравнение?..
Ты прав, тебе нужно вводить только радиус. И проверять лежат ли вершины треугольника на этой укружности (то есть удовлетворяют ли их координаты ур-ию окружности) - это для случая описанной окружности - либо делать проверку для вписанной (скажем, как ты делал).
Теперь понятнее? smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 18.10.2017 3:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"