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

Цитата:
Сообщение от Rume Посмотреть сообщение
лично я в ней нечего не понимаю
Я тоже. Тем более, там решается нелинейное уравнение, а мы вроде как договорились, что В ищем через интеграл. И в любом случае - не вижу в упор, зачем в этой задаче нужны массивы. По-моему, они тут "не пришей кобыле хвост".
Цитата:
Сообщение от Rume Посмотреть сообщение
Вот только если можно, не сможете сделать так, чтобы были не константы, а значения, которые пользователь вводит сам.
Пожалуйста:
Код:
Const
 a0=2.51;
 b0=-0.69;
Var
 x,a,b,Xn,Xk,Dx,An,Ak,Da:Real;
 Na,Nx,i,j:Byte;

Function I0(x:real):Real;
begin
 I0:=0.5*Sin(x*2);
end;

Function I1(x:real):Real;
begin
 I1:=Cos(x*2)/4+x*Sin(x*2)/2;
end;

Function I2(x:real):Real;
begin
 I2:=x/2*Cos(x*2)+(sqr(x)/2-0.25)*Sin(x*2);
end;

Function I3(x:real):Real;
begin
 I3:=(sqr(x)*0.75-0.375)*Cos(x*2)+(x*sqr(x)/2-0.75*x)*Sin(x*2);
end;

Function I4(x:real):Real;
begin
 I4:=sqr(sqr(x))*Sin(x*2)/2-2.0*((sqr(x)*0.75-0.375)*Sin(x*2)-(x*sqr(x)/2-x*0/75)*Cos(x*2));
end;

Function f(xf,af:real):real;
begin
 If xf<1 then f:=Sin(af*xf/b) else
 f:=Sqrt(sqr(af)*sqr(sqr(xf))+sqr(b))/xf/sqr(xf);
end;

BEGIN
 b:=(I4(b0)+I3(b0)*2+I2(b0)*5+I1(b0)*4+I0(b0)*4)-(I4(a0)+I3(a0)*2+I2(a0)*5+I1(a0)*4+I0(a0)*4);
 Write('Xn= ');
 Readln(Xn);
 Write('Xk= ');
 Readln(Xk);
 Write('Dx= ');
 Readln(Dx);
 Write('An= ');
 Readln(An);
 Write('Ak= ');
 Readln(Ak);
 Write('Da= ');
 Readln(Da);
 Nx:=ROUND((Xk-Xn)/Dx);
 Na:=ROUND((Ak-An)/Da);
 for i:=0 to Na do
  begin
   a:=An+Da*i;
   for j:=0 to Nx do
    begin
     x:=Xn+Dx*j;
     Writeln('x=',x:3:1,'    a=',a:3:1,'    f=',f(x,a):0:5);
    end;
  end;
 Readln;
END.
Цитата:
Сообщение от Rume Посмотреть сообщение
И все, я перестану вам докучать.
Да нет, обращайтесь, чем сможем - поможем.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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