Написать программу, на...

Тема в разделе "Информатика", создана пользователем ValerIP, 7 мар 2010.

  1. ValerIP

    ValerIP New Member

    Написать программу, на Pascal, которая определяет принадлежит ли точка плоскости A отрезку с конечными точками B и С. Программа получает на входкоординаты точек А, В и С, и выводит ответ (да или нет).
     
  2. hijack

    hijack New Member

    Попытаюсь помочь, но непонятно, причём тут плоскость, если она не задаётся никак. И непонятна размерность пространства, в котором нужно решать задачу.
    Опишу случай 3-мерного пространства, то есть решу задачу
    В пространстве заданы своими координатами 3 точки А, В, С. Определить, принадлежит ли точка А отрезку ВС.
    В такой формулировке нет неясностей. Всё понятно.
    Немного теории
    1. Точка А будет принадлежать отрезку ВС, если
    а) она будет лежать на прямой ВС
    б) она делит этот отрезок внутренним образом.
     
    На оба этих вопроса овечает аналитическая геометрия, так,
    а) уравнение прямой в пространстве описывается следующей формулой
    X   - Xb         Y - Yb        Z - Zb
    ----------  =   --------- =  -----------
    Xс - Xb         Yс-Yb        Zс - Zb
     
    Поэтому, если мы вместо (X,Y,Z) подставим координаты точки А и получим верные равенства, значит точка А лежит на прямой ВС 
     
    б) Точка А делит отрезок ВС внутренним образом, если
    |BA|
    ------ = k, при этом к>0
    |AC|
     
    Ну вот, в принципе и всё. Формула длины отрезка, думаю, тебе известна, это всего-навсего трехмерная теорема Пифагора.
     
    Программа тоже должна эти два этапа проходить, при этом на второй переходить, если успешно пройден первый.
     
    Текст писать не буду, он примитивен.
     
    Если я что-то не так понял, и, например, все 3 точки лежат в одной плоскости, то всё упрощается, так как координата Z исчезает, но теория остаётся прежней.
    Если же у тебя одномерный случай, то есть все три точки лежат на числовой прямой, то и координата Y исчезает, а вместе с ней и этап а).
    Но теория в целом и алгоритм остаётся прежним, поэтому лучше сразу написать программу для трехмерного пространства.
    Вот и всё, если возникнут вопросы, пиши в личку.
    Ну и последнее, выставленные очки мне совершенно ни к чему, поэтому, чтобы их себе сэкономить, можешь внимательно изучить мой текст, а затем отметить его как нарушение.
    Успехов!
     
     
     

Поделиться этой страницей

Наша группа