на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Шпора: Метод Крамера

Шпора: Метод Крамера

{кофф линейноного уавнения}

a:=y2-y1

b:=x1-x2

c:=-x1*(y2-y1)+y1*(x2-x1)

{лежит ли точка на прямой}

p:=false;

if (x3-x1)*(y2-y1)-(y3-y1)*(x2-x1)=0

then p:=true;

{расположение точек}

l:='1';

z1:=(x3-x1)*(y2-y1)-(y3-y1)*(x2-x1);

z2:=(x4-x1)*(y2-y1)-(y4-y1)*(x2-x1);

if z1*z2<0;

then l:='2';

{расположение отрезков}

p:=true;

z1:=(x3-x1)*(y2-y1)-(y3-y1)*(x2-x1)

z2:=(x4-x1)*(y2-y1)-(y4-y1)*(x2-x1)

if z1*z2>0

then p:=false;

z3:=(x1-x3)*(y4-y3)-(y1-y3)*(x4-x3)

z4:=(x2-x3)*(y4-y3)-(y2-y3)*(x4-x3)

if z3*z4>0

then p:=false;

{Точка пересечения отрезков}

y=(a1c2-a2c1)/(a2b1-a1b2)

x=(b1c2-b2c1)/(b2a1-b1a2)

{Расстояние между точками}

d:=sqrt((x1-x2)^2+(y1-y2)^2)

{Расстояние от точки до прямой}

a:=y2-y1

b:=x1-x2

c:=-x1*(y2-y1)+y1(x2-x1)

t:=sqrt(a*a+b*b)

d:=abs((a*x3+b*y3+c)/t)

{Выпуклость много угольников}

L:='выпуклый'

for i:=1 to n do

begin

j:=i+1

k:=j+1

if i=n

then k:=1

m:=i-1

if i=1

then m:=n;

z1:=(x[m]-x[i])*(y[j]-y[i])-(y[m]-y[i])*(x[j]-x[i]);

z2:=(x[k]-x[i])*(y[j]-y[i])-(y[k]-y[i])*(x[j]-x[i]);

if z1*z2<0

then l:='Невыпулый'

end;

{площадь многоугольника}

ymin:=y[1];

for k:= 2 to n do

if ymin >y[k]

then ymin:=y[k];

for k:=1 to n+1 do

y1[k]:=y[k]-ymin;

s:=0;

for k:=1 to n do

s:=s+(x[i+1]-x[i])*(y1[i+1]+y1[i]);

s:=abs(s)/2;

{Cортировка выбором}

for i:=1 to n-1 do

begin

k:=i; max:=a[i];

for j:=i+1 to n do

if a[j]>max then

begin

max:=a[j];

k:=j;

end;

A[k]:=a[i]; a[i]:=maxl;

end;

{Cортировка обменом}

for i:=1 to n-1 do

for j:=1 to n-1 do

if a[j]>a[j+1] then

begin

x:=a[j];

a[j+1]:=a[j];

a[j]:=x;

end;

{Двоичный поиск}

l:=1; r:=n+1; a[n+1]:=x;

while (l<r) do

begin

m:=(r+l) div 2;

if aa[m]>x then

l:=m+1;

else

r:=m;

end;

{Сортировка бинарными вставками}

for i:=2 to n do

begin

r:=i;

l:=i;

while (l<r);

Begin

k:=(l+r) div 2;

if a[k]>a[i] then l:=k+1;

else r:=k;

end;

k:=r;

x:=a[i];

for m:=i downto k+1 do

a[m]:=a[m-1];

a[k]:=x;

end;

{Метод Гауса}

uses crt;

const

n=2;

var

m : array[0..n,0..n+1] of real;

x : array[0..n] of real;

i,j,k:integer;

a,s:real;

begin

for j:=0 to n do

for i:=0 to n do

m[j,i]:=random(4)+1;

For k:=0 to n do

begin

a:=m[k,k];

for i:=0 to n+1 do m[k,i]:=m[k,i]/a;

for j:=k to n-1 do

begin

a:=m[j+1,k];

for i:= 0 to n+1 do m[j+1,i]:=m[j+1,i]-m[k,i]*a;

end;

end;

for k:=n downto 0 do

begin

x[k]:=m[k,n+1];

for j:=n-1 downto k do

x[k]:=x[k]-m[k,j+1]*x[j+1];

end;

end.

{Дифференцирование}

const

d=0.0001;

x=2;

{y=x*x+2}

var

f,dx:real;

begin

dx:=x+d;

f:=((dx*dx+2)-(x*x+2))/d;

writeln(f);

end.

{Хорда}

var

x,xk,xk1,a,b:real;

function f(x:real):real;

begin

f:=x*x+x-2;

end;

begin

a:=-3;

b:=0;

xk1:=a;

xk := a - (f(a)*(b-a)) / (f(b)-f(a));

while abs(xk-xk1)>=0.00001 do

begin

x:=xk1;

if f(xk)*f(a)<0 then xk1:=xk-f(xk)*(xk-a)/(f(xk)-f(a))

else xk1:=xk-f(xk)*(b-xk)/(f(b)-f(xk));

xk:=x;

end;

end.

{ИНТЕГРИРОВАНИЕ}

{left rect}

const

x1=1;

x2=3;

n=1000;

{y=x*x+2}

var

s,y,h,x:real;

i:integer;

begin

h:=(x2-x1)/n;

s:=0;

x:=x1;

for i:=1 to n-1 do

begin

y:=x*x+2;

s:=s+y*h;

{!} x:=x+h;

end;

writeln(s);

end.

{right rect}

const

x1=1;

x2=3;

n=1000;

{y=x*x+2}

var

s,y,h,x:real;

i:integer;

begin

h:=(x2-x1)/n;

s:=0;

x:=x1;

for i:=1 to n-1 do

begin

{!} x:=x+h;

y:=x*x+2;

s:=s+y*h;

end;

writeln(s);

end.

{middle rect}

const

x1=1;

x2=3;

n=1000;

{y=x*x+2}

var

s,y,h,x:real;

i:integer;

begin

h:=(x2-x1)/n;

s:=0;

x:=x1;

for i:=1 to n-1 do

begin

{!} y:=(x+h/2)*(x+h/2)+2;

s:=s+y*h;

{!} x:=x+h;

end;

writeln(s);

end.

{middle rect}

const

x1=1;

x2=3;

n=1000;

{y=x*x+2}

var

s,y1,y2,h,x:real;

i:integer;

begin

h:=(x2-x1)/n;

s:=0;

x:=x1;

for i:=1 to n-1 do

begin

{!} y1:=x*x+2;

y2:=(x+h)*(x+h)+2;

s:=s+(y1+y2)*h/2;

{!} x:=x+h;

end;

writeln(s);

end.

{Простые Итерации}

uses crt;

var

x,f,x0:real;

begin

clrscr;

x:=2;

x0:=0;

while abs(x-x0)>0.000001 do

begin

x0:=sqrt(x+2);

x:=x0;

end;

writeln(x0);

end.

{Касательные}

var

d,x,xk,xk1,a,b:real;

function f(x:real):real;

begin

f:=x*x+x-2;

end;

function f1(x:real):real;

begin

f1:=2*x-1;

end;

begin

a:=-3;

b:=0;

d:=0.0001;

xk:=a;

xk1:=b;

while abs(xk-xk1)>=d do

begin

x:=xk1;

xk1:=xk-f(xk)/f1(xk);

xk:=x;

end;

end.



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.