46658 (607901), страница 4
Текст из файла (страница 4)
for k2:=1 to n1 do
begin
z1:=x1[k2]; f:=y1[k2]; e:=1;
for i2:=1 to 2*m1+1 do
begin
c[i2]:=c[i2]+e;
if i2<=m1+1 then b[i2]:=b[i2]+e*f;
e:=e*z1
end;
end;
for i2:=1 to m1+1 do
begin
for j2:=1 to m1+1 do
a[i2,j2]:=c[i2+j2-1];
end;
END;
Procedure Gaus(n:integer;a:mas; b:mas1; var x:mas1);
Var
i,j,k,l:integer; max,z,s,m : real;
BEGIN
writeln('**** Vixidna sistema rivnyan ****');
for i:=1 to n do
begin
for j:=1 to n do write(' ',a[i,j]:5:2); write(' ',b[i]:5:2);
WRITELN;
end;
WRITELN;
for k:=1 to n-1 do
begin
max:=abs(a[k,k]); l:=k;
for i:=k+1 to n do
begin
if abs(a[i,k])>max then
begin l:=i; max:=abs(a[i,k]); end;
end;
if l<>k then begin
for j:=k to n do
begin
z:=a[l,j]; a[l,j]:=a[k,j]; a[k,j]:=z;
end;
z:=b[l]; b[l]:=b[k]; b[k]:=z;
end;
for i:=k+1 to n do
begin
m:=a[i,k]/a[k,k];
for j:=k to n do a[i,j]:=a[i,j]-m*a[k,j];
b[i]:=b[i]-m*b[k];
a[i,k]:=0;
end;
end;
Writeln('*** trikytna sistema rivnayn ***');
for i:=1 to n do
begin
for j:=1 to n do write(' ',a[i,j]:5:2); write(' ',b[i]:5:2);
WRITELN;
end;
writeln;
(*** xod nazad ***)
x[n]:=b[n]/a[n,n];
for i:=n-1 downto 1 do
begin
s:=0;
for j:=i+1 to n do s:=s+x[j]*a[i,j];
x[i]:=(b[i]-s)/a[i,i];
end;
END;
Function q(t:real):real;
BEGIN
q:=x[1]+x[2]*t+x[3]*t*t+x[4]*t*t*t;
END;
procedure simpson(a1,b1:real;n2:integer;var s:real);
var
hs:real;e,i:integer;
begin
hs:=(b1-a1)/(2*n2);
s:=q(a1)+q(b1);
e:=1;
for i:=1 to 2*n2-1 do
begin
s:=s+(3+e)*q(a1+i*hs);
e:=-e;
end;
s:=s*hs/3;
end;
BEGIN
Clrscr;
write('vedit kilkistto4ok tabli4noi fynksi N=');readln(n1);
{ctepin polimena} m1:=3;
writeln('vedit vixidni to4ki');
for i3:=1 to n1 do begin
read(x1[i3]); read(y1[i3]);
WRITELN;
end;
writeln('_________________________');
writeln('vihidni dani');
for i3:=1 to n1 do
begin
write(' ',x1[i3]:5:2); write(' ',y1[i3]:5:2);
WRITELN;
end;
c[1]:=0; b[1]:=0;
MNK (n1,x1,y1,a);
for i2:=1 to m1+1 do n:=n+1;
Gaus(n,a,b,x);
writeln('*** vektor rozvyazky ***');
writeln;
for i1:=1 to n do writeln('x[',i1,']=',x[i1]:7:3);
{kofisienti zapicyutsya a0+a1*x+a2*x^2+a3*x^3+...=const}
write(' q(t)'); write(' y');
writeln;
for i3:=1 to n1 do
begin
e1:=e1+Sqr(q(x1[i3])-y1[i3]);
write(' ',q(x1[i3]):7:3); write(' ',y1[i3]:7:3);
writeln;
end;
writeln('poxibka aproksimasyi',e1:7:5);
write('введіть b2=');read(b2);
a1:=0; b1:=b2/10;
eps:=0.001;
repeat
k:=2;
simpson(a1,b1,k,s);
repeat
s0:=s; k:=k*2;
simpson(a1,b1,k,s);
writeln('b1=',b1:5:2,' s=',s:5:2);
until (abs(s-s0)500);
b1:=b1+b2/10;
until b1>b2;
END.
3.7 Відлагодження програми
Виправлення синтаксичних помилок на підставі повідомлень транслятора. Після написання програми транслятор знайшов ні помилку у 149-му рядку з повідомленням “Error 26: type mismatsh
I, j, k, n2: integer;
Після заміни real на integer, програма була запущена транслятором на виконання.
Таблиця 3.3 – Результати контролю правильності розв’язання задачі
| Вихідні дані | Результати розрахунків | |||||||
| ППП MathCad 2000 | Програма на мові Turbo Pascal | |||||||
|
|
|
|
|
|
|
| ||
| 400 800 1200 1600 2000 2400 2800 3200 3600 4000 4400 4800 5200 5600 | 36,3 45,5 54,6 56,1 52,5 66,6 67,9 71,3 65,5 66,4 63,3 55,9 52,6 51,3 | 353 342 3541 332 328 325 319 314 324 330 331 346 353 360 | 34.47-0.123x+0.028x2-0.0012x3 | 421.53-2.37x+0.452x2+0.072x3 | 31.71-0.12x+0.027x2-0.001x3 | 417.32-2.41x+0.457x2+0.07x3 | ||
ВИСНОВОК
В результаті виконаної роботи були розраховані основні параметри диференціала автомобіля, за результатами розрахунків ми дізнались параметри диференціала. Основна мета було Визначити які навантаження може витримати диференціал .
Склавши програму по розрахунку системи лінійних рівнянь методом Гауса розрахували коефіцієнти системи. Знайдені коефіцієнти х
=-1,4, х
=0,76, х
=4,003, х
=1,897, х
=-2,080, Таким чином у нас є 5 чисел які заміняють невідомі.
Розрахували швидкісну характеристику автомобіля і склали таблицю яку можна роздрукувати. З таблиці видно що з більшання обертів і зростає навантаження.
ПЕРЕЛІК ПОСИЛАНЬ
-
Смирнов Г.А. Теория движения колесных машин. – М.: Машиностроение, 1981.- 271с.
-
Кошарний М.Ф. Основи механіки та енергетики автомобіля. – Київ: Вища школа, 1992. – 200с.
-
Turbo Pascal 7.0 for users. BHV, 1999. – 448p.
-
Т.А. Павловськая Pascal Издательство «Питер», 2003.-291с.
-
П.П. Овчинников, Ф.П. Яремчук, В.М. Михайленко Вища математика Частина-1 : Київ «Техніка»2003 -597с.
-
Савуляк В.І. Навчальний посібник
-
Кишеніна Н.В., Кишені В.О., «основи інформаційний технологій та програмування « частина-1 Вінниця 2003.















