В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
black103
black103
22.01.2023 22:19 •  Информатика

Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. известны координаты левого нижнего угла каждого из них и длины их сторон. один из прямоугольников назовем первым, другой — вторым. найти координаты левого нижнего и правого верхнего углов минимального прямоугольника, содержащего указанные прямоугольники.

Показать ответ
Ответ:
atom33
atom33
09.10.2020 02:04

Программа на PascalABC

Program 29844007;

uses  

 GraphABC;

var  

 XL1,YL1,XR1,YR1:integer;  ///координаты первого прямоугольника

 XL2,YL2,XR2,YR2:integer; ///координаты второго прямоугольника

 XL0,YL0,XR0,YR0:integer;  ///координаты результата

s:string; ///строка для вывода результатов;

begin

 Window.SetSize(700,700);  

 writeln('Первый прямоугольник: ');

   writeln('Введите X левого нижнего угла ');read(XL1);

   writeln('Введите Y левого нижнего угла ');read(YL1);

   writeln('Введите X правого верхнего угла ');read(XR1);

   writeln('Введите Y правого верхнего угла ');read(YR1);

 writeln('Второй прямоугольник: ');

   writeln('Введите X левого нижнего угла ');read(XL2);

   writeln('Введите Y левого нижнего угла ');read(YL2);

   writeln('Введите X правого верхнего угла ');read(XR2);

   writeln('Введите Y правого верхнего угла ');read(YR2);

 if XL1<XL2 then XL0:=XL1 else XL0:=XL2;

 if YL1<YL2 then YL0:=YL1 else YL0:=YL2;

 if XR1<XR2 then XR0:=XR2 else XR0:=XR1;

 if YR1<YR2 then YR0:=YR2 else YR0:=YR1;

/// Выводим сначала результирующий прямоугольник синим цветом

 Brush.Color := clBlue;

 Rectangle(XL0,700-YL0,XR0,700-YR0);

/// Рисуем первый прямоугольник красным цветом

 Brush.Color := clRed;

 Rectangle(XL1,700-YL1,XR1,700-YR1);

/// Выводим второй прямоугольник зелёным

 Brush.Color := clGreen;

 Rectangle(XL2,700-YL2,XR2,700-YR2);

/// Выводим кординаты

Brush.Color := clWhite;

 s:='Координаты левого нижнего угла: '+ IntToStr(XL0)+' '+IntToStr(YL0);

 TextOut(0,0,s);

 s:='Координаты правого верхнего угла: '+ IntToStr(XR0)+' '+IntToStr(YR0);

 TextOut(0,20,s);

end.

Пример вывода на прикреплённом рисунке.


Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. известны ко
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота