Π‘ΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ
ΠΠ»Ρ I ΠΎΡ n Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ. ΠΡΠ²ΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Π° Y ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ n, m. Π Π°Π·ΠΌΠ΅ΡΠ°: n=', n,', * m=', m); for i:=0 to n-1 do. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ Z ΡΠ°Π·ΠΌΠ΅ΡΠ°: n=2,m=2. Procedure writematr (var y: matr; name: char; n, m: int); ΠΠ»Ρ k ΠΎΡ 0 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ. ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ. ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ. ΠΠ»Ρ I ΠΎΡ 1 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ. ΠΡΠ²ΠΎΠ΄ Π²Π΅ΠΊΡΠΎΡΠ°… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π³ΠΈΠ΄ΡΠΎΠΌΠ΅ΡΠ΅ΠΎΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ
ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎ-Π³ΡΠΌΠ°Π½ΠΈΡΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΊΡΠ»ΡΡΠ΅Ρ
ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½ΡΠ°
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°
ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ°»
Π‘ΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ
Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³
2008 Π³.
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ.
ΠΠ°Π½Ρ: Π²Π΅ΠΊΡΠΎΡ Π½Π΅ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ, ΠΌΠ°ΡΡΠΈΡΡ ΠΌΠ΅ΠΆΠΎΡΡΠ°ΡΠ»Π΅Π²ΠΎΠ³ΠΎ Π±Π°Π»Π°Π½ΡΠ° ΠΈ .
1. Π Π°ΡΡΡΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π.
2. ΠΠ°ΠΉΡΠΈ Π²Π΅ΠΊΡΠΎΡ Π²Π°Π»ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Ρ , ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ.
3. Π Π°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΠΌΠ°ΡΡΠΈΡΡ ΠΡ .
4. Π Π°ΡΡΡΠΈΡΠ°ΡΡ Π²Π΅ΠΊΡΠΎΡ .
ΠΡΠ΅ ΡΠ°ΡΡΠ΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΠΠ‘ΠΠΠΠ¬.
β Π²Π°ΡΠΈΠ°Π½ΡΠ° | ΠΠ΅ΠΊΡΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ, | ΠΠ°ΡΡΠΈΡΠ° ΠΌΠ΅ΠΆΠΎΡΡΠ°ΡΠ»Π΅Π²ΠΎΠ³ΠΎ Π±Π°Π»Π°Π½ΡΠ° | ΠΠ°ΡΡΠΈΡΠ° ΠΌΠ΅ΠΆΠΎΡΡΠ°ΡΠ»Π΅Π²ΠΎΠ³ΠΎ Π±Π°Π»Π°Π½ΡΠ° | |
1/3 | 1/3 1/6 ? ? | ? ? ? ¼ | ||
program KURSOVOJ_PROJECT;
uses crt;
type int=0.10;
vec=array [0.10] of real;
matr=array [0.10,0.10] of real;
var x, x1, ax, ax1, c: vec;
e, a, a1, b, b1, br, br1: matr;
m, n: int;
name:char;
procedure readvec (var x: vec; name: char; n: int);
var i: int;
begin
writeln (' ΠΠ²Π΅ΡΡΠΈ Π²Π΅ΠΊΡΠΎΡ ', name,' ΡΠ°Π·ΠΌΠ΅ΡΠ° n=', n); for i:=0 to n-1 do
begin
write (' ', name,'[', i:2,']='); readln (x[i])
end;
end;readvec
procedure writevec (var x: vec; name: char; n: int);
var i: int;
begin
writeln (' ΠΡΠ²Π΅ΡΡΠΈ Π²Π΅ΠΊΡΠΎΡ ', name, ' ΡΠ°Π·ΠΌΠ΅ΡΠ° n=', n); for i:=0 to n-1 do
begin
write (' ', name,'[', i:2,']='); writeln (x[i]: 10:5)
end;
end;writevec
procedure readmatr (var y: matr; name: char; n, m: int);
var i, j: int;
begin
writeln (' ΠΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ ', name,
' ΡΠ°Π·ΠΌΠ΅ΡΠ°: n=', n,', * m=', m); for i:=0 to n-1 do
for j:=0 to m-1 do
begin
write (' ', name, '[', i:2,' ,', j:2, ']= ');
readln (y[i, j])
end;
end;readmatr
procedure writematr (var y: matr; name: char; n, m: int);
var i, j: int;
begin
writeln (' ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ ', name,
' ΡΠ°Π·ΠΌΠ΅ΡΠ°: n=', n,', * m=', m);
for i:=0 to n-1 do
for j:=0 to m-1 do
begin
write (' ', name, '[', i:2,' ,', j:2, ']= ');
writeln (y[i, j]: 8:4)
end;
end;writematr
procedure Em (var E: matr; n: int);
var i, j: int;
begin
for i:=0 to n do
for j:=0 to n do
if i=j then E[i, j]: =1 else E[i, j]: =0;
end;end E
procedure Rmatr (var a, b, c:matr; n, m: int);
var i, j: int;
begin
for i:=0 to n do
for j:=0 to m do
c[i, j]: =a[i, j]-b[i, j];
end;Rmatr
procedure obrmatr (Var AIS, AP: matr; n: int);
var i, j, k, l: integer;
a:matr;
begin
a:=AIS;
n:=n-1;
for k:=0 to n do begin
for j:=0 to n do
if (j<>k) then AP[k, j]: =-a[k, j]/a[k, k];
for i:=0 to n do
if (i<>k) then AP [i, k]: =a[i, k]/a[k, k];
for i:=0 to n do
for j:=0 to n do
if (i<>k) and (j<>k)
then AP[i, j]: = a[i, j]-a[i, k]*a[k, j]/a[k, k];
AP[k, k]:=1/a[k, k]; a:=AP;
end;
end; end obrmatr
procedure matrvec (var b: matr; var c, x: vec; n: int);
var i, j: int;
begin
for j:=0 to n-1 do begin
x[j]: =0;
for i:=0 to n-1 do
x[j]: =x[j]+b[i, j]*c[i]
end;
end; end matrvec
{ Π’ΠΠΠ ΠΠ ΠΠΠ ΠΠΠΠ« }
begin
clrscr;
readvec (c,'C', 2);
readmatr (a,'A', 2,2);
readmatr (a1,'Z', 2,2);
Em (e, 2); rmatr (e, a, br, 2,2); rmatr (e, a1, br1, 2,2); obrmatr (br, b,2); obrmatr (br1, b1, 2); matrvec (B, C, x, 2); matrvec (B1, C, x1, 2); matrvec (A, x, ax, 2); matrvec (A1, x1, ax1, 2);
if (ax[0]<=c[0]) and (ax[1]<=c[1]) then
writeln (' ΠΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° ΠΌΠ°ΡΡΠΈΡΠ° A — ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°') else
writeln (' ΠΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° ΠΌΠ°ΡΡΠΈΡΠ° A — Π½Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°');
if (ax1[0]<=c[0]) and (ax1[1]<=c[1]) then
writeln (' ΠΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° ΠΌΠ°ΡΡΠΈΡΠ° A1 — ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°') else
writeln (' ΠΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° ΠΌΠ°ΡΡΠΈΡΠ° A1 — Π½Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°');
readln
write matr (B,'B', 2,2);
write matr (B1,'Z', 2,2);
write vec (x,'x'.2);
write vec (x1,'y', 2);
end.
{ΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ}
1.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²Π²ΠΎΠ΄Π° Π²Π΅ΠΊΡΠΎΡΠ°
ΠΠ²ΠΎΠ΄ Π²Π΅ΠΊΡΠΎΡΠ° X ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ n | ||
ΠΠ»Ρ I ΠΎΡ n Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | ||
ΠΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° X[i] | ||
2.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠ²ΠΎΠ΄Π° Π²Π΅ΠΊΡΠΎΡΠ°
ΠΡΠ²ΠΎΠ΄ Π²Π΅ΠΊΡΠΎΡΠ° X ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ n | ||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | ||
ΠΡΠ²Π΅ΡΡΠΈ Π²Π΅ΠΊΡΠΎΡ X[i;j] | ||
3.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²Π²ΠΎΠ΄Π° ΠΌΠ°ΡΡΠΈΡΡ
ΠΠ²ΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ n, m Π²Π²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Y[i;j] | |||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ m-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
ΠΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Y[i;j] | |||
4.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠ°ΡΡΠΈΡΡ
ΠΡΠ²ΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Π° Y[i;j] ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ n, m | |||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ m-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ² Y[i;j] | |||
5.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠ²ΠΎΠ΄Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ
ΠΡΠ²ΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Π° E[i;j] ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ n | ||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | ||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ m-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | ||
I=j ΠΠ° ΠΠ΅Ρ | ||
E [I;j] = 1 F[j;j]=0 | ||
ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ E [i;j] | ||
6.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΠΌΠ°ΡΡΠΈΡΡ
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ m-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
C[i;j]: =a[i;j]-b[i;j] | |||
7.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ° Π½Π° ΠΌΠ°ΡΡΠΈΡΡ
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | ||
X[i;j]: =0 | ||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n-1 Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | ||
X[j]: =x[j]+c[i]*b[i;j] | ||
8.ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ
Π=ais;n:=n-1 | |||
ΠΠ»Ρ k ΠΎΡ 0 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
j?k true | |||
Ap[k;j]: =-a[k;j]/a[k;k] | |||
ΠΠ»Ρ I ΠΎΡ 1 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
i?k true | |||
Ap[i;k]: =A [i;k]/A[k;k] | |||
ΠΠ»Ρ i ΠΎΡ 0 Π΄ΠΎ n Ρ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
ΠΠ»Ρ j ΠΎΡ 0 Π΄ΠΎ nΡ ΡΠ°Π³ΠΎΠΌ 1 Π΄Π΅Π»Π°ΡΡ | |||
i?k;j?k true | |||
AP[i;j]: =a[i;j]-a[i;j]*a[k;j]/a[k;k] | |||
AP[k;k]: =1/a[k;k] | |||
Q:=AP | |||
Π Π°ΡΡΠ΅ΡΡ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ:
B[0,0]=4.6154
B[0,1]=1,0462
B[1,0]=3,0769
B[1,1]=2,0308
ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ Z ΡΠ°Π·ΠΌΠ΅ΡΠ°: n=2,m=2
Z[0,0]=2,400
Z[0,1]=0,800
Z[1,0]=0,800
Z[1,1]=1,600
ΠΡΠ²Π΅ΡΡΠΈ Π²Π΅ΠΊΡΠΎΡ Π₯ ΡΠ°Π·ΠΌΠ΅ΡΠ° n=2
Π₯[0]=13,84 615
Π₯[1]=7,13 846
ΠΡΠ²Π΅ΡΡΠΈ Π²Π΅ΠΊΡΠΎΡ x ΡΠ°Π·ΠΌΠ΅ΡΠ° n=2
Y[0]=4,8000
Y[1]=5,6000