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

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

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

 
 Ответить  Открыть новую тему 
> Решение функции.
Jason
сообщение 11.01.2006 14:54
Сообщение #1





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

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


Помогите пожалуйста с задачей: для заданных "x" и "E" найти значение встроенной функции и сравнить со значением внешней при "x>1/2". Вот функция:
Код

         k=беск.   (x-1)^k  
Ln(x)= Sum      -------
          k=1              kx




 var x,summ,elem,element,rasn:real; epselon:real; k:word;
begin summ:=0; elem:=1;
writeln('Vvedite epselon');
read(epselon);
write('Vvedite x>=1/2:');
read(x);
elem:=elem*(x-1)/x;
k:=1;
repeat
element:=1/k*elem;
summ:=summ+element;
k:=k+1;
rasn:=Ln(x)-summ;
until rasn<epselon;
writeln('Rasnitsa ravna',rasn);
writeln('Natural log raven',ln(x));
readln;
readln;
end.



Сообщение отредактировано: Jason - 11.01.2006 16:28
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.01.2006 15:06
Сообщение #2


Гость






В чем именно проблема? Ты привел код, с ним что-то не в порядке?

Кстати, здесь: Разложение функции в ряд
приведены разложения для нескольких стандартных функций...
 К началу страницы 
+ Ответить 
Jason
сообщение 11.01.2006 15:18
Сообщение #3





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

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


Я не знаю верен ли этот код?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 11.01.2006 15:28
Сообщение #4


Гуру
*****

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

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


Цитата(Jason @ 11.01.2006 15:18) *

Я не знаю верен ли этот код?

Сверь со значением стандартной функции ln(x)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.01.2006 15:45
Сообщение #5


Гость






Цитата
Я не знаю верен ли этот код?
Нет... Ты в коде используешь
rasn:=Ln(x)-summ;
для определения окончания цикла... Этого делать нельзя. Ты должен использовать разность между текущим и предыдущим элементом ряда...
 К началу страницы 
+ Ответить 
Jason
сообщение 11.01.2006 16:18
Сообщение #6





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

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


Подскажи как это сделать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.01.2006 17:06
Сообщение #7


Гость






var
n: integer;
x, eps, next, s: double;
begin
write('eps = '); readln(eps);
write('x = '); readln(x);

next := (x - 1)/x;
s := next; n := 1;
repeat
inc(n);
next := (next * (x - 1)) / x;
s := s + next/n;
until abs(next/n) < eps;
writeln('my func = ', s, ' ln(x) = ', ln(x));
end.

Только учти, что X должен быть больше 0.5 ...
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 18.07.2025 13:58
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"