ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 06.06.2008, 18:21
A2GIL
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме:
422909

Репутация: 200
Отправить сообщение для A2GIL с помощью ICQ
По умолчанию

2Catsy

Цитата:
помогите пожалуйста
(паскаль)
1) сумма с точностью
Даны действительные числа x и ε (x≠0, ε > 0). Вычислить с точностью ε и указать количество учтенных слагаемых

2) рекурсия
Даны действительные числа x и ε (x≠0, ε > 0). Вычислить с точностью ε и указать количество учтенных слагаемых
Вычисление выражения под знаком суммы выполнить через рекурсию.
Эх студент...


Код:
var
 Sx,e:real;
 x:integer;
 k:word;

function Factorial(n: Word): Int64;
var
  f: Int64;
  i: Integer;
begin
  f := 1;
  for i := 2 to n do
    f := f * i;
  Factorial := f;
end;

function Degree(x: real;y:word): real;
begin
if (x=0) then begin
   Degree:=0;
 end
else begin
 Degree:=Exp(y*Ln(abs(x)));
if (x<0) and (y mod 2<>0) then begin
   Degree:=(-1)*Exp(y*Ln(abs(x)));
 end;
end;
end;

function RecursiveSum(x:integer;e:real):real;
begin
 sx:=sx+(Degree((-1),k)*Degree((x/2),2*k+1))/(Factorial(k)*Factorial(k+1));
  if Abs(Sx)<e then
     RecursiveSum(x,e);
 RecursiveSum:=Sx;
end;

begin
 ClrScr;
 Sx:=0;
 k:=0;
 write('Vvedite x (x!=0) : ');readln(x);
 write('Vvedite e (e>0) : ');readln(e);
 if (e<=0) or (x=0) then
  begin
   writeln('Error!');
   writeln('Press any key to exit...');
   readln;
   exit;
  end;
 writeln('****************************');
 writeln('1) Summa s tochnostju e:');
 writeln;
  while abs(Sx)<e do
   begin
    sx:=sx+(Degree(-1,k)*Degree(x,4*k+1))/(Factorial(2*k)*(4*k+1));
    k:=k+1;
   end;
   writeln(Sx);
   writeln;
  writeln('****************************');
  writeln('2) Recursiya s tochnostju e:');
  writeln;
  Sx:=0;
  k:=0;
  Sx:=RecursiveSum(x,e);
  Writeln(Sx);
  writeln;
 readln;
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