N сызықты теңдеулерден тұратын жүйенің жауабын табатын программа құру


Кіріспе
1. Есептің берілуі.
2. Есепті шешу әдістерінің сипаттамасы
Сызықтық теңдеулер жүйесі.
Итерациялық әдістер.
3. Алгоритмнің негізгі түсініктерін қолдану, есептің шешу алгоритмінің блок . схемасын құру.
Алгоритмнің негізгі түсінігі.
Алгоритмнің блок . схемалары.
4. Программаның құрылысы.
Жалпы мағлұматтар.
Программаның логикалық құрылымы.

Қорытынды.
Қолданылған әдебиеттер тізімі:
ЭЕМ – нің пайда болуы әртүрлі мамандықтағы мамандардың есептеу техникасын қолдана алуын талап етеді. Жоғары оқу орындарындағы студент-
тердің дайындық деңгейі көтерілді. Студенттер бірінші курстан бастап ЭЕМ -
ді және қарапайым сандық әдістерді қолдануды үйренеді. Сонымен қатар дипломдық, курстық, семестлік жұмыстарды жасағанда да есептеу техникасын қолдану күнделікті жағдайға айналып отыр.
Есептеу техникасы қазіргі уақытта тек инженерлік және экономикалық ғылымдарда ғана емес, сол сияқты медицина, лингвистика, психология және
тағы сол сияқты математикалық емес мамандықтарда да қолданылады. Осыған орай ЭЕМ – нің бүкіләлемдік сипат алғанын көруге болады. ЭЕМ қолданатын мамандардың көптеген категориялары пайда бола бастады.
Осындай негізгі пәндердің бірі есептеу математикасы болып табылады. Ол математикалық әдістерді шешудің сандық әдістерін құру және зерттеу амалдарын оқытады. Есептеу техникасы өзінің негізгі қолданылуын ғылыми зерттеулердегі қиын есептеулерді жүргізуде тапты.
Солай бола тұра есептерді шешуде негізгі қызмет адамға жүктеледі. Ал машина оның құрған программаларын орындайды.
ЭЕМ тек қарапайым операцияларды орындайтындықтан, ол математикалық тұрғыда тұрған есептерді ″түсінбейді″. Бұл жағдайды шешу үшін есепті кейбір есептеу алгоритміне келтіретін сандық әдіс құру керек. Сандық әдістерді есептеу математикасы аймағында жұмыс ісиейтін мамандар құрады.
ЭЕМ – да есеп шығару процесіндегі бір аса қажетті жағдайды айта кеткен жөн. Ол – есепті шығару амалының, сандық әдістің, ЭЕМ моделінің үнемділігі.
ЭЕМ түрлерінің көбеюіне және олардың мүмкіндіктерінің жоғарылауына байланысты математикалық моделдеугежәне сандық әдістерді құруға қызуғышылық артып барады.
Математикалық моедельдеудің көмегімен ғылыми-техникалық есептердің шығарылуы математикалық есептердің шығарылуына келтіріледі.

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 15 бет
Бұл жұмыстың бағасы: 700 теңге




КІРІСПЕ

