Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Паскаль тілінде матрицаның анықтауышын есептеуді қолданбалы есептерді шешуде қолдану



 

Төменде меншікті мәнді табуда қолданылатын матрицаның анықтауышын есептеу программаларын береміз.

14-мысал, 100 метрлік қашықтыққа жүгіру жарысына үш топтың әрқайсысынан төрт студенттен іріктеп алынған болатын. Олардың секунтпен өлшенген жүгіру нәтижелері 6-кестеге енгізілді. Қайсы топтың студенттері бірінші орынға шықты? Орта есеппен олардың әрқайсысы 100 метрді қанша уақытта өтті ?

 

Программа тексті

Теңдеулер жұйесін крамер әдісімен шешу

Program tjkash; uses crt;

label 1,2,3,4,5;

var a,a1:array [1..10,1..10] of real;

x,det,l,c,b:array[0..10] of real;

i,ii,j,k,k1,k2,k3,m,j1,f1,n:integer;

p:real;

begin clrscr;

write ('n='); read(n);

for i:=1 to n do

for j:=1 to n do

begin write ('a[',i,j,']='); read (a[i,j]); end;

for i:=1 to n do

begin write ('b[',i,']='); read (b[i]); end;

ii:=0;

for i:=1 to n do

for j:= 1 to n do

a1[i,j]:=a[i,j];

5:for i:=1 to n do

begin writeln;

for j:=1 to n do

write (a[i,j]:8:2); write(b[i]:8:2);

writeln;

end; readkey;

k1:=0;

for i:=1 to n-1 do {i-boyinsha sikldin basi*}

begin k1:=k1+1; l[k1]:=a[i,i];

writeln ('l[',k1,']=', l[k1]:6:2); readkey;

if a[i,i]=0 then

{*******}

begin

writeln ('bas element nolge ten bolyp kaldy=');

k2:=0;

4: writeln (' i=',i);

for k:=i to n do

begin writeln;

write (' k=',k:8);

for m:=i to n do

write (a[k,m]:8:2);

end; writeln;

{ekranda jol jane bagandardi austiru}

writeln ('jol auistiruda m=1 engizu kerek.');

writeln ('bagan auistiruda m=2 engizu kerek.');

readln(m);

if m=1 then goto 1;

if m=2 then goto 2;

goto 3;

1: begin write (' joldardin auistiru nomirlerin engizu j1,f1=');

readln (j1,f1); k2:=k2+1;

for k:=i to n do

c[k]:= a[j1,k];

for k:=i to n do

a[j1,k]:= a[f1,k];

for k:=i to n do

a[f1,k]:= c[k]; end;



l[k1]:=a[f1,i];

goto 3;

2: begin write (' bagandardin auistiru nomirlerin engizu j1,f1=');

readln (j1,f1); k2:=k2+1;

for k:=i to n do

c[k]:= a[k,j1];

for k:=i to n do

a[k,j1]:= a[k,f1];

for k:=i to n do

a[k,f1]:= c[k]; end;

l[k1]:=a[i,f1];

3: writeln (' i=',i);

for k:=i to n do

begin writeln;

writeln (' k=',k:8);

for m:=i to n do

write (a[k,m]:8:2);

end;

write ('tagi orin auistiru ia=1 joq=0 '); readln (k3);

if k3=1 then goto 4;

writeln;

end; readkey;

{*******}

for j:=i to n do

a[i,j]:=a[i,j]/l[k1];

for k:=i+1 to n do

begin p:=a[k,i];

for j:=i to n do

a[k,j]:=a[k,j]-a[i,j]*p;

end;

writeln(i,'-Gauss qisqartirui');

for k:=1 to n do begin writeln;

write ('k=',k:8);

for m:=1 to n do

write (a[k,m]:8:2);

end; writeln;

end; {i-boyinsha sikldin soni*}

l[n]:=a[n,n];

for i:=1 to n do

begin writeln;

for j:=1 to n do

write (a[i,j]:8:2);

writeln;

end; readkey;

p:=1;

for i:=1 to n do

p:=p*l[i]; det[ii]:=p;

for i:=1 to n do

for j:=1 to n do

a[i,j]:=a1[i,j];

ii:=ii+1;

for j:= 1 to n do

a[j,ii]:=b[j];

if ii-1<n then begin

write ('delt',ii-1,'=',p:8:2);readkey;

goto 5; end;

for i:=1 to n do

begin

x[i]:=det[i]/det[0];

writeln('x[',i,']=',x[i]:6:2);

end; readkey;

end.

ОРЫТЫНДЫ

Диплом жұмыста матрицалар көмегінде есептер шешу және олар көмегінде сызықты теңдеулер жүйесін шешу әдістеріне программалар құру жоспарланған. Осы жоспарланған жұмыстарда орындау барысында төмендегі нәтижелер алынды:



-матрицалар алгебрасын программалау үшін әдебиеттерден керекті материалдар жинақталып оларға типтік есептер шешілген.

- кері матрицаны есептеу әдістеріне есептер шешілген;

- Гаусс әдісімен матрицаның анықтауышын есептеу мысалдары қарастырылған және ол кері матрицаны есептеуде қолданылған;

- Кері матрица көмегінде сызықты теңдеулерді шешуге әдебиеттерден мысалдар жинақталып есептер шешілген;

- матрицалар көмегінде теңдеулер жүйесін шешудің Крамер ережесіне алгоритм және программа құру үшін әдебиеттерден материалдар жинақталған және есептер шешілген;

- матрицаның анықтауышын есептеу программаларын қолданбалы есептерді шешуде қолданылған;

