Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - Turbo Pascal (33771)

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

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

Сам бы все это дело сделал бы да не могу у меня комп слишком "Старый" Для "Новейшего" Turbo Pascal 7.0 )) Ребят, я серьезно намучился с этими дос боксами и установкой винды на виртуалку(Так не канает).... Вообще ужс... Ошибки выдает которых у меня нет вовсе(Я про другие писанные мной программы). Я уже путаюсь в правильности написанных мной прорамм... Мне нужно 3 задания сделать. ------------------------------------------- 3.(Математику не знаю) Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. [удалено]

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

textual
Листинг программы
uses crt;
{ïðîöåäóðГ* âû÷èñëåГ*ГЁГї ñóììû ðÿäГ*(s) ГЁ Г·ГЁГ±Г«Г* ГЁГІГҐГ°Г*öèé(i)}
procedure F(x,e:real;var s:real;var i:longint);
var t:real;
begin
s:=x;{Г*Г*Г·Г*ëüГ*ûå Г§Г*Г*Г·ГҐГ*ГЁГї ïðè i=1}
t:=x;
i:=1;
while abs(t/(2*i+1))>e do{ïîêГ* ìîäóëü î÷åðåäГ*îãî ÷ëåГ*Г* ðÿäГ* áîëüøå òî÷Г*îñòè}
 begin
   i:=i+1;{Г*Г*Г°Г*Г№ГЁГўГ*ГҐГ¬ Г±Г·ГҐГІГ·ГЁГЄ}
   t:=t*x*x;{äîìГ*îæГ*ГҐГ¬ Г*Г* x^2}
   s:=s+t/(2*i-1);{äåëèì Г*Г* î÷åðåäГ*îå Г*ГҐГ·ГҐГІГ*îå ГЁ ñóììèðóåì}
 end;
s:=2*s; {ГіГ¬Г*îæГ*ГҐГ¬ Г*Г* 2}
end;
var xn,xk,e,dx,s:real;
    n:longint;
begin
clrscr;
repeat
write('Ââåäèòå Г*Г*Г·Г*ëî ГЁГ*òåðâГ*Г«Г* -1<xn<1 xn=');
readln(xn);
until (xn>-1)and(xn<1);
repeat
write('Ââåäèòå ГЄГ®Г*ГҐГ¶ ГЁГ*òåðâГ*Г«Г* ',xn:0:1,'<xk<1 xk=');
readln(xk);
until (xk>xn)and(xk<1);
repeat
write('Ââåäèòå òî÷Г*îñòü Гў ГЁГ*òåðâГ*ëå (0,1) e=');
readln(e);
until(e>0)and(e<1);
repeat
write('Ââåäèòå ГёГ*ГЈ ГІГ*áóëÿöèè, ïîëîæèòåëüГ*îå ÷èñëî ìåГ*ГјГёГҐ ',xk-xn:0:2,' dx=');
readln(dx);
until (dx<xk-xn)and(dx>0);
clrscr;
writeln('      Г’Г*áëèöГ* ГІГ*áóëèðîâГ*Г*ГЁГї ГґГіГ*êöèè ln((1+x)/(1-x))');
writeln('Г*Г* ГЁГ*òåðâГ*ëå ',xn:0:2,'  ',xk:0:2,' Г± ГёГ*ãîì ',dx:0:2,' Г± òî÷Г*îñòüþ ',e:0:6);
writeln('----------------------------------------');
writeln('|       |           |     1+x    |     |');
writeln('|   x   | âû÷èñëåГ*Г® |  ln-----   |  n  |');
writeln('|       |           |     1-x    |     |');
writeln('----------------------------------------');
while xn<=xk+e do
 begin
  F(xn,e,s,n);
  writeln('|',xn:6:2,' |',s:10:6,' |',ln((1+xn)/(1-xn)):10:6,'  |',n:4,' |');
  xn:=xn+dx;
 end;
writeln('----------------------------------------');
readln
end.

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

  1. В начале кода объявлены переменные x, e, s и n типа real. Переменная x будет использоваться для хранения значения функции, а переменная e - для хранения значения параметра e. Переменная s будет использоваться для хранения промежуточных результатов вычислений. Переменная n будет использоваться для хранения целочисленного значения, которое будет увеличиваться на каждом шаге цикла.
  2. Затем объявлены две переменные xn и xk типа real. Переменная xn будет использоваться для хранения начального значения функции, а переменная xk - для хранения конечного значения функции.
  3. Далее объявлена переменная e типа real. Переменная e будет использоваться для хранения значения параметра e.
  4. Затем объявлена переменная dx типа real. Переменная dx будет использоваться для хранения разности между xk и xn.
  5. После этого начинается цикл, который выполняется до тех пор, пока xn меньше xk и e больше или равно нулю. Внутри цикла вызывается функция F(xn,e,s,n), которая вычисляет значение функции для xn и e. Результат вычислений сохраняется в переменной s.
  6. Затем выводится таблица значений функции. Для каждой строки таблицы выводятся значения xn, s, ln((1+xn)/(1-xn)) и n. Значение ln вычисляется с помощью функции ln и сохраняется в переменной s.
  7. После вывода таблицы значений функции выполняется переход к следующей итерации цикла. Значение xn увеличивается на dx.
  8. Цикл продолжается до тех пор, пока xn не станет больше xk и e не станет меньше или равно нулю.
  9. По завершении цикла выводится последняя строка таблицы значений функции.
  10. Конец программы.

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


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

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

12   голосов , оценка 4.167 из 5
Похожие ответы