Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Геометрические задачи

21K
20 октября 2006 года
Fieldy
2 / / 20.10.2006
Задали задачки по програмированию на паскале, среди них оказались задачи связанные с геометрией :(
Помогите плиз...

1. На плоскости задана окружность с центром в т.О(x0,y0) радиуса R. Составьте программу, определяющую, принадлежит ли заданная точка Z(x,y) множеству таких точек на плоскости, что касательные, проведенные из этой точек к данной окружности, образуют между собой угол F.

2. Длина основания равнобедренного треугольника равна A, величина угла при вершине F. Составьте программу вычисления длины наибольшей высоты треугольника.
12K
20 октября 2006 года
rjx
55 / / 11.03.2006
[QUOTE=Fieldy]
1. На плоскости задана окружность с центром в т.О(x0,y0) радиуса R. Составьте программу, определяющую, принадлежит ли заданная точка Z(x,y) множеству таких точек на плоскости, что касательные, проведенные из этой точек к данной окружности, образуют между собой угол F.
[/QUOTE]
Код:
const eps = 0.001; // точность
var x0, y0, x, y, R, F, a: real;

function arcsin(x: real): real;
begin
    if abs(x) > 1 then arcsin := 0
        else arcsin := arctan( x / sqrt((1 - sqr(x))) ) / pi * 180.0
end;

function angle(x0, y0, x, y, R: real): real;
var l: real;
begin
    l := sqrt( sqr(x-x0)+sqr(y-y0) );
    angle := 2 * arcsin(R/l)
end;

begin
    readln(x0, y0, x, y, R, F);
    a := angle(x0, y0, x, y, R);
    if abs(a-F) < eps then
        writeln('yes')
    else
        writeln('no')
end.


[QUOTE=Fieldy]
2. Длина основания равнобедренного треугольника равна A, величина угла при вершине F. Составьте программу вычисления длины наибольшей высоты треугольника.
[/QUOTE]
 
Код:
h := A * max( sin(F), 2 * tan(F) )


Вроде бы так...

З.Ы. Заранее хочу предупредить о возможных ошибки в синтаксисе ;)
257
20 октября 2006 года
kosfiz
1.6K / / 18.09.2005
[QUOTE=rjx]
 
Код:
h := A * max( sin(F), 2 * tan(F) )

[/QUOTE]
если так, то в этом случае F должно быть в радианах, а если F задано в градусах, то надо так:
 
Код:
sin(F*pi/180)
или
tan(F*pi/180)
12K
20 октября 2006 года
rjx
55 / / 11.03.2006
[QUOTE=kosfiz]если так, то в этом случае F должно быть в радианах, а если F задано в градусах, то надо так:
[/QUOTE]
В данном случае F - в радианах
257
20 октября 2006 года
kosfiz
1.6K / / 18.09.2005
2rjx
я то понял, просто человеку пояснил.
21K
21 октября 2006 года
Fieldy
2 / / 20.10.2006
спасибо
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог