Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2014, 14:37   #11
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Похоже, что перепутаны у тебя arcsin c arccos. Первая программа вполне вроде как корректна.

Код:
function ArcSin(X:Extended):Extended;
BEGIN
    IF ROUND(X*10000000)=10000000 THEN ArcSin:=Pi/2 ELSE
    IF ROUND(X*10000000)=-10000000 THEN ArcSin:=-Pi/2 ELSE
    ArcSin:=ArcTan(X/SQRT(1-X*X));
END;

function ArcCos(X:Extended):Extended;
BEGIN
    IF ROUND(X*10000000)=10000000 THEN ArcCos:=0 ELSE
    IF ROUND(X*10000000)=-10000000 THEN ArcCos:=Pi ELSE
    ArcCos:=(Pi/2)-ArcTan(X/SQRT(1-X*X));
END;
А, формулу просто ты написал неверно.

Последний раз редактировалось ZX Spectrum-128; 14.10.2014 в 14:40.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 14.10.2014, 16:47   #12
Vadim7721
Пользователь
 
Аватар для Vadim7721
 
Регистрация: 30.09.2014
Сообщений: 27
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Похоже, что перепутаны у тебя arcsin c arccos. Первая программа вполне вроде как корректна.

Код:
function ArcSin(X:Extended):Extended;
BEGIN
    IF ROUND(X*10000000)=10000000 THEN ArcSin:=Pi/2 ELSE
    IF ROUND(X*10000000)=-10000000 THEN ArcSin:=-Pi/2 ELSE
    ArcSin:=ArcTan(X/SQRT(1-X*X));
END;

function ArcCos(X:Extended):Extended;
BEGIN
    IF ROUND(X*10000000)=10000000 THEN ArcCos:=0 ELSE
    IF ROUND(X*10000000)=-10000000 THEN ArcCos:=Pi ELSE
    ArcCos:=(Pi/2)-ArcTan(X/SQRT(1-X*X));
END;
А, формулу просто ты написал неверно.
Да, вы правы, спасибо
Vadim7721 вне форума Ответить с цитированием
Старый 14.10.2014, 19:20   #13
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А если важен то садись - два.
Повторю: во-первых если память не отшибло аргументы arctan нужно переводить в радианы - это нужно проверить. Во-вторых поставить readln; в конец программы чтоб задержать консоль на экране для просмотра результатов.
Арктангенс берётся не от угла, а от числа. А вот тангенс - от угла.
Вадим Мошев вне форума Ответить с цитированием
Старый 14.10.2014, 19:23   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Арктангенс берётся не от угла, а от числа. А вот тангенс - от угла.
Ладна, сенсей. Пойду в военкомат )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что не правильно? Программа на C++ находит минимум правильно, а максимум нет. В чем погрешность? rafael999 Помощь студентам 3 26.10.2013 11:21
Правильно ли, на С++ L6go1as Помощь студентам 2 22.10.2011 20:51
Не правильно (или правильно?) работает позиционирование в WebKit mutabor HTML и CSS 5 09.12.2010 09:54
правильно ли?? Babur4iK Помощь студентам 1 28.01.2010 13:22