Задать вопрос
20 июля, 19:16

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

+4
Ответы (2)
  1. 20 июля, 22:22
    0
    Если х1, у1 - координаты одного конца 1-го отрезка, х2, у2 - координаты его второго конца, то уравнение прямой, на которой этот отрезок лежит, такое: у=у1 + (у2-у1) (х-х1) / (х2-х1).

    Для второго отрезка (х3, у3) и (х4, у4), прямая у=у3 + (у4-у3) (х-х3) / (х4-х3).

    Абсцисса точки пересечения (х, у) этих прямых находится из равенства

    у1 + (у2-у1) (х-х1) / (х2-х1) = у3 + (у4-у3) (х-х3) / (х4-х3). Это х надо выразить в виде формулы до написания программы, чтобы х вычислялось в программе по этой формуле.

    Схема программы:

    1) проверка параллельности отрезков. Если "да", то выход и ответ "не существует".

    2) проверка выполнения двух двойных неравенств: x1 < = x < = x2, x2 < = x < = x4.

    Если оба неравенства "истина", то ответ "существует", иначе "не существует"

    Обратите внимание, что х1 должно быть меньше чем х2, и х3 меньше чем х4.
  2. 20 июля, 22:27
    0
    Var x1a, y1a, x2a, y2a, L1, L2, x1b, y1b, x2b, y2b,:real;

    begin;

    readln (x1a) ;

    readln (y1a) ;

    readln (x2a) ;

    readln (y2a) ;

    readln (x1b) ;

    readln (y1b) ;

    readln (x2b) ;

    readln (y2b) ;

    l1:=sqrt (sqr (x2a-x1a) + sqr (y2a-y1a)) ;

    l2:=sqrt (sqr (x2b-x1b) + sqr (y2b-y1b)) ;

    if I1>l2 then writeln ('Первый') ;

    if l1
    if l1=l2 then writeln ('Равны') ;

    end.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Написать программу в паскаль вычисляющую, какой их двух отрезков больше. Отрезки заданы координатами своих концов. ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы