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

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

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

Помогите пожалуйста разработать алгоритм и составить программу вычисления таблицы значений функции, заданной в виде разложения в ряд. Значение функции вычислять с точностью z>0, т.е. вычисление суммы членов ряда необходимо прекратить, когда абсолютная величина очередного члена ряда разложения окажется меньше z: | ак | <z. При вычислении очередного члена целесообразно воспользоваться выражением: ак+1как; к= 0, 1, 2, ..., где ак - некоторый к-ый член ряда; ак+1 - следующий к+1-ый член ряда; ск - коэффициент, определяемый номером к. При составлении программы необходимо по возможности воспользоваться операторами организации циклов WHILE, REPEAT, FOR. Границы интервала вычислений функций a и b, величина шага изменения аргумента h и точность вычисления функции z задаются при вводе.

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

textual
Листинг программы
uses crt;
var a,b,h,z,x,s,t:real;
    k:integer;
begin
clrscr;
repeat
writeln('Введите диапазон a<b');
readln(a,b);
until a<b ;
repeat
write('Введите шаг h<',b-a:0:1,' h=');
readln(h);
until h<b-a;
repeat
write('Введите точность 0<z<1 z=');
readln(z);
until(z>0)and(z<1);
x:=a;
while x<b+h/2 do
 begin
  k:=0;
  t:=1;
  s:=t;
  while abs(t/(2*k+1))>z do
   begin
    k:=k+1;
    t:=-t*x*x/k;
    s:=s+t/(2*k+1);
   end;
  s:=2*x*s/pi;
  writeln('x=',x:6:2,' f=',s:8:4);
  x:=x+h;
 end;
readln;
end.

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

  1. В первой строке кода используется библиотека crt, которая является стандартной для языка Turbo Pascal.
  2. Переменные a, b, h, z, x, s и t объявлены как real, что означает, что они могут хранить числовые значения с плавающей точкой.
  3. Переменная k объявлена как integer, что означает, что она может хранить целочисленные значения.
  4. Строка repeat используется для выполнения повторяющегося блока кода до тех пор, пока выполняется определенное условие.
  5. В строке readln(a,b) считывается ввод пользователя, где a и b - это переменные, которые будут использоваться в дальнейшем.
  6. В строке repeat h<b-a; просится ввести значение h, которое будет использоваться в дальнейшем.
  7. В строке repeat z>0 and z<1; просится ввести значение z, которое будет использоваться в дальнейшем.
  8. Переменная x инициализируется значением a.
  9. В цикле while x<b+h/2 do выполняется следующий код:
    • переменной k присваивается значение 0;
    • переменная t инициализируется значением 1;
    • переменная s инициализируется значением t;
    • затем происходит цикл while, который выполняется, пока abs(t/(2*k+1))>z.
    • внутри цикла while переменная t присваивается значение -txx/k;
    • переменная s присваивается значение s+t/(2*k+1);
  10. После завершения цикла while переменная s инициализируется значением 2xs/pi;
  11. Значение x и s выводится на экран с помощью функции writeln.
  12. Переменная x увеличивается на h.
  13. Цикл repeat заканчивается, когда пользователь вводит некорректные значения для a, b или h, или когда z становится больше 1.
  14. Программа завершается с помощью функции readln.

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

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