-матрицалар алгебрасын орындау үшін программалар құруда процедуралармен функцияларды қолдану әдістері үйренілген;

- кері матрицаны есептеу әдістері алгоритмделген, программа құрылған және есептер шешіліп алынған нәтижелер әдебиеттердегі нәтижелермен салыстырылған;

- матрицалар көмегінде теңдеулер жүйесін шешудің Крамер ережесіне программа құрылған және программа көммегінде есептер шешіліп алынған нәтижелер әдебиеттердегі нәтижелермен салыстырылған;

- Гаусс әдісімен матрицаның анықтауышын есептеу программалары құрылған және программа көмегінде нәтижелер алынған;

- Гаусс әдісімен кері матрицаның анықтауышын есептеу программалары құрылған және программа көмегінде нәтижелер алынған;

- Матрицаның анықтауышын және кері матрицаның агықтауышын есептеу үшін әдебиеттерден есептер жинақталып керекті жерде програмалар көмегінде нәтижелер алынды.

Құрылған программаларда әрбір әдістің шешілу кезеңдерінде алынатын нәтижелер экранда бейнелеу тәсілі қолданылған. Бұл тәсіл әрбір әдісті пайдаланушы мысалдар шешкенде терең түсіну мүмкіншілігін береді. Әрбір кезең нәтижесі экранда Enter клавишасын басқанға дейін көрініп тұрады. Бұл уақытта әрбір пайдаланушының осы кезеңдегі алынған нәтижесінің қандай кемшілідктері бар, жоқтығын тексеру мүмкіншілігі болады.

Программалау барысында қолданылатын идентификаторлар теориялық бөлімде қолданылған символдармен сәйкестендірілген.

Құрылған программалар кафедраны программалық қорына тапсырлады және оқу процессінде қолданылады.

 

Матрица үстінде амалдар орындау әдістерін алгоритмдеу және программалау көмегінде есептер шешу программалар көмегінде әдістерді терең түсіну мүмкіншілігін береді. Диплом жұмыста сызықты теңдеулер жүйесін кері матрицаны қолдану әдісімен шешу есептері қолданбалы есептер шешуде жиі кездеседі. Сол себепті сызықты теңдеулер жүйесін кері матрицаны қолдану әдісімен шешуді алгоритмдеу және программалауды үйрену қажет. Алгоритмдеу жұмысын орындау үшін әдебиеттерде жаттығу үшін берілген есептерді шешіп үйренілді. Есептер шешу кезінде есептерді шешу кезеңдері анықталды. Әрбір кезеңде орындалатын амалдар өз ретімен орындалатын Паскальпаттамалары жазылады. Бұл Паскальпаттамалар толық болғанда осы кезең үшін есептеу алгоритмі құрылды. Әрбір аралық кезеңде алынатын нәтижелер алдынан анықталып программаның нәтижесімен салыстырылып туралығы тексеріліп тұрды. Барлық кезеңдер ретімен біріктіріліп соңғы нәтижелер әдебиеттерде берілген есептердің нәтижелерімен салыстырылып дұрыс немесе бұрыс екендігі анықталады.

Гаусс әдісімен матрицаның және кері матрицаның алгоритм және программасын құруда әдебиеттерде қолданылған айнымалыларды алгоритм мен программаларда қолдану берілген есептің әрбір кезеңінде орындалатын есептеу жұмыстарын қадам сайын тексеріп көру мүмкіншілігін береді. Жұмысты алгоритмдеу барысында есептеу жұмыстарында кездесетін нольге бөлу жағдайларын болдырмау тәсілдерін қолдану немесе алдын-ала нольге бөлу жағдайы пайда болғандығы жайлы мәлімет беру тәсілдері қарастырылды.

Берілген есептің нәтижелері табылғаннан кейін оны берілген жүйеге қойып оның нәтиженің дұрыс немесе дұрыс емес екендігіне көз жеткізуді оңайлату үшін табылған нәтижелерді берілген теңдеулердің әрбіріне қалған көріністі экранда бейнелеу әдісі қолданылған. Осы нәтиже көмегінде теңдіктің оң жағындағы шамалардың сол жағындағы шамалармен салыстырылады. Егер барлық теңдіктер орынды болса онда нәтиже дұрыс болады.

Программалар құруда программаның бірдей есептеу жұмыстарын орындайтын бөлігін процедуралар көрінісінде Паскальпаттау программаны тиімділеуге алып келеді. Оыс құрылымда құрылған программаларды студентерге қолданбалы есептер шешуге ұйрету керек. Бұл студентерде қолданбалы есептер шешу дағдысын жоғары деңгейге көтереді. Бұл диплом жұмыста программаның тиімділігін асырудың екінші бір әдісі файлдарды қолдану. Программаларды файлдарды қолдану программаладың берілгендерін тиімді түрде сақтау мүмкіншілігін береді. Бұл студентерді мәліметер қорын құрудың бастапқы және негізгі қадамдарын үйретеді. Сол үшін бұл диплом жұмыста құрылған программаларда процедуралармен файлдарды қолдану әдістері ұйренілген. Матрицалардың меншікті мәні және векторын табу әдістері практикалық және ғылыми жұмыстарда кездесетін есптерді студентерге табуды үйрету керек. Бұл есеп химия, физика, математика салаларында қолданбалы есептер шешу дағдысын студенттерге үйрету мүмкіншілігін береді.


Просмотров 828

Эта страница нарушает авторские права

allrefrs.ru - 2020 год. Все права принадлежат их авторам!