Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Помогите с задачей

Автор: Nastyxa 9.03.2017 20:50

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

Автор: Федосеев Павел 10.03.2017 15:51

program Func;

var
Xq, Yq, Lq: integer;{квадрат}
x1, y1, x2, y2: integer; {отрезок}
R: integer;
Dialog: char;
begin

repeat
writeln('Введите координаты X, Y верхнего угла квадрата');
readln(Xq, Yq);
writeln('Введите длину стороны L квадрата');
readln(Lq);
writeln('Введите координаты X1, Y1, X2, Y2 точек отрезка');
readln(x1, y1, x2, y2);
R := 0;
if (Xq <= x1) and (Xq + Lq >= x1) and (Yq <= y1) and (Yq + Lq >= y1) then
R := 1;
if (Xq <= x2) and (Xq + Lq >= x2) and (Yq <= y2) and (Yq + Lq >= y2) then
R := R + 10;
case R of
0: writeln('Полностью снаружи');
1, 10: writeln('Один конец внутри');
11: writeln('Полностью внутри квадрата');
end;
writeln('Повторить? (Y/N)');
readln(Dialog);
until (Dialog = 'N') or (Dialog = 'n');
end.