Показать сообщение отдельно
Старый 08.04.2014, 11:22   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Madara Посмотреть сообщение
И можете примерно описать как такие программы пишутся, вообще тьма.
В принципе - методом изучения программирования, чтения всяких книжек и пособий, а главное - проб и ошибок. В конце концов должно получиться что-то в таком роде:
Код:
Var
 Eps:Array[1..5] of Real;
 i:Integer;
 Res:Real;

Function F(x:real):real;
begin
 F:=Sqr(Sin(x)+Cos(x))/Exp(Ln(33.5)*2/3)+Sqrt(3/7)-x;
end;

Procedure EQRoot(e:real; var R:Real);
var
 a,b,c:real;
begin
 a:=0.0;
 b:=2.0;
 Repeat
  c:=(a+b)/2;
  if F(a)*F(c)<0 then b:=c else a:=c;
 Until b-a<e;
 R:=c;
end;

Begin
 Eps[1]:=0.1;
 for i:=2 to 5 do Eps[i]:=Eps[i-1]/10;
 for i:=1 to 5 do
  begin
   EQRoot(Eps[i],Res);
   Writeln(Res:12:10);
  end;
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070