1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.3 Упр.18 Задание 1 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 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.

Ответ

Алгоритм и программа приведены выше.



Общая оценка
4.3 / 5
Другие учебники
Другие предметы