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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 00:53   #1
Marfeys
 
Регистрация: 23.11.2010
Сообщений: 9
По умолчанию Вещественные операции

Составить программу вычисления функции F(x)

F(x)=a*x*x+b*x+c+2(sin(x)-Sin(2*x)/2+....+(SIN(N*X)/n)*(-1)^(n-1)

До выполнения условия |sin(n*x)/n|<=e(Эпсил***)

Даны e=0.0005 , e=0.0001 and e=0.001
Даны x=2.15 , x=2.76 and x=3.02

Итерационный цикл...На любой из этих пар Pascal ABC пишет что в шестой строке неверная вещественная операция...
Вот код

Цитата:
var a,b,c,F,x,S,eps:real;
n:integer;
begin
write('vvedite x=');readln(x);
write('vvedite eps=');readln(eps);
F:=0; n:=1; S:=(sin(n*x)/n)*exp(ln(-1)*(n-1));
while abs(sin(n*x)/n)<=eps do
begin
F:=F+S;
n:=n+1;
S:=(sin(n*x)/n)*exp(ln(-1)*(n-1));
end;
F:=2*F+a*x*x+b*x+c;
write('gJI9I x=',x:5:3, ' eps=',eps:5:2,' F=',F:10:3);
readln;
end.
Подскажите в чём ошибка ....

Последний раз редактировалось Marfeys; 20.12.2010 в 01:06.
Marfeys вне форума Ответить с цитированием
Старый 20.12.2010, 01:13   #2
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

Код:
S:=(sin(n*x)/n)*exp(ln(-1)*(n-1));
вот тут ошибка... нельзя из отрицательного числа логарифм считать
unbanned вне форума Ответить с цитированием
Старый 20.12.2010, 01:36   #3
Marfeys
 
Регистрация: 23.11.2010
Сообщений: 9
По умолчанию отрицательное...

Я думал я задал число (-1) И Для него уже написал степень...
Marfeys вне форума Ответить с цитированием
Старый 22.12.2010, 17:58   #4
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

в принципе -1 в степени это просто минус... т.е. если степень четная +, если нечетная -... вместо не го можно использовать просто -1.
допустим
for i:=1 to 10 do begin
n:=n*(-1);
end;
unbanned вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Вещественные числа SL1CK Общие вопросы .NET 5 15.02.2012 10:56
Вещественные числа! .::HroNik::. Общие вопросы C/C++ 1 28.11.2010 00:42
Даны 4 вещественные матрицы. Найти сумму Свечечка Паскаль, Turbo Pascal, PascalABC.NET 1 01.06.2010 12:43
Даны вещественные числа a1,a2,...,an Floro Flores Помощь студентам 4 19.05.2010 00:03
Вещественные Hanickii Общие вопросы C/C++ 9 17.09.2009 18:14