Root /ArchiveAbout
()

Координаты на плоскости

Координаты на плоскости

На этой странице дано решение примеров Begin19 - Begin21 из задачника Абрамяна. Здесь рассматриваются решения задач, связанные с координатами точек в прямоугольной декартовой системе координат.

Begin19. Даны координаты двух противоположных вершин прямоугольника: (x1, y1), (x2, y2). Стороны прямоугольника параллельны осям координат. Найти периметр и площадь данного прямоугольника.

Блок схема. Даны координаты двух противоположных вершин прямоугольника: (x1, y1), (x2, y2). Стороны прямоугольника параллельны осям координат. Найти периметр и площадь данного прямоугольника.

var
  x1, y1, x2, y2, a, b: real;

begin
  writeln('Введите координаты x1 и y1: ');
  readln(x1, y1);
  writeln('Введите координаты x2 и y2: ');
  readln(x2, y2);
  writeln;
  { Вычисляем стороны прямоугольников: }
  a := abs(x2 - x1);
  b := abs(y2 - y1);
  { Выводим результат: }
  writeln('Периметр: ', 2 * (a + b):0:2);
  writeln('Площадь: ', a * b:0:2);
  readln
end.

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

Begin20. Найти расстояние между двумя точками с заданными координатами (x1, y1), (x2, y2) на плоскости. Расстояние вычисляется по формуле

((x2 − x1)2 + (y2 − y1)2)1/2.

Блок схема. Найти расстояние между двумя точками с заданными координатами (x1, y1), (x2, y2) на плоскости. Расстояние вычисляется по формуле ((x2 − x1)^2 + (y2 − y1)^2)^0.5.

var
  x1, y1, x2, y2, d: real;

begin
  writeln('Введите координаты x1 и y1:');
  readln(x1, y1);
  writeln('Введите координаты x2 и y2:');
  readln(x2, y2);
  writeln;
  { Расстояние между двумя точками на плоскости: }
  d := sqrt(sqr(x2 - x1) + sqr(y2 - y1));
  writeln('Расстояние = ', d:0:2);
  readln
end.

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

Begin21. Даны координаты трех вершин треугольника:

(x1, y1), (x2, y2), (x3, y3).

Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости (см. задание Begin20). Для нахождения площади треугольника со сторонами a, b, c использовать формулу Герона:

S = (p·(p − a)·(p − b)·(p − c))1/2,

где p = (a + b + c)/2 — полупериметр.

Блок схема. Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости. Для нахождения площади треугольника со сторонами a, b, c использовать формулу Герона: S = (p·(p − a)·(p − b)·(p − c))^0.5, где p = (a + b + c)/2 — полупериметр.

var
  x1, y1, x2, y2, x3, y3, AB, AC, BC, p, S: real;

begin
  writeln('Введите координаты вершины A: ');
  readln(x1, y1);
  writeln('Введите координаты вершины B: ');
  readln(x2, y2);
  writeln('Введите координаты вершины C: ');
  readln(x3, y3);
  AB := sqrt(sqr(x2 - x1) + sqr(y2 - y1)); { <-- Длина стороны AB }
  AC := sqrt(sqr(x3 - x1) + sqr(y3 - y1)); { <-- Длина стороны AC }
  BC := sqrt(sqr(x3 - x2) + sqr(y3 - y2)); { <-- Длина стороны BC }
  p := (AB + AC + BC); { <-- Периметр треугольника ABC }
  writeln;
  writeln(' p = ', p:0:2); { <-- Выводим периметр }
  p := p / 2; { <-- Находим полупериметр }
  { Площадь треугольника ABC за формулой Герона: }
  S := sqrt(p * (p - AB) * (p - AC) * (p - BC));
  writeln(' S = ', S:0:2);
  readln
end.

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308

**type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308