ЭЕМ – нің пайда болуы әртүрлі мамандықтағы мамандардың есептеу
техникасын қолдана алуын талап етеді. Жоғары оқу орындарындағы студент-
тердің дайындық деңгейі көтерілді. Студенттер бірінші курстан бастап ЭЕМ -
ді және қарапайым сандық әдістерді қолдануды үйренеді. Сонымен қатар
дипломдық, курстық, семестлік жұмыстарды жасағанда да есептеу техникасын
қолдану күнделікті жағдайға айналып отыр.
Есептеу техникасы қазіргі уақытта тек инженерлік және экономикалық
ғылымдарда ғана емес, сол сияқты медицина, лингвистика, психология және
тағы сол сияқты математикалық емес мамандықтарда да қолданылады. Осыған
орай ЭЕМ – нің бүкіләлемдік сипат алғанын көруге болады. ЭЕМ қолданатын
мамандардың көптеген категориялары пайда бола бастады.
Осындай негізгі пәндердің бірі есептеу математикасы болып табылады.
Ол математикалық әдістерді шешудің сандық әдістерін құру және зерттеу
амалдарын оқытады. Есептеу техникасы өзінің негізгі қолданылуын ғылыми
зерттеулердегі қиын есептеулерді жүргізуде тапты.
Солай бола тұра есептерді шешуде негізгі қызмет адамға жүктеледі. Ал
машина оның құрған программаларын орындайды.
ЭЕМ тек қарапайым операцияларды орындайтындықтан, ол математикалық
тұрғыда тұрған есептерді ″түсінбейді″. Бұл жағдайды шешу үшін есепті кейбір
есептеу алгоритміне келтіретін сандық әдіс құру керек. Сандық әдістерді
есептеу математикасы аймағында жұмыс ісиейтін мамандар құрады.
ЭЕМ – да есеп шығару процесіндегі бір аса қажетті жағдайды айта
кеткен жөн. Ол – есепті шығару амалының, сандық әдістің, ЭЕМ моделінің
үнемділігі.
ЭЕМ түрлерінің көбеюіне және олардың мүмкіндіктерінің жоғарылауына
байланысты математикалық моделдеугежәне сандық әдістерді құруға қызуғышылық
артып барады.
Математикалық моедельдеудің көмегімен ғылыми-техникалық есептердің
шығарылуы математикалық есептердің шығарылуына келтіріледі. Математикалық
есептерді шығару келесі негізгі әдістер қолданылады: графикалық,
аналитикалық және сандық.
Графикалық әдістер кей жағдайларда ізделінетін көлемп тізімін бағалау
мүмкіндігін береді. Бұл әдістердің негізгі мақсаты – ізделінетін шешімдерді
аналитикалық тұрғыда шешу. Мысалы, f(x)=0 теңдеуінің түбірлерін табу үшін
y=f(x) функциясының графигі тұрғызылады. Бұл графиктің абцисса осімен
қиылысу нүктелері ізделініп отырған түбірлер болып табылады.
Аналитикалық әдістерді қолдану кезінде есептердің шығарылуын
формулалардың көмегімен көрсетуге болады. Жеке жағдайда, егер математи-
калық есеп қарапайым алгебралық немесе трансценденттік теңдеулерді,
дифференциалдық теңдеулерді шешуден тұрса, онда матеметикалық курсынан
белгілі формулаларды қолдануға болады. Өкінішке орай бұл әдіс практика
жүзінде өте сирек қолданылады.
Қазіргі кезде қиын математикалық есептерді шығарудағы ең ыңғайлы әдіс
сандық әдіс болып табылады.
ЭЕМ – нің пайда болуына байланысты сандық әдістердің күнделікті
өмірде қолданылуы да жиілей бастады. Сандық әдістердің есептік мәнін алумен
қатар тағы да бір үлкен қасиеті болу керек – есептеу процесінде аса үлкен
қателіктер жсамау.

1. Есептің берілуі.

n сызықты теңдеулерден тұратын жүйенің жауабын табатын программа
құру.
1. Сызықты теңдеулер жүйесі.
1. Негізгі түсініктер.
Сызықтық жүйелер сызықтық теңдецлер жүйесінің шешіміне көптеген
практикалық есептер келтіріледі. Сол себептен сызықтық жүйелерді шешу
есептеу математикасының кең таралған және маңызды қызметтерінің бірі деп
атаса да болады.
n белгісізі бар n сызықтық алгебралық теңдеулер жүйесін жазайық.
a11 xi + a12 x2 +...+a1n xn = b1
a11 x1 +a22 x2 +...+a2n xn = b2
- - - - - - - - - - - - - - - - - - - -
an1 x1 +an2 x2 +...+ann xn = bn

Бұл жүйенің коэффиценттерін таблица түрінде жазайық:
А=
Бұл n2 элементті таблица, n жолдан және n бағыттан тұрады, ол n-
ретті квадрат матрица таблица mn элементтерден тұрса, яғни m жолдан және
n бағаннан тұрса, онда ол тікбұрышты матрица деп атайды.
А матрицасын қолданып (1) теңдеулер жүйесін матрицалық түрде жазуға болады:
АХ=В,
мұнда Х және В – белгісіздер вектор бағаны және оң жақ бөлігінің вектор
бағаны.
Х=, В=
Кей жағдайларда ерекше түрдегі матрицалы теңдеулер жүйесі болады. Осындай
матрицалардың кейбір түрлері:
А=, В=
С=, D=

E=, O=

Мұнда, А – симметриялы матрица (барлық элементтері бас диагональға
симметриялы орналасқан (aij=aji)); B – диагональдің төменгі жағындағы
элементтері нольге тең жоғарғы үшбұрышты матрица; С – клеткалы матрица
(оның нольге тең емес элементтері бөлек топтар (клетка) құрап тұр); D –
ленталы матрица (оның нольдік элементтері диагональға параллель ″лента″
құрап тұр); Е – бірлік матрица (диагональдардың жеке жағдайы); О – нольдік
матрица.
n – ретті А матрицасының анықтауышы (детерминаторы) деп D(detA) саны
аталады. Ол мынаған тең:
D==∑(-1)k a1α a2β ... anω (4)
Мұнда, α, β... ω – 1,2,..., n номерлерінің барлық мүмкін болатын n!
мәндерін қарастырады; К – берілген матрицаның инверсия саны.
D≠0 теңсіздігі сызықтық теңдеулер жүйесін шешудің қажетті және
жеткілікті шарты болып табылады. Анықтауышы нольге тең болған жағдайда
матрица туынды матрица деп аталады.; Бұл кезде (1) сызықтық теңдеулер
жүйесінің шешімі болмайды немесе оның мәні сансыз көп болады:
a1x + b1y = c1, (5)
a2x + b2y = c2.
Әр теңдеу жазықтықтағы түзуді суреттейді; берілген түзулердің қиылысу
нүктелерінің координаттары осы (5) жүйенің шешімі болып келеді.
Екі түзудің жазықтықтағы орналасуының үш мүмкін болатын жағдайын
қарастырайық:
1) Түзулер қиылысады – (5) жүйенің коэфиценттері пропорционалды емес:
(6)
2) Түзулер параллель – (5) жүйенің коэффиценттері мына шарттарға
бағынады: (7)
3) Түзулер сәйкес келеді – барлық коэффиценттері пропорционалды: (8)
(5) жүйесінің D анықтауышын мына түрде жазайық:
D =
(6) D≠0 шарты орындалса, (5) жүйенің бір ғана шешімі болады. Жүйенің
шешімі жоқ немесе сансыз көп болса, (7) немесе (8) қатынастар орын алады.
Олардан D=0 аламыз.
Практика жүзінде, әсіресе ЭЕМ – да есептеген кезде, сандарды
дөңгелектеген кезде немесе санның кіші разрядтарын алып тастаған кезде
анықтауыштың нольге нақты теңдігін алу барлық кезде орындала бермейді. D≈0
болған кезде түзулер бір-біріне параллельге жуық болуы мүмкін (екі
теңдеулі жүйе болған кезде). Бұл түзулердің қиылысу нүктелерінің
координаттары жүйенің коэффиценттерінің өзгеруіне жуық болып келеді.
Сол себепті есептеулермен алғашқы мәліметтердің кішкене қателіктері
есептің шығарылуында үлкен қателіктерге әкеп соғуы мүмкін. Мұндай теңдеулер
жүйесі жаман шартты деп аталады.
2.1.2. Сызықтық теңдеулер жүйесін шешу әдістері екі топқа бөлінеді –
нақты және итерациялы. Нақты әдістер белгісіздерді табу үшін формуланың
соңғы қатынастарын қолданады. Олар есептің мәнін алдын – ала белгілі саны
бар операциялар орындалғаннан кейін шығарады. Бұл әдістер салыстырмалы оңай
және ыңғайлы, яғни кең көлемді сызықтық жүйелерді шешуге қолайлы.
Сонымен қатар нақты әдістердің бірқатар кемшіліктері бар. Олар ЭЕМ –
нің оперативті жадысында матрицаның толығымен сақталуын қажет етеді. Ал n
– нің үлкен мәндерінде ол жадыда көп орын алады. Сонымен қатар нақты
матрицалар матрицаның құрылымын ескермейді, яғни нольдік элементтері көп
болған жағдайда да олар жадыда орын алады және оларға да арифметикалық
амалдар орындалады. Нақты әдістердің және бір үлкен кемшіліктерінің бірі –
есепті шығару барысында қателіктері топталып жиналуы. Себебі кез-келген
этаптағы есептеулерде алдыңғы операциялардың мәні қолданылады. Бұл әсіресе
үлкен жүйелер үшін өте қолайсыз. Өйткені операциялардың жалпы саны көп
болса, жіберілетін қателіктер де үлкен болып кетеді. Сондықтан нақты
әдістерде салыстырмалы кіші (n‹200) жүйелерді есептеуде қолданады.
Итерациялық әдістер – бұл жалғасқан жақындасу әдістері. Бұл әдістерде
бір-біріне жақын бір мән – бастапқы жақындасуды беру керек. Бұдан кейін
белгілі бір алгоритмнің көмегімен есептеудің бір циклы орындалады. Ол
итерация деп аталады. Итерация арқылы жаңа жақындасудың мәнін табады.
Итерациялар қажетті дәлдіктей шешім табылғанша орындала береді. Итерациялық
әдістермен сызықтық жүйелерді шешу алгоритмі әдетте нақты әдістерге
қарағанда күрделірек болып келеді. Есептеулер көлемін алдын-ала анықтау
қиын. Сонда да итерациялық әдістер кей жағдайларда қолайлырақ болып келеді.
Олар жадыда матрицаның толығымен сақталуын қажет етпейді. Тек n
компонентті бірнеше вектор ғана сақталады. Кейде матрица элементтерін
мүлдем сақтамаса да болады, сөйтіп қажетті мөлшерде ғана есептейді.
Итерациялық әдістерді қолдануда соңғы мәндерінің қателіктері жиналмайды.
Итерациялық әдістердің бұл қасиеттері көп теңдеулерді есептегенде өте
қолайлы болып келеді. Итерациялық әдістер нақты әдістер арқылы алынған
мәндерді дәлдеу үшін де қолданылады.
2. Сызықтық алгебраның басқа амалдары
Сызықтық алгебраның сызықтық теңдеулер жүйесін шешуден басқа амалдары
бар: анықтауышты, кері матрицаны, матрицаның жеке мәнін есептеу. Тек
төменгі ретті анықтауыштар мен анықтауыштардың кейбір ерекше типтері ғана
оңай есептеледі. Жеке жағдайда екінші және үшінші ретті анықтауыштар үшін
мына есептеулер орындалады:

Үшбұрышты матрицаның анықтауышын бас диагональда орналасқа
элементтердің көбейтіндісіне тең:
D=a11 a22 ... ann. Бұдан бірлік матрицаның анықтауышы бірге, ал нольдік
матрицаның анықтауышы нольге тең деген тұжырымға келеміз:
detE = 1, detO = 0.
Жалпы жағдайда анықтауышты есептеу әлдеқайда қиын болып келеді.
n – ретті D анықтауышы мына түрде өрнектеледі:
D == ∑(-1)k a1α aβ ... anω

Осыдан анықтауыш n! қосылғыштарының қосындысына тең екенін көреміз.
Ол қосылғыштардың әрқайсысы n элементтер көбейтіндісі болып келеді. Сол
себептен n ретті анықтауышты есептеу үшін (n-1) n! көбейту және n!-1
қосу амалдары қажет, яғни арифметикалық операциялардың жалпы саны мынаған
тең:
N = n * n! – 1 ≈ n * n!. (9)
Анықтауыштың ретіне байланысты N – нің бағалайық:
n 3 10 20
N 17
3,6*107 5*1019

ЭЕМ – да мұндай анықтауыштардың есептелу уақытын да табуға болады.
ЭЕМ жылдамдығы 1000000 операциялар секундына деп берілсін.
Сонда 10 – ші ретті анықтауышты есептеу үшін 6 минут, ал 20 – ретті
анықтауышты есептеуге 1,4*1011 сағат, яғни 5*109 тәуліктен астам уақыт
керек. Келтірілген мысалдар үнемді сандық әдістерді қолдануды қажет
ететінін көрсетеді. Сандық әдістер анықтауыштарды есептеуді тиімді жүргізу
мүмкіндігін береді.
Егер көбейтінділері бірге тең болса (АА-1=A-1A=E), онда А-1 матрицасы
А квадрат матрицасына қатысты кері матрица деп аталады. Сызықтық алгебрада
D анықтауышы нольден басқа болатын кез-келген А матрицасының кері
матрицасы болатыны дәлелденген.
DetA-1=1D
Бастапқы матрицаны мына түрде жазайық:
А =
аij элементінің миноры деп n – 1 ретті анықтауыш деп аталады.
аij элементінің Аij алгебралық толықтауышы деп оң таңбамен алынған
оның миноры деп аталады.

