Разработать алгоритм и составить программу вычисления таблицы значений функции - Pascal

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

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

Разработать алгоритм и составить программу вычисления таблицы значений функции, заданной в виде разложения в ряд. Значение функции вычислять с точностью ε>0, т.е., вычисление суммы членов ряда необходимо прекратить, когда абсолютная величина очередного члена ряда разложения окажется меньше ε: |ak|<ε. При вычислении очередного члена ряда целесообразно воспользоваться рекуррентным выражением: ak+1=ckak; k = 0, 1, 2, ..., где

ak

- некоторый k-ый член ряда;

ak+1

- следующий

k+1

-ый член ряда;

ck

- коэффициент, определяемый номером

k

. При создании программы необходимо по возможности воспользоваться операторами организации циклов

WHILE, REPEAT, FOR.

Границы интервала вычисления функции

a

и

b

, величина шага изменения аргумента

h

и точность вычисления функции

ε

задаются при вводе. На печать выводится номер по порядку, значение аргумента, соответствующее еьу, значение функции и номер члена ряда, на котором закончилось вычисление значения функции, в форме таблицы:
x f(x) №чл.р.
1      
2      
3      
...      

Решение задачи: «Разработать алгоритм и составить программу вычисления таблицы значений функции»

textual
Листинг программы
  1. uses crt;
  2. //процедура вычисления суммы ряда(s) и числа итераций(i)
  3. procedure F(x,e:real;var s:real;var i:longint);
  4. var t,x1:real;
  5. begin
  6. t:=1;//начальные значения при i=1
  7. s:=t;
  8. x1:=x/2;
  9. i:=0;
  10. while abs(t)>e do//пока модуль очередного члена ряда больше точности
  11.  begin
  12.    i:=i+1;//наращиваем счетчик
  13.    t:=-t*x1*x1/sqr(i);//менякм знак, домножаем на x1^2 и делим на квадрат индекса
  14.    s:=s+t;//и суммируем
  15.  end;
  16. end;
  17. var a,b,h,e,s:real;
  18.     i,n:integer;
  19. begin
  20. write('Введите начало интервала a=');
  21. readln(a);
  22. repeat
  23. write('Введите конец интервала b>',a:0:1,' b=');
  24. readln(b);
  25. until b>a;
  26. repeat
  27. write('Введите точность в интервале (0,1) e=');
  28. readln(e);
  29. until(e>0)and(e<1);
  30. repeat
  31. write('Введите шаг табуляции, положительное число меньше ',b-a:0:2,' h=');
  32. readln(h);
  33. until (h<b-a)and(h>0);
  34. clrscr;
  35. writeln('Таблица табулирования функции, представленной разложением в ряд');
  36. writeln('на интервале ',a:0:2,'  ',b:0:2,' с шагом ',h:0:2,' с точностью ',e:0:6);
  37. writeln('----------------------------');
  38. writeln('| №пп |  x  |  f(x)  |  n  |');
  39. writeln('----------------------------');
  40. i:=0;
  41. while a<b+e do
  42.  begin
  43.   i:=i+1;
  44.   F(a,e,s,n);
  45.   writeln('|',i:4,' |',a:5:2,'|',s:8:4,'|',n:4,' |');
  46.   a:=a+h;
  47.  end;
  48. writeln('----------------------------');
  49. end.

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

  1. Начало переменной a: Введите начало интервала a=
  2. Начало переменной b: Введите конец интервала b>
  3. Начало переменной e: Введите точность в интервале (0,1) e=
  4. Начало переменной h: Введите шаг табуляции, положительное число меньше, h=
  5. Начало переменной s: Объявление переменной s в процедуре F.
  6. Начало переменной i: Объявление переменной i в процедуре F.
  7. Производится ввод значений переменных a, b, e, и h с клавиатуры.
  8. Производится очистка экрана.
  9. Выводится заголовок таблицы табулирования функции.
  10. Начало цикла табулирования функции и вывод результатов: счетчик увеличивается на 1, выполняется процедура F для значения a, выводятся значения x, f(x), и n.
  11. Завершение цикла табулирования функции.

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


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

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

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

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

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

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