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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 21:00   #1
Nastya1221
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 11
По умолчанию Правильна ли подпрограмма относительно данной спецификации? Если да,то обосновать,если нет-исправить подпрограмму.

СПЕЦИФИКАЦИЯ:Функция определяет взаимное расположение двух прямых,заданных нормальными уравнениями на плоскости.Входные параметры а1,b1,c1-коэффициенты уравнения первой прямой, a2,b2,c2-коэффициенты уравнения второй прямой.Функция возвращает true,если оба уравнения заданы корректно и тогда выходной параметр res принимает одно из следующих значений:0,если прямые совпадают,1,если они параллельны, и 2,если пересекаются;функция возвращает false, если хотя бы у одной из прямых нормальный вектор нулевой.
Код:
{$N+}
Type TReal=single;
TShortUnSignedInt=byte;

Function Lines(a1,b1,c1,a2,b2,c2:TReal;Var res:TShortUnSignedInt):boolean;
Begin
If ((a1=0) and(b1=0)) or ((a2=0)and(b2=0) then
Lines:=false else
Begin
Lines:=true;
If a1*b2<>a2*b1 then
res:=2 else
If (a1*c2<>a2*c1) or (b1*c2<>b2*c1) then
res:=1 else
res:=0; end;
end;
Подскажите,что делать, а то я не понимаю

Последний раз редактировалось Stilet; 25.01.2012 в 21:59.
Nastya1221 вне форума Ответить с цитированием
Старый 25.01.2012, 21:41   #2
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Правильно. Только я не понял зачем нужно вот это условие, и без него работать будет.
Код:
If (a1*c2<>a2*c1) or (b1*c2<>b2*c1)
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 25.01.2012, 21:55   #3
Nastya1221
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 11
По умолчанию

я не знаю зачем эти условия, мало,что в этом понимаю..
Так я могу оставить все как есть, или нужно убрать из подпрограммы данные условия?
Nastya1221 вне форума Ответить с цитированием
Старый 26.01.2012, 08:36   #4
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Цитата:
Сообщение от Nastya1221 Посмотреть сообщение
я не знаю зачем эти условия, мало,что в этом понимаю..
Так я могу оставить все как есть, или нужно убрать из подпрограммы данные условия?
Оставь как есть.
Убирать можно только (a1*c2<>a2*c1), я его в предыдущем посте выделил жирным, просто плохо вдно.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение 2х листов, и если нет совпадений удаление. MASRUB Microsoft Office Excel 3 03.05.2011 11:11
idftp если нет коннекта, то работаем дальше _KUL Работа с сетью в Delphi 5 15.04.2011 02:58
Вставка записи в БД, если ее там нет. Mixasik SQL, базы данных 4 01.08.2010 13:46
Если в проекте нет файла .dcu furstenberg Общие вопросы Delphi 10 28.09.2009 11:02
WebBrowser! Если нет коннекта... Port 111 Работа с сетью в Delphi 1 15.01.2009 15:15