Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2008, 12:05   #1
svobodys
Пользователь
 
Регистрация: 07.10.2008
Сообщений: 42
По умолчанию Помогите с задачей.(Пскаль).по теме программирование алгоритмов разветвляющейся структуры.

Определить, образуют ли три прямые при пересечении треугольник. уравнения прямых Y=A1*X+B1, Y=A2*X+B2, Y=A3*X+B3 и их коэффициенты заданы.
svobodys вне форума Ответить с цитированием
Старый 11.10.2008, 12:52   #2
Gorka
 
Регистрация: 18.07.2008
Сообщений: 3
По умолчанию

Там пишут лабы, курсовые, дипломные и еще кучу всего: programmersteam (dot) com
Обратись - помогут
Gorka вне форума Ответить с цитированием
Старый 11.10.2008, 13:05   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вы сами подумайте, почитайте геометрию, почеркайтесь на бумаге и выясните при каком условии три прямые взаимно пересекаются. Если после этого не сможете оформить программу на Паскале, обращайтесь с конкретным вопросом по программе. Обратите внимание на угловой коэффициент. Если Вам надо ответить только да или нет, то это будет одна строчка собственно программы, остальное оформление.
puporev вне форума Ответить с цитированием
Старый 12.10.2008, 01:09   #4
svobodys
Пользователь
 
Регистрация: 07.10.2008
Сообщений: 42
По умолчанию

Да я чота не соображу...(((
svobodys вне форума Ответить с цитированием
Старый 12.10.2008, 02:02   #5
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

Gorka спам.
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума Ответить с цитированием
Старый 12.10.2008, 03:00   #6
A_r_r_a_y
Форумчанин
 
Аватар для A_r_r_a_y
 
Регистрация: 01.03.2008
Сообщений: 165
По умолчанию

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

Последний раз редактировалось A_r_r_a_y; 12.10.2008 в 03:13.
A_r_r_a_y вне форума Ответить с цитированием
Старый 12.10.2008, 08:18   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Я же написал, угловые коэффициенты. Если все три коэффициента неравны и точка пересечения Y1 с Y2 не совпадает с точкой пересечения Y2 и Y3, то прямые попарно пересекаются и образуют треугольник. УЧИТЕ ГЕОМЕТРИЮ И АЛГЕБРУ!!!
При сравнении вещественных чисел, которые в машинном представлении даже при явном для нас равенстве могут оказатся неравными и наоборот, применяют погрешность определения равенства, типа e=0.0000001, или больше или меньше в зависимости от точности сравнений или вычислений. Тогда полный код программы будет выглядеть так:
Код:
uses crt;
var a1,b1,a2,b2,a3,b3,e:extended;
begin
clrscr;
e:=0.00001;
write('a1=');readln(a1);
write('b1=');readln(b1);
write('a2=');readln(a2);
write('b2=');readln(b2);
write('a3=');readln(a3);
write('b3=');readln(b3);
if (abs(a1-a2)>e)and(abs(a1-a3)>e)and(abs(a2-a3)>e)  //если угловые коэффициенты различны
and(abs((b2-b1)/(a1-a2)-(b3-b2)/(a2-a3))>e)  //если точки пересечения прямых не совпадают
then write('Треугольник существует!')
else writeln('Треугольник не существует!');
readln
end.

Последний раз редактировалось puporev; 12.10.2008 в 09:40.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование ветвящихся алгоритмов Дима82 Помощь студентам 4 11.05.2008 11:35
Программированние циклических алгоритмов Дима82 Помощь студентам 8 11.05.2008 11:31
Российский конкурс алгоритмов Virtson Свободное общение 2 16.12.2007 21:53