Лабораторная работа №6
Вариант – 3
(из книги: “Алгоритмизация и программирование на
Турбо Паскале” В.C. Новичков)
{************************}
{ Имя программы в банке программ: Lab7v3.pas }
{ Программа: ZnachCos, Лаб. раб. 7, вариант 3. }
{ Цель: вычисление значения функции COS(z), используя }
{ разложение её в степенной ряд и бекончное произведение. }
{ Описание параметров и переменных: }
{ n,k - счётчики количества итераций, }
{ Eps - точность вычисления, }
{ z - переменная, }
{ s - бесконечная сумма, }
{ p - бесконечное произведение, }
{ a,b,e - переменные, облегчающие вычисление значения функции. }
{ Требуемые подпрограммы: нет. }
{ Метод: вычисление с использованием цикла с неизвестным }
{ числом повторений. }
{ Программист: Борискин Д.В., гр. 243 }
{ Проверил: Новичков В.С., каф. ВПМ }
{ Дата написания: 4 ноября 2002 года. }
{************************}
Program ZnachCos;
Var
n,k:Integer;
z,a,b,e,s,p,Eps:real;
Begin {ZnachCos}
Write('Введите значение Z ');
Read(z);
Write('Введите значене Eps ');
Read(Eps);
Writeln('Z= ',z);
writeln('Eps= ',Eps);
n:=1;
a:=1;
s:=1;
While Abs(a)>Eps do
Begin
a:=-a*z*z/(2*n*(2*n-1));
s:=s+a;
Inc(n)
End;
Writeln('COS(z) равен ',s,' при разложении в степенной ряд.');
Writeln('Число итераций равно ',n);
p:=1;
k:=0;
b:=1-2*z/(pi*(2*k+1))*2*z/(pi*(2*k+1));
while abs(e-p)>eps do
begin
e:=p;
b:=1-2*z/(pi*(2*k+1))*2*z/(pi*(2*k+1));
p:=p*b;
inc(k)
end;
Writeln('COS(z) равен ',p,' при разложении в бесконечное произведение.');
Writeln('Число итераций равно ',k)
End.{ZnachCos}
|