IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Циклы с известным числом повторений
сообщение
Сообщение #1


Гость






Нужно вычислить y при x=1.5
y=x^6/1!+x^5/2!+x^4/3!+...+x/6!
Короче, прог-у я написала, но она высчитывает не то, что мне хотелось бы.
Уже мучаюсь непойми сколько, все гениальные идеи давно иссякли. Можа гляните, что нетак и чего не хватает?
Код
Program N;
Var n,i: integer;
y,x: real:
Begin
Writeln ('wwod n');
readln (n);
x:=1.5;
y:=0;
for i:=1 to n do begin
y:=y+exp(i*ln(x))/n;
n:=n*(n+1);
end;
writeln('y=',y);
end.


В первую очередь - не хватает тегов CODE

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

Репутация: -  4  +


Цитата
for i:=1 to n do begin
y:=y+exp(i*ln(x))/n;
n:=n*(n+1);
end;

сделай так
Код

m:=1
for i:=1 to n do begin
m:=m*i;
y:=y+exp((n-i+1)*ln(x))/m;
end;


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Код
Program _N_; { <--- Название программы
не должно совпадать с именами переменных или констант }
const
 n = 6; { <--- Зачем же его вводить? }
Var
 i, divider: integer;
 y,x: real:
Begin
 write('Ввод Х'); readln(X);
 y:=0; divider := 1; { <--- а вот Divider нужен ... }
 for i:=1 to n do begin
   y:=y+exp(i*ln(x))/divider;
   divider := divider * (i+1);
 end;
writeln('y=',y);
end.


FreeMan,
:yes:
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Попробую, но если что-я еще вернусь... rolleyes.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






И так по порядку:
FreeMan, вроде все работает, но я не уверена так ли, т. к. при n=2 должно получится 3, а получается 3.75. такое допустимо?
Volvo, я не знаю, что такое divider sad.gif Мы енто не проходили, а потому я не могу им воспользоваться...
А в общем, спасибо ребята за понимание. Молодцы, что помогаете людям :thanks:
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата(Kelsi @ 9.04.05 12:50)
Volvo, я не знаю, что такое divider  sad.gif  Мы енто не проходили, а потому я не могу им воспользоваться...

Это просто имя переменной smile.gif точно такое же, как и X и Y и N... У тебя просто не совсем правильно было сделано, я немного подправил, и заодно ввел новую переменную с именем Divider (т.е. Делитель)... Не нравится Divider, можешь поменять на M как у FreeMan'а ...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 9:14
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name