в межах [-р/2, р/2].
Скласти графічний алгоритм і програму мовою Pascal для знаходження мінімуму функції y=ex - 3x3 методом випадкового пошуку в межах [-5,5] з похибкою, не більшою за 0.0001.
Program mmm;
Uses crt;
var
a=-5,b=5,E=0.0001,
e=2.7183,x,y,y_min,x_min:real;
i:integer;
begin
randomize();
clrscr();
x:=a; x_min:=x;
y_min:=exp(e/x)-3*exp(x/3);
for i:=0 to 10 do begin
x:=a+(b-a)*random(10)/10;
y:=exp(e*1/x)-3*exp(x/3);
if(y<y_min)
begin
y_min:=y;
x_min:=x;
end;
end;
writeln(
"Мiнiмум функцiї методом
випадкового пошуку f("
,x_min,")=",y_min);
getch();
end.
Скласти графічний алгоритм і програму мовою Visual Basic для розв’язування рівняння методом Ньютона з похибкою, що не перевищує число е=10-5, при x0=1.
cos x - x2 =2;
Dim x0,x,t,eps As real;
Dim n;
Function f(t,x As Real);
f=cos(tx)-pow(tx,2)-2;
end Function
Function fp(q As Real)
fp=sin(q)-(2*q);
end Function
Sub button1_click()
do
x=x0-(f(x0)/fp(x0));
t=abs(x-x0);
x0=x;
n=n+1;
until (t<eps)
List1.add(
"Корiнь = " + x);
List1.add(
"Кiлькiсть iтерацiй = " + n);
end Sub
Скласти графічний алгоритм і програму мовою Visual Basic для розв’язування системи рівнянь методом Зейделя з похибкою, що не перевищує число е=10-5, при x0=2; y0=2,3
xy - x2 + 9y = 0;
18x - 5yex=1.
Скласти графічний алгоритм і програму мовою Visual Basic для перевірки чи належить точка A(x,y) лінії, побудованій за інтерполяційною формулою Лагранжа і заданій у 8 точках.
Dim x(8)={0,1,2,3,4,5,6,7},
y(8)={0.1,0.5,0.9,1.3,1.7,2.1,2.5},
n=8,x0,y0,y1,x1,Ax,Ay,Lx As Real;
Dim i As Integer;
Sub Button1_click()
Ax = InputBox("Введiть координати точки Аx");
Ay = InputBox("Введiть координати точки Аy");
x0=x(0); y0=y(0);y1=y(1);x1=x(1),i=0;
While (x0<=Ax>=x1) do
Lx=y0*(Ax-x0/x0-x1)+y1*(Ax-x1/x1-x0);
Else If
if(i!=n-1)
i=i+1,x0=x(i); y0=y(i);y1=y(i+1);x1=x(i+1);
Loop
if (Lx!=Ay)
List1.add("Точка А(" + Ax + "," + Ay"
не належить лiнiї, побудованiй по
iнтерполяцiйнiй формулi Лагранжа. "+
"Вiдхилення дорiвнює "+Lx-Ay);
else if List1.add(
"Точка А("+Ax+","+Ay+") належить
лiнiї, побудованiй по iнтерполяцiйнiй
формулi Лагранжа");
End Sub
Скласти графічний алгоритм і програму мовою Visual Basic для обчислення означеного інтегралу за методом трапецій s = ?xevxdx в межах [0,2].
Dim
float x(10),y(10),h,a=0,b=2,
InTr,SumY,e=2.7183 As Real;
Dim n=10,I As Integer;
Sub Button1_click()
h=(b-a)/n;
for i=0 To 10
x(i)=a+h*i;
y(i)=(x(i)*pow(e,sqrt(x(i))));
SumY=SumY+y(i);
List1.add(x=" + x(i));
List1.add(y=" + y(i));
InTr=h*((y(0)+y(n))/2+SumY);
List1.add(
"Iнтеграл за методом трапецiй S="
+InTr);
End Sub
Скласти графічний алгоритм і програму мовою Visual Basic для знаходження мінімуму функції y=ex+x2 методом золотого перерізу в межах [0,1] з похибкою, не більшою за 0.0001
Dim a=0,b=1,E=0.0001,
A,B,e=2.7183,y,z,x As Real;
Sub Buytton1_click()
y=0.618*a+0.382*b;
z=0.382*a+0.618*b;
A=pow(e,y)+y*y;
B=pow(e,z)+z*z;
While A<B
b=z;
if ((b-a)<E) break;
else If
z=y;B=A;y=0.618*a+0.382*b;
A=pow(e,y)+y*y;
Continue;
Else If
a=y;
if ((b-a)<E) break;
else If
y=z;A=B;z=0.382*a+0.618*b;
B=pow(e,z)+z*z;
x=(a+b)/2;
List1.add(“ення мiнiмуму
функцiї методом золотого
перерiзу x=" + x);
End SUb
Скласти графічний алгоритм і програму мовою Visual Basic для перевірки чи належить точка S(x,y) лінії регресії першого порядку, побудованій за 45 точками.
Dim a,b,hy=.25,y[45],x[45],
SumY,SumX,SumXY,SumX2,
Yreg,Sx,Sy As real;
Dim i,n=45 As Integer;
Sub Button1_click()
for i=0 to 45
x(i)=i;
y(i)=hy*i;
SumY=SumY+y(i);
SumX=SumX+x(i);
SumXY=SumXY+x(i)*y(i));
SumX2=SumX2+x(i)*x(i));
Next
a=n*SumXY-SumY*SumX/(n*SumX2-SumX*SumX);
b=SumY-a*SumX/n;
Sx = InputBox("Введiть координати точки S x";);
Sy = InputBox("Введiть координати точки S y=";);
Yreg=a*Sx+b;
if(Sy!=Yreg)
List1.add(
"Точка S не лежить на лiнiї регресiї";
Else If
List1.add(
"Точка S лежить на лiнiї регресiї";
End SUb
Скласти графічний алгоритм і програму мовою Visual Basic для визначення координати мінімуму функції y=(2x-ex)3 при x Є [-10,10] покроковим методом з похибкою, що не перевищує 10-3.
Dim
a=-10,b=10,h=0.01,
e=2.7183,x,y,y_min,x_min As Real;
Sub Button1_click()
x=a;
x_min=x;
y_min=pow((2*x-pow(e,x)),3);
List1.add
"----- Покроковий метод ----¬");
s:
y=pow((2*x-pow(e,x)),3);
List1.add(
"x="+ x +" y="+y);
if (y_min>y)
y_min=y;
x_min=x;
End If
if (x<=b)
x=x+h;
continue;
End If
List1.add(
"Мiнiмум функцiї при х=" + x_min +
" y=" + y_min);
End Sub
Скласти графічний алгоритм і програму мовою Visual Basic для розв’язування диференціального рівняня за методом Рунге-Кута xЙ = et-cos рt, xt=0 = 1 в межах [0,1].
Dim a=0,b=1,h,R0=0,R=0,t=.1,
t0=1,k0=0,k1=0,k2=0,k3=0,e=2.7183,
Pi=3.14 As Real ;
Dim i,n=10 As Integer;
Sub Button1_click()
Dim i=1 As Integer;
h=(b-a)/n;
List1.add(
"--- Метод Рунге-Кутта --¬");
List1.add(
" x=" + R);
while (i<n) do
k0=pow(e,R0)-cos(Pi*(t-h));
k1=pow(e,R0+k0*h/2)-cos(Pi*(t-h+h/2));
k2=pow(e,R0+k1*h/2)-cos(Pi*(t-h+h/2));
k3=pow(e,R0+k2*h)-cos(Pi*(t-h+h));
R=R0+h/6*(k0+2*k1+2*k2+k3);
List1.add(x="+R);
if (i<n)
i=i+1;
t=t+h;
R0=R
continue;
End If
Loop
End Sub
Скласти графічний алгоритм і програму мовою Visual Basic для розв’язування диференціального рівняня за методом Ейлера yV = eрx-x, yt=0=1; yЙt=0=2; yЙЙt=0=2; yЙЙЙt=0=0; yЙV=4 в межах [0,1].
Dim
a=0,b=1,h,z0=1,z1=2,
z2=2,z3=0,z4=4,k0=0,
Pi=3.14,x=0,y,z0p,z1p,
z2p,z3p,z4p As Real;
Dim i,n=10 As Integer;
Sub Button1_click()
h=(b-a)/n;
List1.add(
"--- Метод Ейлера --¬"<<endl;
for i=0 To n
z4p=exp(Pi*x-x);
z3p=z4*h;
z2p=z3*h;
z1p=z2*h;
z0p=z1*h;
List1.add("y="+z0p);
x=x+h;
Next
End SUb
Скласти графічний алгоритм і програму мовою Visual Basic для обчислення означеного інтегралу за методом Сімпсона s = ?sin(xex)dx в межах [-р/2, р/2].
Dim x[10],y[10],h,a= -90,b=90,InS,S1=0,S2=0,
e=2.7183 As Real;
Dim n=10,I As Integer;
Syb Button1_click()
h=(a-b)/n;
for i=0 to 10
x[i]=a+h*i;
y[i]=sin(x[i]*pow(e,x[i]));
Next
for i=1 to n S1=S1+y[i]; next
for i=2 to n S2=S2+y[i]; next
InS=h/3*(y[0]+4*S1+2*S1+y[n+1]);
List1.add("Значення цього інтегралу за методом Сімпсона: “+InS);
End Sub
Скласти графічний алгоритм і програму мовою Visual Basic для знаходження мінімуму функції y=ex - 3x3 методом випадкового пошуку в межах [-5,5] з похибкою, не більшою за 0.0001.
Dim
a=-5,b=5,E=0.0001,
e=2.7183,x,y,y_min,x_min As Real;
Dim i As Integer;
Sub Button1_click()
randomize();
x=a; x_min=x;
y_min=pow(e,x)-3*pow(x,3);
for i=0 to 10
x=a+(b-a)*random(10)/10;
y=pow(e,x)-3*pow(x,3);
if(y<y_min)
y_min=y;
x_min=x;
End If
Next
List1.add(
"Мiнiмум функцiї методом
випадкового пошуку f("
+x_min+")=" + y_min);
End Sub