Борис Глебов
Сообщение
#1823 9.4.2007, 13:55
Задание: Cоставить программу для вычисления значения функции при заданных значениях аргумента. Ввод аргументов осуществить через Const.
y=ln(pi*x^2)/ln3+arccos(7*x)^(1/8) при x=10,05
Вот, что я сделал:
Program Task3;
Const
x=10.05;
Var
y: Real;
Begin
y:=Ln(pi*Sqr(x))/Ln(3)+pi/2-Arctan(Sqrt(Sqrt(Sqrt(7*x)))/Sqrt(1-Sqrt(Sqrt(7*x))));
Writeln(y)
End.
Неработет. Программа нормально работает, только если удалить "1-". Что делать?
alxdr
Сообщение
#1855 10.4.2007, 8:24
1. (7*10.05)^(1/8) == 1.7. К слову, данная точка не входит в область определения арккосинуса, а поэтому в формуле для арктангенса получаем корень квадратный из отрицательного числа. В этом и ошибка.
Кстати arccos можно считать через arctg и без pi/2: arccos(x)=arctg((1-x^2)^(1/2)/x).
Борис Глебов
Сообщение
#2076 15.4.2007, 6:04
Вместо pi/2-Arctan(Sqrt(Sqrt(Sqrt(7*x)))/Sqrt(1-Sqrt(Sqrt(7*x)))) поставил Arctan(Sqrt(1-Sqrt(Sqrt(7*x)))/Sqrt(Sqrt(Sqrt(7*x)))). И всё равно ничего не получается. И опять если убрать "1-", то получается!
Dimka
Сообщение
#2079 15.4.2007, 6:21
Не будет у Вас работать программа, потому что значние данной функции (которую Вы программируете) при х=10.05 будет выражаться комплексным числом, а Paskal комплексные числа по-моему не понимает.
Борис Глебов
Сообщение
#2080 15.4.2007, 6:26
И что мне так и написать в контрольной?
Dimka
Сообщение
#2081 15.4.2007, 6:43
От нас Вы что хотите?
Спросите у препода, нет ли ошибки в задании?
Если нет, то добейтесь, чтобы программа выдавала результат в комплексных числах. Для этого нужно открывать справочник по математике и искать соответствующие формулы.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.