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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2011, 09:08   #1
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
Вопрос возвести в степень

вот пример s:=(x*x*x/3)+exp(ln(-1)*(n+1))*(exp(ln(x)*3*n))/(2*n-1)*(n+2) но ведь не может быть логарифм с (-1) как еще можно указать степень?
gylayko вне форума Ответить с цитированием
Старый 06.10.2011, 09:32   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Вы хоть изредка читаете ответы? Я ведь Вам уже писала, что (-1)в нечетной степени = -1, а (-1) в четной степени =1.
Следовательно, Вам не надо возводить ее в степень, просто, необходимо определить степень четная или нечетная, т.е делится на 2 без остатка или нет, а дальше ваше выражение умножать на -1 или +1.
Думаю модераторам скоро надоест и они начнут закрывать Ваши повторяющиеся темы.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 06.10.2011, 16:12   #3
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
По умолчанию

ну вот смотрите
var x,s:real;
n:integer;
begin
x:=0.2;
for n:=1 to 7 do
if n mod 2=0 then
s:=(x*x*x/3)+exp(ln(-1)*(n+1))*(exp(ln(x)*3*n))/(2*n-1)*(n+2) else
s:=(x*x*x/3)+exp(ln(1)*(n+1))*(exp(ln(x)*3*n) )/(2*n-1)*(n+2);
writeln('summa=',s:0:3);
readln;
end.
выдает ту же самую ошибку! нифига не меняется!!!!
gylayko вне форума Ответить с цитированием
Старый 06.10.2011, 17:13   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

В Паскале я не очень, но делала бы следующим образом
s:=(x*x*x/3) ; это первый член суммы.
for n:=1 to 7 do ; цикл от 1 до 7 синтаксис длжны знать Вы
;--- Это выполняется в цикле судяпо всему д.б. begin
if (n +1) mod 2=0 then ; если степень. в которую возводим четная
s:=s+(exp(ln(x)*3*n))/(2*n-1)*(n+2);
else ; если степень. в которую возводим нечетная
s:=s-(exp(ln(x)*3*n))/(2*n-1)*(n+2);
;----это конец цикла думаю - end
writeln('summa=',s:0:3);
readln;
end.
Синтаксиса и правил Паскаля на знаю. Проверьте все.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 06.10.2011, 17:42   #5
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
По умолчанию

ну сделал так, теперь в строчке if (n +1) mod 2=0 then показывает синтаксическую ошибку!
gylayko вне форума Ответить с цитированием
Старый 06.10.2011, 18:09   #6
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Я ведь предупредила о своих знаниях. Но по аналогу в С думаю
if ((n +1) mod 2=0 )then
да а вформуле если все выражение (2*n-1)*(n+2) в знаменателе, то ((2*n-1)*(n+2) ).
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как возвести число в степень? Wintrymoon Паскаль, Turbo Pascal, PascalABC.NET 36 09.05.2011 15:11
возвести матрицу в степень !!! drylozav Помощь студентам 10 03.10.2010 19:38
как возвести в степень??? Yokka Свободное общение 4 24.03.2010 12:52
Возвести в степень b некоторое число a Михаил70 Общие вопросы Delphi 3 09.09.2009 16:10
как ВОЗВЕСТИ В СТЕПЕНЬ? Sova123456 Помощь студентам 2 14.05.2008 20:19