Работа 3.3 Упр.18 Задание 1 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 18. Заданы координаты вершин прямоугольника: (х1, y1), (х2, y2), (х3, у3), (х4, у4). Определить площадь части прямоугольника, расположенной в I координатной четверти. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-3/zad1/18 98
Площадь части прямоугольника в I координатной четверти зависит от того, где расположен прямоугольник относительно осей координат.
Если весь прямоугольник находится в I четверти, то его площадь равна $$S=x_1 \cdot y_1.$$
Если прямоугольник пересекает ось $$Oy$$, но остаётся выше оси $$Ox$$, то из полной площади нужно вычесть часть слева от оси $$Oy$$:
$$S=x_1 \cdot y_1-(x_1-x_2)\cdot y_1.$$
Если прямоугольник целиком расположен в I и II четвертях и пересекает обе оси, то площадь части в I четверти равна:
$$S=x_1 \cdot y_1-(x_1-x_4)\cdot (y_1-y_2).$$
Поэтому алгоритм проверяет координаты вершин и в зависимости от их расположения вычисляет нужную площадь.
var
x1, y1, x2, y2, x3, y3, x4, y4, S: integer;
begin
ReadLn(x1, y1);
ReadLn(x2, y2);
ReadLn(x3, y3);
ReadLn(x4, y4);if ((x1 > 0) and (y1 > 0) and (x2 <= 0) and (y2 <= 0) and (x3 <= 0) and (y3 <= 0) and (x4 <= 0) and (y4 <= 0)) then
S := x1 * y1;if ((x1 > 0) and (y1 > 0) and (x2 > 0) and (y2 > 0) and (x3 <= 0) and (y3 <= 0) and (x4 <= 0) and (y4 <= 0)) then
S := x1 * y1 — (x1 — x2) * y1;if ((x1 > 0) and (y1 > 0) and (x2 > 0) and (y2 > 0) and (x3 > 0) and (y3 > 0) and (x4 > 0) and (y4 > 0)) then
S := x1 * y1 — (x1 — x4) * (y1 — y2);WriteLn(S);
end.
Ответ
Алгоритм и программа приведены выше.