- 05.02.2016 06:10
- Информатика
- remove_red_eye 1556
- thumb_up 38
Ответы и объяснения 1
Площадь (на рисунке она заштрихована) вычисляется как
S = [ min(x₂,x₄) - max(x₁,x₃) ] × min(y₁,y₃)
Очевидно, что если площадь равна нулю или отрицательна, то прямоугольники не пересекаются, и это избавляет нас от разных глупых предварительных проверок со сложными условиями.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (x1,y1):=ReadReal2('x1 и y1:');
var x2:=ReadReal('x2:');
var (x3,y3):=ReadReal2('x3 и y3:');
var x4:=ReadReal('x4:');
var s:=(Min(x2,x4)-Max(x1,x3))*Min(y1,y3);
if s>0 then Writeln('Площадь равна ',s)
else Writeln('Прямоугольники не пересекаются')
end.
Пример
x1 и y1: -5 7
x2: 4
x3 и y3: -6.2 3.8
x4: 9.1
Площадь равна 34.2
- 06.02.2016 09:55
- thumb_up 4
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.