Аij = (-1)i+j
В = А-1 кері матрицасының әрбір bij(i, j =1,...,n ) элементі Aij
алгебралық толықтауышының D анықтауышының мәніне қатынасына тең:
В = А-1 = (10)
Мұнда да жоғарыдағы сияқты кері матрицаны есептеуге қажетті
операциялар санын анықтауға болады. Сонымен кері матрицаны есептеуге
арналған операциялардың жалпы саны мынаған тең:
N = [(n-1)*(n-1)!-1]*n2+n2+n*n!-1=n2*n! -1 (11)
Сызықтық алгебраның тағы бір маңызды мәснлнсі матрицаның өзіндік мәнін
есептеу болып табылады.

2.2. Итерациялық әдістер.
2.2.1. Есептеуді анықтау.
Тура әдістердің көмегімен алынатын мәндердің көптеген қателіктері
болады. Кей жағдайларда бұл қателіктер үлкен болып келеді. Сондықтан оларды
азайту амалдарын табу керек.
Төменде тура әдістің көмегімен алынған мәндерді нақтылайтын кейбір
әдістерді қарастырайық .
1) сызықтық теңдеулер жүйесінің шешімін табайық:
a11x1+a12x2+...+a1nxn=b1
a11x1+a22x2+...+a2nxn=b2
- - - - - - - - - - - - - - - - - - - -
an1x1+an2x2+...+annxn=bn
Кез-келген юір тура әдістің көмегімен х1(0), х2(0), ... , хn(0)
белгісіздерінің шешімі табылсын делік. Бұл шешімдерді (1) жүйенің сол
жағына қойып, b1(i=1,2,...,n ) бөлек bi(0) мәндерін табамыз:

a11x1(0)+a12x2(0)+...+a1nxn(0)=b1(0)
a11x1(0)+a22x2(0)+...+a2nxn(0)=b2(0) (12)
- - - - - - - - - - - - - - - - -
an1x1(0)+an2x2(0)+...+annxn(0)=bn(0)

