Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс - Pascal

Узнай цену своей работы

Формулировка задачи:

Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс. Даны 8 целых точек - координаты точек A, B, C, D. Каждое из чисел не превышает 10000. Выводится одно число - общая длина проекции. Если общей части нет - вывести -1, если это одна точка, вывести 0. Примеры: Входной файл: 2 1 5 -3 6 4 10 -12 Выходной файл: -1 Входной файл: 2 0 6 -4 6 12 9 -45 Выходной файл: 0

Решение задачи: «Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс»

textual
Листинг программы
  1. var a, b, c, d, t: Integer;
  2. begin
  3.   Read(a,t,b,t,c,t,d,t);
  4.   if a>b then begin t:=a; a:=b; b:=t; end;
  5.   if c>d then begin t:=c; c:=d; d:=t; end;
  6.   if a>c then begin
  7.     t:=a; a:=c; c:=t;
  8.     t:=b; a:=d; d:=t;
  9.   end;
  10.   if c>b then t:=-1
  11.   else if b<d then t:=b-c
  12.   else t:=d-c;
  13.   WriteLn(t);
  14. end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • a, b, c, d - целочисленные переменные для координат отрезков
    • t - целочисленная переменная для временного хранения значения
  2. Считывание значений координат отрезков:
    • Считывание координат отрезков AB и CD через пробел и сохранение их в переменные a, b, c, d, соответственно.
    • Считывание значений координат на оси абсцисс t для каждого отрезка.
  3. Сортировка координат:
    • Если a > b, то меняем местами значения a и b.
    • Если c > d, то меняем местами значения c и d.
  4. Нахождение общей части проекций отрезков на ось абсцисс:
    • Если a > c, то меняем местами значения a и c, и b и d.
    • Если c > b, присваиваем переменной t значение -1.
    • Иначе, если b < d, то присваиваем переменной t значение b - c.
    • В противном случае присваиваем переменной t значение d - c.
  5. Вывод результата:
    • Выводим значение переменной t с новой строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы