12 апреля 2013. Геометрия

Задача А. "Решение уравнения"

Напишите программу, решающую уравнение Ax2+Bx+C=0.

Вводятся три числа A, B, C. Каждое из этих чисел — целое и по модулю не превосходит 1000.

Выведите сначала количество корней этого уравнения, а затем сами эти корни в порядке возрастания, не меньше чем с тремя знаками после точки.
Если корней больше 1000, выведите одно число −1 (минус один). Если корней нет, выведите 0 (ноль).

Примеры

1 0 -2 ---> 2 -1.414 1.414
0 1  1 ---> 1 -1.000
1 2  3 ---> 0

Задача B. "Положение точек вне прямой"

Вводятся семь чисел — координаты двух точек вне прямой и коэффициенты A, B и C её уравнения.
Выведите одну строку "YES", если точки лежат по одну сторону прямой, и "NO" в противном случае.

Пример

0 0 2 4 2 -1 -1 ---> YES

Задача C. "Пересечение прямых"

На плоскости даны две прямые. Каждая прямая задается парой точек, через которые она проходит. Требуется установить, пересекаются ли эти прямые и найти координаты точки пересечения.

Вводятся сначала координаты двух различных точек, через которые проходит первая прямая, а затем — координаты еще двух различных (но, быть может, совпадающих с первыми двумя) точек, через которые проходит вторая прямая. Координаты каждой точки — целые числа, по модулю не превышающие 1000.

Если прямые не пересекаются, выведите одно число 0.
Если прямые совпадают, выведите 2.
Если прямые пересекаются ровно в одной точке, то выведите сначала число 1, а затем два вещественных числа — координаты точки пересечения.

Пример

1 1 2 2
1 10 2 11  --->  0
0 0 1 1
1 0 -1 2  --->  1 0.5 0.5

19 апреля 2013. Геометрия

Задача D. "Перпендикулярная прямая"

Пять чисел — коэффициенты A, B и C уравнения прямой и координаты некоторой точки X, Y (точка может быть как на прямой, так и вне её). Все числа целые, по модулю не превосходят 1000.
Выведите три числа — коэффициенты A, B и C уравнения прямой, перпендикулярной заданной и проходящей через заданную точку (с точностью не менее 5 знаков после точки).

Пример

0 1 -1 0 0 --> 1.00000 0.00000 0.00000

Задача E. "Параллельная прямая"

Даны четыре числа — коэффициенты A, B и C уравнения прямой и величина R. Все числа целые, по модулю не превосходят 1000.
Выведите три числа — коэффициенты A, B и C уравнения любой из прямых, параллельных заданной и лежащих от неё на расстоянии R.

Пример

0 -1 1 1  --->   0 -1 2

Задача F. "Расстояние от точки до прямой"

Даны 5 чисел — координаты точки и коэффициенты A, B и C уравнения прямой. Все числа целые, не превышающие по модулю 1000.
Выведите ОДНО число — расстояние от точки до прямой (с точностью не менее 5 знаков после точки).

Пример

1 1 1 1 -1	 --->    0.70711

Задача G. "Расстояние от точки до отрезка"

Дано 6 чисел — координаты точки и координаты концов отрезка. Все числа целые, не превышающие по модулю 1000.
Выведите одно число — расстояние от точки до отрезка (с точностью не менее 5 знаков после точки).

Пример

0 4 2 3 2 5	 --->   2.0

Задача H. "Точка пересечения высот"

Даны координаты трех точек, не лежащих на одной прямой X1, Y1, X2, Y2, X3, Y3. Все числа целые, по модулю не превосходят 1000.
Выведите два числа X, Y, задающие координаты точки пересечения высот в треугольнике, образованном исходными точками (с точностью не менее 5 знаков после десятичной точки).

Пример

1 1 2 4 3 2  --> 3 2

Задача I. "Точка пересечения медиан"

Даны координаты трех точек, не лежащих на одной прямой X1, Y1, X2, Y2, X3, Y3. Все числа целые, по модулю не превосходят 1000.
Выведите два числа X, Y, задающие координаты точки пересечения медиан в треугольнике, образованном исходными точками (с точностью не менее 5 знаков после десятичной точки).

Пример

1 1 2 4 3 2  --> 2.00000 2.33333

Задача J. "Точка пересечения биссектрисс"

Даны координаты трех точек, не лежащих на одной прямой X1, Y1, X2, Y2, X3, Y3. Все числа целые, по модулю не превосходят 1000.
Выведите два числа X, Y, задающие координаты точки пересечения биссектрисс в треугольнике, образованном исходными точками (с точностью не менее 5 знаков после десятичной точки).

Пример

1 1 2 4 3 2 -->  2.12132  2.29289

Задача K. "Вписанная окружность"

Даны координаты трех точек, не лежащих на одной прямой X1, Y1, X2, Y2, X3, Y3. Все числа целые, по модулю не превосходят 1000.
Выведите три числа X, Y, R, задающие координаты центра и радиус окружности, вписанной в треугольник, образованный данными точками (с точностью не менее 5 знаков после десятичной точки).

Пример

1 1 2 4 3 2 -->  2.12132  2.29289 0.65493

Задача L. "Описанная окружность"

Даны координаты трех точек, не лежащих на одной прямой X1, Y1, X2, Y2, X3, Y3. Все числа целые, по модулю не превосходят 1000.
Выведите три числа X, Y, R, задающие координаты центра и радиус окружности, описанной вокруг треугольника, образованного данными точками (с точностью не менее 5 знаков после десятичной точки).

Пример

1 1 2 4 3 2 --> 1.50000 2.50000 1.58114

Задача M. "Площадь треугольника"

Даны 6 чисел — координаты трёх вершин треугольника. Все числа целые, не превышающие по модулю 1000.
Выведите одно число — величину площади треугольника (с точностью не менее 5 знаков после десятичной точки).

Пример

1 0 2 4 5 2	 --> 7.0

26 апреля 2013. Геометрия — решение задач.

17 мая 2013. Геометрия — решение задач.

Задача N. "Площадь многоугольника"

На плоскости задан многоугольник координатами вершин в порядке их обхода.
Многоугольник не обязательно выпуклый.
Требуется найти его площадь.

Записано сначала число N — количество вершин многоугольника (3≤N≤100), затем N пар вещественных чисел, задающих координаты его вершин.

Выведите площадь многоугольника не меньше, чем с 3 знаками после десятичной точки.

Пример

4
0 0
0 2
4 3.5
4 0  						---> 11.000

Задача O. "Полярный угол точки."

Даны два числа — координаты точки. Числа целые, по модулю не превышающие 1000.
Выведите число — величину её полярного угла (в радианах).

Пример

2 3	   					---> 0.98279

Задача P. "Угол между векторами."

Даны 4 числа — координаты двух векторов. Все числа целые, по модулю не превышающие 1000.

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

Пример

2 1 3 5	 					---> 0.56673

Задача Q. "Полярное расстояние."

Заданы полярные координаты двух точек на плоскости. Требуется найти расстояние между этими точками.

Вводятся 4 числа, первые два задают радиус и полярный угол первой точки, последние два — второй. Обратите внимание: все углы задаются в градусах.

Выведите расстояние между точками не меньше, чем с 3 знаками после десятичной точки.

Пример

3 90
4 180						---> 5

Задача R. "Принадлежность точки многоугольнику - 1."

Задан ВЫПУКЛЫЙ многоугольник и точка. Нужно определить, лежит ли точка внутри этого многоугольника.

Задано число N (3≤N≤100). Далее идет N пар вещественных чисел, задающих координаты вершин многоугольника. Последние два вещественных числа задают координаты точки.

Выведите сообщение YES, если точка лежит внутри многоугольника или NO, вне него.

ИЗВЕСТНО, что точка не лежит на границе многоугольника.

Пример

3
0 0
1 0
0 1
10 10						---> NO