Белгілеулерді енгізейік: εi (0) – белгісіздер шешімдерінің қателіктері,
Γi(0) – байланыссыздықтар, яғни
εi (0) =xi – xi(0), Γi = bi – bi(0), i = 1,2,...,n
(13)
белгілеулерді ескере отырып (12) жүйенің әр теңдеуін (1) жүйенің сәйкес
теңдеулерінен алған кезде келесі жүйені аламыз:
a11 εi (0) +a12 ε2 (0) +...+a1n εn (0) = Γi (0)
a11 ε1 (0) +a22 ε2 (0) +...+a2n εn (0) = Γi (0) (14)
- - - - - - - - - - - - - - - - - - - -
an1 ε1 (0) +an2 ε2 (0) +...+ann εn (0) = Γi (0)
Жүйені шеше отырып εi (0) қателіктерінің мәндерін табамыз. Оларды
шешімдерге түзетулер ретінде қолданамыз. Белгісіздердің келесі жуықтаулары
мына түрде болады:
x i (1) = x i (0) + εi (0), x 2 (0) = x 2 (0) + ε2 (0),..., x n
(1) = x n (0) + εn (0)
Осындай әдіспен шешімге жаңа түзетулер және айнымалылардың келесі
жуықтауларын табуға болады. Бұл процесс қателіктердің (түзетулердің) барлық
келесі мәндері мүмкіндігінше аз болғанға дейін қайталанады.
Қарастырылған шешімді нақтылау процессі сызықтық теңдеулер жүйесін
шешудің итерациялық әдісі деп аталады. Келесі жуықтауды, яғни итерацияны
табу үшін (14) түріндегі теңдеулер жүйесі шешіледі. Бұл экономикалық
алгоритмдерді құру мүмкіндігін береді. Мысалы, Гаусс әдісін қолданғанда
есептеулер көлемі қысқарады.
Қарастырылған әдістің, сонымен қатар басқа да әдістердің көмегімен
теңдеулер жүйесін шешу келесі амалдарға әкеп соғады. Алғашқы мәліметтер
енгізіледі, мысалы, теңдеулер коэффиценті және қателіктердің ескерілмейтін
ең үлкен мәні енгізіледі.
Сонымен қатар белгісіздер мәндерінің бастапқы жуықтауларын беру
керек. Олар не ЭЕМ – ға енгізіледі, не басқа бір амалмен есептеледі. Содан
соң циклдық есептеу процессі құрылады. Мұндағы әр цикл бір итерацияны
береді. әрбір итерацияның орындау барысында белгісіздердің жаңа мәндері
алынады. Бірінен кейін бірі орындалатын екі итерацияда бұл мәндер кіші
болс, процесс тоқтатылады және соңғы итерацияда алынған белгісіздер шешімі
шығарылады.

Теңдеулер жүйесін итерациялар әдісімен шешу

2. Гаусс – Зейдель әдісі.

Қарапайымдылығымен және оңай программалаулығымен ерекшелене –
тін, кең таралған итерациялық әдістердің бірі болып Гаусс – Гейдель әдісі
табылады. Алдымен бұл әдісті жүйені шешу үлгісінде көрсетейік:
a11x1+a12x2+a13x3=b1

a21x1+a22x2+a23x2=b2 (15)

a31x1+a32x2+a33x3=b3

Бұл матрицаның диагональдағы a11, a22, a33 элементтері нольден бөлек
деп алайық. ... жалғасы
Ұқсас жұмыстар
Си тілінде программа құру
Модульдерді пайдаланатын программа құру
Бейсик және Паскаль тiлдерiнде программа құру ерекшелiктерi
КОМПЬЮТЕР ДҮКЕНІ МҚБЖ-Н ҚҰРУ
Динамикалық ұғым принципімен программа құру технологиясы
Бала-бақша МҚБЖ-н құру
Файлдармен әрекет жүргiзетiн процедуралар. Программа құру
Бейсик тілінде берілген есепке программа құру
Сызықты емес теңдеулер
"Бейсик тілінде берілген есепке программа құру."
Пәндер

Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор №1 болып табылады.

Байланыс

Qazaqstan
Phone: 777 614 50 20
WhatsApp: 777 614 50 20
Email: info@stud.kz
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь