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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2013, 01:31   #1
BomBiloiii
 
Регистрация: 04.12.2013
Сообщений: 3
Восклицание Квадранты, прямая

Вечер добрый
Помогите студенту доработать код в Turbo Pascal, что бы выводилось в результате через какие квадранты проходит прямая.
Код:
Program Arh;
Var
x1,y1,x2,y2,d:real;
Begin
Write ('Vvedite x1,y1: ');
Readln (x1,y1);
Write ('Vvedite x2,y2: ');
Readln (x2,y2);
If (x1=x2) and (y1=y2) then Write ('Tochki sovpali');
Else Begin
d:=sqrt ((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
Write ('d=,' d);
Begin
If (y1/x1=y2/x2) then Write ('Prymaia proxodit cherez n.k.') 
Else Write ('Ne proxodit cherez n.k.')
End;
End;
End.
Зарание премного благодарен
BomBiloiii вне форума Ответить с цитированием
Старый 05.12.2013, 01:52   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Прямая или отрезок ?
Если прямая, зачем вам длина отрезка d ?

И зачем скобки begin .. end вокруг последнего if ?
Изображения
Тип файла: jpg qua.jpg (7.5 Кб, 96 просмотров)

Последний раз редактировалось type_Oleg; 05.12.2013 в 02:53.
type_Oleg вне форума Ответить с цитированием
Старый 05.12.2013, 06:37   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Если прямая, зачем вам длина отрезка d ?
Затем, что расп*сдяй-студент сп*сдил написал решение задачи "найдите длину отрезка и проходит ли прямая, на которой лежит этот отрезок, через начало координат", а дана ему абсолютно другая задача.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 05.12.2013, 07:43   #4
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

А можно поподробней? А то ничего не понятно. Где задана сама функция? А то, все что я вижу - это ввод двух точек, вычисление расстояния между ними, и что-то похожее на проверку прохождения прямой через точки.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 05.12.2013, 09:32   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

тут делов то найти уравнение прямой, проходящей через 2 точки и проверить пересечение с осями, самое сложное это описать условия
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 05.12.2013, 12:02   #6
BomBiloiii
 
Регистрация: 04.12.2013
Сообщений: 3
По умолчанию

Люд я в программирование не особо бог=)
Поэтому прошу помощи у вас, мне лишь нужно узнать как написать в Паскале условие для выбора квадранта
BomBiloiii вне форума Ответить с цитированием
Старый 05.12.2013, 12:53   #7
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Код:
if (*условие*) then *действия, если истина* else *действия, если ложь*;
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 05.12.2013, 17:53   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

BomBiloiii, повторяю вопрос - прямая или отрезок ?
От этого зависит решение - см.рисунок.
type_Oleg вне форума Ответить с цитированием
Старый 05.12.2013, 19:36   #9
BomBiloiii
 
Регистрация: 04.12.2013
Сообщений: 3
По умолчанию

прямая
Я чуть чуть профан в этих делах)
BomBiloiii вне форума Ответить с цитированием
Старый 05.12.2013, 19:51   #10
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от BomBiloiii Посмотреть сообщение
прямая
В таком случае, приведенный код не имеет отношения к задаче.

В случае прямой алгорритм решения:
1) находим уравнение прямой типа y = a*b+x, то есть находим неизвестные a,b по известным координатам точек:
a = (y2-y1)/(x2-x1) ; b = y1 - a*x1
2) находим точки пересечения прямой с осями 0X, 0Y:
с 0Y : y=0*a+b=b если b>0, то прямая пересекает 0Y выше 0 ,как на рисунке, то есть проходит по 1 и 2 квадр;
с 0X : 0=a*x+b => x=-b/a если это <0, как на рисунке, то проходит по 2 и 3 кв.
Получаем ответ для данного рисунка: 1,2,3 кв.

Еще надо предусмотреть случаи, когда x1=x2 или y1=y2
type_Oleg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Числовая прямая ThomasHoffman Помощь студентам 3 26.11.2012 21:02
Прямая линия Kyran29 Мультимедиа в Delphi 7 30.05.2012 17:11
Окружность и прямая анна2709 Паскаль, Turbo Pascal, PascalABC.NET 5 28.11.2011 18:56
Прямая и Окружность Ukeeler Помощь студентам 5 02.11.2010 17:50
Прямая VirusOfLove Помощь студентам 8 05.12.2009 09:37