Большой Воронежский Форум
» Программирование>Помогите пжлт с Pascal
XviD 21:56 17.12.2007
Есть такая задача дана окружность с центром в точке X0;Y0 и радиусом R, и прямая Y=AX+B. Нужно найти точку пересечения графиков если она есть. С Pascal я в принципе дружу, но че та в эту задачу никак не в еду. Уравнение получается типа (X-X0)^2+(Y-Y0)^2=R^2 и Y=AX+B.
Помогите пжлт оч надо. [Ответ]
Ferox 22:10 17.12.2007
ууу... помнится в 10 классе на уроке информатике что-то подобное было...
но сейчас врятли вспомню... [Ответ]
XviD 22:25 17.12.2007
Да вот блин. Оказывается такое еще и в институте учат. [Ответ]
Corax 22:57 17.12.2007
ну задача несложная. за прогр. уже больше года не содился, синтаксиса паскаля вобще уже не помню. но суть такая. из уравнения точек окружности(ты привёл его первым) находим формулу Y, затем тупо
for x:=-A-X-B to x:=A+X+B do
begin
if sqrt(R-sqr(X-X0))+Y0=A*X+B then writeln('X=',X,'Y=',Y);

но хз, додумывай сам, нелюблю задачи с кординатными осями. возможно надо ещё учитывать к какой полуоси относятся все введённые данные... счастливо покодить. [Ответ]
Lisеnоk 00:22 18.12.2007
Corax,
for x:=-A-X-B to x:=A+X+B do это не пойдет.. а если A,X,B 0 дробные? и паскаль не различает регистры.
XviD, В чем проблемы? в школе на уроке не ходили? есть две фигуры, нужно найти точки которые удолетворяют дву уравнениям. Берешь свою прямую и подставляешь в ур-е окружности. Получаешь уравнение относительно Х или У(как тебе угодно) и смотришь есть корни. Если есть - то ищешь. Если не знаешь как - упей себя ап стену.. не уметь решать квадратные уравнения..11 класс пендоской школы. куда катится мир? [Ответ]
mikе 01:03 18.12.2007
вообще интересная задачка для паскаля.. а ну как там иррациональные решения у системы получатся? [Ответ]
Masian 11:34 18.12.2007

Сообщение от mikе:
а ну как там иррациональные решения у системы получатся?

Не думаю, что для школьной задачки по информатике будут такие данные, что решение получится иррациональным. [Ответ]
Fanni 13:13 18.12.2007
Подставляем уравнение прямой в уравнение окружности. Получаем квадратное уравнение относительно X. Находим дискриминант D.
Если D отрицателен - нет точек пересечения
Если D>0, то две точки пересечения
Если D=0, то одна точка. [Ответ]
Вверх