Вычислить и вывести на экран в виде таблицы значения функции - Pascal (80435)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста! целую неделю ломаю голову(((( никак не получается сделать. заранее спасибо!!! весь этот ужас надо сделать на Паскале( Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.

Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции»

textual
Листинг программы
  1. var n: integer;
  2.     xnac, xkon, dx, x, a, s, eps: real;
  3. begin
  4.   write('    Начальное значение аргумента: ');
  5.   readln(xnac);
  6.   write('     Конечное значение аргумента: ');
  7.   readln(xkon);
  8.   if xnac > xkon
  9.     then begin
  10.       writeln('Начальное больше конечного, значения обменяны местами.');
  11.       x := xnac;
  12.       xnac := xkon;
  13.       xkon := x
  14.     end;
  15.   repeat
  16.     write('Шаг изменения аргумента (dx > 0): ');
  17.     readln(dx)
  18.   until dx > 0;
  19.   if xkon - xnac < dx then writeln('Шаг слишком большой, будет выведено только одно значение функции.');
  20.   repeat
  21.     write('   Точность вычислений (eps > 0): ');
  22.     readln(eps)
  23.   until eps > 0;
  24.   writeln;
  25.   writeln('Таблица значений ряда Тейлора для функции f(x)=ln((x+1)/(x-1))');
  26.   writeln('на интервале от ', xnac, ' до ', xkon);
  27.   writeln('с шагом ', dx, ' с точностью ', eps);
  28.   writeln;
  29.   writeln('+------------------------+------------------------+------------------------+');
  30.   writeln('|           x            |          S(x)          |  Просуммировано членов |');
  31.   writeln('+------------------------+------------------------+------------------------+');
  32.   x := xnac;
  33.   xkon := xkon + dx / 2;
  34.   eps := eps / 2;
  35.   while x < xkon do
  36.     begin
  37.       write('| ', x:22, ' | ');
  38.       if abs(x) <= 1
  39.         then writeln('не определено':22, ' | ', 'не определено':22, ' |')
  40.         else begin
  41.           a := 1 / x;
  42.           s := a;
  43.           n := 1;
  44.           while abs(a) >= eps do
  45.             begin
  46.               a := a * (n - 0.5) / (n + 0.5) / x / x;
  47.               s := s + a;
  48.               inc(n)
  49.             end;
  50.           writeln(2 * s:22, ' | ', n:22, ' |')
  51.         end;
  52.       x := x + dx
  53.     end;
  54.   writeln('+------------------------+------------------------+------------------------+');
  55.   readln
  56. end.

Объяснение кода листинга программы

  1. Объявляется переменная n типа integer.
  2. Объявляются переменные xnac, xkon, dx, x, a, s, eps типа real.
  3. Вводится начальное значение аргумента и присваивается переменной xnac.
  4. Вводится конечное значение аргумента и присваивается переменной xkon.
  5. Проверяется условие, если xnac больше xkon, то значения переменных меняются местами.
  6. Вводится шаг изменения аргумента и присваивается переменной dx.
  7. Проверяется условие, если разность xkon - xnac меньше dx, выводится сообщение о том, что шаг слишком большой.
  8. Вводится точность вычислений и присваивается переменной eps.
  9. Выводится заголовок таблицы с информацией о функции и интервале значений аргумента.
  10. Идет цикл вывода значений функции для каждого x из заданного интервала.
  11. Расчет значений с использованием ряда Тейлора для функции f(x)=ln((x+1)/(x-1)).
  12. Выводится результат в виде таблицы с колонками для x, S(x) и Просуммировано членов.
  13. Цикл завершается, и таблица закрывается.
  14. Приложение ожидает ввода пользователя для закрытия.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы