ВУЗ:
Составители:
47
begin{9}
writeln('определитель системы равен нулю');
l:=1;
i:=n+1
end{9}
end;{2}
if l=1 then writeln;
(* обратный ход метода Гаусса *)
for i:=n-1 downto 1 do
for j:=i+1 to n do
x[i]:=x[i]-a1[i,j]*x[j];
writeln('Решение СЛАУ');
for i:=1 to n do
writeln('x[',i,']=',x[i]:5:2);
readln;
end;{1}
BEGIN {начало основной программы}
clrscr;
sc:=ksc; c:=kc; p:=kp; n:=kn;
(* обнуление матрицы проекций pr *)
for i:=1 to nel do
for j:=1 to 2 do pr[i,j]:=0.0;
(* транспонирование матрицы sc *)
for i:=1 to nuz do
for j:=1 to nel do st[j,i]:=sc[i,j];
(* определение вектора проекций pr *)
for i:=1 to nel do
for j:=1 to nuz do
begin
if st[i,j]<>0 then
begin
pr[i,1]:=pr[i,1]-st[i,j]*c[j,1];
pr[i,2]:=pr[i,2]-st[i,j]*c[j,2]
end;
end;
48
(* вывод значений вектора проекций pr *)
writeln('Значения вектора проекций pr:');
for i:=1 to nel do
begin
write(i:2,')');
for j:=1 to 2 do write(pr[i,j]:5:1);
writeln;
end;
writeln; readln;
(* вычисление длин стержней *)
for i:=1 to nel do
dl[i]:=sqrt(sqr(pr[i,1])+sqr(pr[i,2]));
(* вывод значений длин стержней *)
writeln('Значения длин стержней dl:');
for i:=1 to nel do write('dl(',i:1,')=',dl[i]:1:1,' ');
writeln; readln;
(* определение вектора направляющих косинусов *)
for i:=1 to nel do
for j:=1 to 2 do ALFA[i,j]:=pr[i,j]/dl[i];
(* вывод значений направляющих косинусов *)
writeln('Значения направляющих косинусов ALFA:');
for i:=1 to nel do
begin
write(i:2,')');
for j:=1 to 2 do write(ALFA[i,j]:5:1);
writeln;
end;
writeln; readln;
(* обнуление матрицы sz* *)
for i:=1 to nuz2 do
for j:=1 to nel do sz[i,j]:=0.0;
for j:=1 to nel do
for i:=1 to nuz do
begin
if sc[i,j]=1 then begin sz[2*i-1,j]:=ALFA[j,1];
sz[2*i,j]:=ALFA[j,2]
47 48
begin{9} (* вывод значений вектора проекций pr *)
writeln('определитель системы равен нулю'); writeln('Значения вектора проекций pr:');
l:=1; for i:=1 to nel do
i:=n+1 begin
end{9} write(i:2,')');
end;{2} for j:=1 to 2 do write(pr[i,j]:5:1);
if l=1 then writeln; writeln;
(* обратный ход метода Гаусса *) end;
for i:=n-1 downto 1 do writeln; readln;
for j:=i+1 to n do (* вычисление длин стержней *)
x[i]:=x[i]-a1[i,j]*x[j]; for i:=1 to nel do
writeln('Решение СЛАУ'); dl[i]:=sqrt(sqr(pr[i,1])+sqr(pr[i,2]));
for i:=1 to n do (* вывод значений длин стержней *)
writeln('x[',i,']=',x[i]:5:2); writeln('Значения длин стержней dl:');
readln; for i:=1 to nel do write('dl(',i:1,')=',dl[i]:1:1,' ');
end;{1} writeln; readln;
(* определение вектора направляющих косинусов *)
BEGIN {начало основной программы} for i:=1 to nel do
clrscr; for j:=1 to 2 do ALFA[i,j]:=pr[i,j]/dl[i];
sc:=ksc; c:=kc; p:=kp; n:=kn; (* вывод значений направляющих косинусов *)
(* обнуление матрицы проекций pr *) writeln('Значения направляющих косинусов ALFA:');
for i:=1 to nel do for i:=1 to nel do
for j:=1 to 2 do pr[i,j]:=0.0; begin
(* транспонирование матрицы sc *) write(i:2,')');
for i:=1 to nuz do for j:=1 to 2 do write(ALFA[i,j]:5:1);
for j:=1 to nel do st[j,i]:=sc[i,j]; writeln;
(* определение вектора проекций pr *) end;
for i:=1 to nel do writeln; readln;
for j:=1 to nuz do (* обнуление матрицы sz* *)
begin for i:=1 to nuz2 do
if st[i,j]<>0 then for j:=1 to nel do sz[i,j]:=0.0;
begin for j:=1 to nel do
pr[i,1]:=pr[i,1]-st[i,j]*c[j,1]; for i:=1 to nuz do
pr[i,2]:=pr[i,2]-st[i,j]*c[j,2] begin
end; if sc[i,j]=1 then begin sz[2*i-1,j]:=ALFA[j,1];
end; sz[2*i,j]:=ALFA[j,2]
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »
