• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача Turbo Pascal

vladislav95

Ученик
Регистрация
19 Дек 2014
Сообщения
3
Реакции
0
Баллы
0
Задача Turbo Pascal

Здравствуйте! Нужна помощь с написанием программы в TurboPascal. Условие задачи: Для заданных значений x и n вычислить приближенное значение функции y=lnx, используя первые n членов из разложения в ряд Тейлора:
IMG_0005.webp.
Заранее благодарен!
 
Очень нуждаюсь в помощи, ибо Паскаль проходил давно и не основательно.)
 
Очень нуждаюсь в помощи, ибо Паскаль проходил давно и не основательно.)
Да у нас 100000000 таких задач рассмотрено! Ну ладно, сейчас нарисую - делов-то на несколько минут!
 
Готово, получите:
Код:
Var
 n,k:Integer;
 S,a,x:Real;

Begin
 Write('x (>0) = ');
 Readln(x);
 Write('n = ');
 Readln(n);
 a:=(x-1);
 S:=a;
 for k:=2 to n do
  begin
   a:=-a*(x-1)*(k-1)/k;
   S:=S+a;
  end;
 Writeln('Result: ',S:0:5);
 Writeln('Accurate value: ',Ln(x):0:5);
 Readln
End.
 
Готово, получите:
Код:
Var
 n,k:Integer;
 S,a,x:Real;

Begin
 Write('x (>0) = ');
 Readln(x);
 Write('n = ');
 Readln(n);
 a:=(x-1);
 S:=a;
 for k:=2 to n do
  begin
   a:=-a*(x-1)*(k-1)/k;
   S:=S+a;
  end;
 Writeln('Result: ',S:0:5);
 Writeln('Accurate value: ',Ln(x):0:5);
 Readln
End.

Огромное Вам спасибо!
 
Назад
Сверху