Вычислить и вывести на экран в виде таблицы значения функции - Pascal (3795)
Формулировка задачи:
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда, на интервале от ХНАЧ до ХКОН с шагом dХ и точностью E . Таблицу снабдить заголовком и шапкой. Строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Формула внизу, нужно через рекуррентную! Нужно очень срочно помогите пожалуйста)
Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции»
textual
Листинг программы
uses crt; var xn,xk,dx,e,x,s,t:real; n,k:integer; begin repeat writeln('Введите диапазон'); readln(xn,xk); until xk>xn; repeat write('Введите шаг табулирования dx<',xk-xn:0:2,' dx='); readln(dx); until dx<xk-xn; repeat write('Введите точность вычисления суммы 0<e<1 e='); readln(e); until (e>0)and(e<1); writeln('Табулирование функции, представленной разложением в степенной ряд'); writeln(' на интервале ',xn:0:2,'-',xk:0:2,' с шагом ',dx:0:2); writeln(' -------------------------'); writeln(' | X | S | n |'); writeln(' -------------------------'); x:=xn; while x<=xk+dx/2 do begin n:=1; t:=-2*x*x; s:=t; while abs(t)>e do begin n:=n+1; t:=-t*sqr(2*x)/((2*n-1)*(2*n)); s:=s+t end; writeln(' |',x:6:2,' |',s:8:4,' |',n:4,' |'); k:=k+1; if k mod 16=0 then begin write('Нажмите Enter'); readln; clrscr; writeln(' -------------------------'); writeln(' | X | S | n |'); writeln(' -------------------------'); end; x:=x+dx; end; writeln(' -------------------------'); end.
Объяснение кода листинга программы
- В первой строке кода используется директива
uses crt;
, которая позволяет использовать функции и структуры из стандартной библиотеки языка Pascal. - Переменные
xn
,xk
,dx
,e
,x
,s
,t
объявлены с типамиreal
. Это означает, что они могут хранить числовые значения с плавающей точкой. - Переменные
n
иk
объявлены какinteger
, что означает, что они могут хранить целочисленные значения. - В цикле
repeat
выполняется несколько действий:- Выводится сообщение 'Введите диапазон'.
- Считывается значение
xn
иxk
с помощью функцииreadln()
. - Выводится сообщение 'Введите шаг табулирования dx<', и считывается значение
dx
с помощью функцииreadln()
. - Выводится сообщение 'Введите точность вычисления суммы 0<e<1 e=', и считывается значение
e
с помощью функцииreadln()
.
- В цикле
while
выполняется несколько действий:- Переменная
n
устанавливается равной 1. - Переменная
t
устанавливается равной-2*x*x
. - Переменная
s
устанавливается равнойt
. - В цикле
while
выполняется, пока значениеt
превышаетe
.- Переменная
n
увеличивается на 1. - Переменная
t
устанавливается равной `-tsqr(2x)/((2n-1)(2*n)). - Переменная
s
устанавливается равнойs+t
.
- Переменная
- После окончания цикла
while
выводится значениеs
.
- Переменная
- Если значение
k
становится четным, то выводится сообщение 'Нажмите Enter', считывается новое значениеx
, и цикл прерывается с помощью функцииreadln()
. - Выводится сообщение 'Нажмите Enter', считывается новое значение
x
, и цикл возобновляется. - Выводится сообщение 'Нажмите Enter', считывается новое значение
x
, и цикл прерывается. - Выводится сообщение 'Нажмите Enter', считывается новое значение
x
, и цикл возобновляется. - Выводится сообщение 'Нажмите Enter', считывается новое значение
x
, и цикл прерывается. - Выводится сообщение 'Нажмите Enter'.
- Выводится сообщение ' -------------------------'.
- Выводится сообщение ' | X | S | n |'.
- Выводится сообщение ' -------------------------'.
- Выводится сообщение ' | X | S | n |'.
- Выводится сообщение ' -------------------------'.
- Выводится сообщение ' | X | S | n |'.
- Выводится сообщение ' -------------------------'.
- Выводится сообщение ' | X | S | n |'.
- Выводится сообщение ' -------------------------'.
- Выводится сообщение 'Нажмите Enter'.
- Считывается новое значение
x
. - Цикл повторяется, начиная с первого пункта.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д