Реферат по предмету "Информатика, программирование"


Розробка програмного забезпечення для розв'язку СЛАР методом Гауса

Зміст
 
Вступ
1. Теоретична частина
1.1 Постановка задачі1.2 Розв’язаннясистеми лінійних рівнянь методомГаусса
1.3 Вхідна інформація
1.4 Вихідна інформація
2. Практична частина
2.1 Архітектура програми
2.2 Опис програми
2.3 Контрольний приклад
Висновок
Список використаної літератури
Додатки

Вступ
 
Слово«комп’ютер» означає «обчислювач», тобто пристрій для обчислень. Необхідність вавтоматизації обробки даних, в тому числі обчислень, виникла дуже давно. Багатотисяч років назад для обчислень використовувались палочки, камінці і т. д.Більше 1500 років тому назад (а може і раніше) для полегшення обчислень почаливикористовувати рахівниці.
В1642 р. Блез Паскаль винайшов пристрій, який виконував додавання чисел, а в 1673р. Готфрід Вільгельм Лейбніц сконструював арифмометр, який дозволив механічновиконувати чотири арифметичні дії. Починаючи з XIX ст. арифмометри набулиширокого розповсюдження. На них виконували навіть дуже складні обчислення,наприклад розрахунки балістичних таблиць для алтилерійських стрільб. Існувала іспеціальна професія – рахівник – людина, яка працювала з арифмометром, швидко іточно виконувала певну послідовність інструкцій (таку послідовність інструкційпочали називати програмою). Але багато обчислень виконувались дуже повільно.Причина проста – при таких обчисленнях вибір виконуваних дій і записуваннярезультатів виконувалась людиною, а швидкість її роботи досить обмежена.
Впершій половині XIX ст. англійський математик Чарльз Беббідж намагався побудуватиуніверсальний обчислювальний пристрій – Аналітичну машину, яка повинна булавиконувати обчислення без участі людини. Для цього вона повинна була вмітивиконувати програми, які вводилися з допомогою перфокарт (карт з цупкого паперуз інформацією, яка наносилася з допомогою дірок) і мати «склад» длязапам’ятовування даних і проміжних результатів (пам’ять). Беббідж не змігдовести до кінця роботу по створенню Аналітичної машини – вона виявиласязанадто складною для техніки того часу. Але він розробив всі основні ідеї, і в1943 р. американець Говард Ейкен на основі техніки XX ст. – електромеханічнихреле – зміг побудувати на одному з підприємств фірми IBM таку машину під назвою«Марк-1». Ще раніше ідеї Беббіджа були перевідкриті німецьким інженером КондратомЦузе, який в 1941 р. побудував аналогічну машину.
Доцього часу необхідність в автоматизації обчислень стала настільки великою, щонад створенням машин такого типу працювало кілька груп розробників. Починаючи з1943 р. група спеціалістів під керівництвом Джона Мочлі і Преспера Ейкарта вСША почала конструювати схожу машину на основі електронних ламп, а не на реле.Їхня машина ENIAC працювала в тисячу раз швидше, але для задання її програминеобхідно було на протязі декількох годин або навіть декількох днівпід’єднювати певним чином проводи. Щоб спростити процес задання програми, Мочліі Ейкерт почали конструювати нову машину, яка могла б зберігати програму всвоїй пам’яті. В 1945 р. до роботи був залучений знаменитий математик Джон фонНейман, який підготував доповідь про цю машину. Доповідь була розісланабагатьом вченим і отримала широку популярність, оскільки в ній фон Нейман ясноі просто сформулював загальні принципи функціонування універсальнихобчислювальних пристроїв, тобто комп’ютерів.
Першийкомп’ютер, який базувався на принципах фон Неймана, був побудований в 1949 р.англійцем Морісом Уілкінсом. З появою комп’ютерів виникла наука інформатика.
Інформатика – комплекснанаукова й інженерна дисципліна, що вивчає всі аспекти проектування, створення,оцінювання, функціонування комп’ютерних систем оброблення інформації, їхзастосування і вплив на різні галузі соціальної практики.
Термін«informatique» запроваджено уФранції в середині 60-х років XX ст., коли розпочалося широке використанняобчислювальної техніки.
Одниміз базових понять інформатики й ОТ є поняття алгоритму як правила перетворенняінформації. Алгоритм указує, які операції оброблення даних і в якійпослідовності необхідно виконувати, щоб одержати розв’язок задачі.
Алгоритм– точнийприпис, що визначає обчислювальний процес, який веде від початкових даних, щозмінюються, до шуканого результату.
Знього починається робота над програмою і від якості алгоритму залежить їїуспішне створення. Тому вміння програмувати в значній мірі означає розроблятихороші алгоритми і застосовувати вже відомі.
Насьогодні існує велика кількість різноманітних мов програмування, кожна з якихмає свої певні переваги і недоліки. В цьому розмаїтті не завжди легко зробитисвій вибір на користь якоїсь певної мови програмування.
Дляреалізації поставленої задачі вибрано середовище Turbo Pascal. Алгоритмічнамова Pascal була створена Н. Віртом на початку 70–их років. Завдякизусиллям розробників ця мова програмування стала потужним інструментомпрофесійних програмістів, не втративши простоти і якості, властивих цій мовівід народження.
Розробниксистеми Turbo Pascal – фірма Borland International, яка виникла в1984 році і за порівняно короткий час неодноразово дивувала користувачівперсональних ЕОМ своїми Turbo- системами. Було випущено кілька версій Turbo Pascal: 3.0, 4.0, 5.0,5.5, 6.0, 7.0 Pascal For Window, Borland Pascal.
Головніособливості середовища Turbo Pascal:
· широкий спектр типів даних, можливість обробки рядкових таструктурних типів даних;
· достатній набір операторів управління розгалуженнями та циклами;
· добре розвинутий апарат підпрограм та зручні конструкції роботи зфайлами;
· великі можливості управління всіма ресурсами ПЕОМ;
· різноманітні варіанти стикування з мовою Асемблера;
· підтримка ідей об’єктно — орієнтованого програмування.
Самез огляду на ці особливості програмну реалізацію курсового проекту булоздійснено в середовищі Turbo Pascal.

1. Теоретична частина
 
1.1Постановка задачі
 
Системилінійних рівнянь.
 
Розв’язком деякої множини(системи) рівнянь
F1(x1, x2, …, xn) = 0, …, Fm (x1, x2, …, xn) = 0
зневідомими x1,x2, …, xn називаєтьсямножина значень невідомих, які перетворюють одночасно всі рівняння системи втотожності. Система рівнянь вважається розв’язаною, якщо знайдено всі такі значенняневідомих або доведено, що не існує набору значень невідомих, які перетворювалиб одночасно всі рівняння системи в тотожності. В останньому випадку кажуть, щосистема не має розв’язків або що вона несумісна.
Системурівнянь часом записують, об’єднуючи рівняння фігурною дужкою.
Двісистеми рівнянь вважають еквівалентними, якщо вони мають одну й ту самумножину розв’язків. (Дві несумісні системи за означенням вважаютьсяеквівалентними.)
Кажуть,що система рівнянь (S) еквівалентна двом системам рівнянь (S1) і (S2), якщо множинарозв’язків системи (S) збігається з об’єднанням множин розв’язків систем (S1) і (S2).
Властивостісистем рівнянь:
1)При заміні будь-якого рівняння системи еквівалентним рівнянням утворюєтьсяеквівалентна система.
2)Якщо одне з рівнянь системи (S) еквівалентне деяким двом рівнянням, топочаткова система (S) еквівалентна двом системам (S1) і (S2), в кожній зяких це рівняння замінене на одне з рівнянь еквівалентної сукупності, а рештазалишена без змін.
Системоюsлінійних алгебраїчних рівнянь з n невідомими x1, x2, …, xn називаєтьсясистема вигляду
a11x1+ a12x2 +…+ a1nxn = b1,
a21x1+ a22x2 +…+ a2nxn = b2,
.… .
as1x1+ as2x2 +…+ asnxn = bs.
Величиниa11, a12, …, a1n, a21, a22, …, a2n, …, as1, as2, …, asn називаються коефіцієнтамиданої лінійної системи рівнянь. Індекси біля коефіцієнтів лінійної системиозначають: перший індекс показує номер рівняння системи, другий індекс показуєномер невідомого, при якому стоїть даний коефіцієнт. Так, наприклад, a25 – коефіцієнт, що стоїтьу другому рівнянні системи при невідомому х5.
Величиниb1, b2, ..., bs називаються вільнимичленами першого, другого, ..., s-го рівнянь системи. Система рівняньназивається однорідною, якщо всі числа bj дорівнюють нулю (j=1, 2, 3, ..., s), і неоднорідною,якщо хоча б одне bj відмінне від нуля.
Упорядкованамножина n чисел k1, k2, k3, …, kn називається розв’язком системи,якщо при підстановці його в систему замість невідомих x1, x2, x3, …, xn усі рівняннясистеми перетворюються в тотожність. Система рівнянь називається сумісною,якщо вона має хоча б один розв’язок, і несумісною, якщо вона не маєжодного розв’язку.
Суміснасистема лінійних рівнянь називається визначеною, якщо вона має єдинийрозв’язок, тобто існує тільки один набір n чисел k1, k2, k3, …, kn, який перетворюєвсі рівняння системи в тотожності.
Суміснасистема лінійних рівнянь називається невизначеною, якщо розв’язківбільше ніж один.
Системаоднорідних рівнянь завжди має нульовий розв’язок:
x1 = x2 = x3 = … = xn = 0
Якщосистема однорідних рівнянь має ненульовий розв’язок k1, k2, k3,..., kn (тобто хоча бодне з чисел ki (i = 1 ,2,…, n) відмінне від нуля), то така система має інезліченну множину розв’язків вигляду lk1, lk2, …, lkn, де l — будь-якечисло.
 1.2Розв’язання системи лінійних рівняньметодом Гаусса
 
Однимз найпоширеніших методів розв’язування систем алгебраїчних рівнянь є методпослідовного виключення невідомих – метод Гаусса. Цей метод ґрунтується надеяких перетвореннях системи лінійних рівнянь, внаслідок яких дістанемосистему, еквівалентну початковій системі.
Метод Гаусса ґрунтується надеяких перетвореннях системи лінійних рівнянь, внаслідок яких дістанемосистему, еквівалентну початковій системі.
Алгоритмгауссових вилучень полягає у послідовному застосуванні до системи такихелементарних перетворень:
1) множення рівняння системи на число, відмінне від нуля;
2) додавання до одного рівняння іншого, помноженого на довільнечисло;
3) зміна місцями двох рівнянь в системі.
Післяелементарних перетворень система стає рівносильною. Якщо система лінійнихрівнянь має вигляд
a11x1+ a12x2 +…+ a1nxn = b1,
a22x2+…+ a2nxn = b2,
…………………………….
annxn= bn,

тобтоматриця коефіцієнтів системи – верхня трикутна, то розв’язують її доситьпросто, послідовно виключаючи невідомі по черзі з останнього рівняння.
Прямийперебіг методу Гаусса саме й дає змогу внаслідок елементарних перетвореньзамінити систему лінійних рівнянь загального вигляду еквівалентною системою зверхньою трикутною матрицею.
Єбагато реалізацій методу Гаусса з певними перевагами обчислення. Наприклад, усхемі з вибором головного елемента послідовність вилучення визначають під часобчислення.
Схемаєдиного ділення. Опишемо метод Гаусса для розв’язування системи лінійних рівняньзагального вигляду:
a11x1+ a12x2 +…+ a1nxn = a1,n+1,
a21x1+ a22x2 +…+ a2nxn = a2,n+1,
...................................................
an1x1+ an2x2 +…+ annxn = an,n+1.
Виберемоa11/>0 як провідний елемент іподілимо на нього перше рівняння. Дістанемо
x1+ a12/>x2+…+a1n/>xn =a1,n+1/>,
a1k/>= a1k a11,k=2,3,...,n.
Вилучимоx1 з усіх рівнянь системи,крім першого. Для цього помножимо перетворене перше рівняння на -a21 і додамо його додругого. Аналогічно вилучаємо x1 з третього рівняння і т. ін. Помножимо перше рівняння на -an1 і додамо його доостанньго, вилучимо x1 з n-го рівняння. На цьому перший крок гауссового вилучення завершено.Початкова система матиме еквівалентний вигляд:

x1+ a12/>x2+…+a1n/>xn =a1,n+1/>,
a22/>x2+…+ a2n/>xn = a2,n+1/>,
...........................................................
 an2/>x2+…+ ann/>xn = an,n+1/>.
деaij/>= aij- ai1 a1j/>,j=2,3,...,n+1.
Надругому кроці, припустивши, що провідний елемент a22/>0, вилучимо невідоме x2 з усіх рівнянь, починаючи з третього.
Після скінченої кількості таких перетворень початкова система лінійних рівнянь матиме один з таких виглядів:
/>а)/>
б)/>
 
Увипадку а) система має єдиний розв’зок, який легко знайти шляхом послідовноговилучення невідомих, починаючи з xn, за формулами:
/>
pascal рівняннялінійний програма гаус

Цейвипадок можливий, коли всі рівняння системи лінійно незалежні, тобто визначникматриці коефіцієнтів біля невідомих не дорівнює нулю. Крім того, всі провідні елементиa11, a22/>, ..., ann/>також відміннівід нуля. Остання умова завжди виконуватиметься, якщо матриця системи маєвластивість діагонального перевантаження, тобто
/> />
або відмінні від нуля головнімінори матриці.
У випадку б) система несумісна,коли хоча б одне з чисел сr+1,n+1,..., сn,n+1 не дорівнює нулю. Якщовсі елементи сr+1,n+1,..., сn,n+1дорівнюють нулю, то система має нескінченну множину розв’язків. Невідомі xr+1,...,xn можуть набирати будь-яких значень, а з перших r рівнянь перетвореної системи поданопослідовно xr,xr-1,...,x1 через вільні невідомі xr+1,...,xn.У цьому разі система має r лінійнонезалежних рівнянь, а решта є їх наслідками.
Схема єдиного ділення полягає увикористанні однотипних дій, які легко програмувати на сучасних ЕОМ. МетодГаусса надзвичайно ефективний також за кількістю арифметичних дій. Кількістьмножень і ділень у прямому перерізі методу має порядок O(n), де n – кількість рівнянь у системі. Узворотному перерізі цей порядок становить O(n/>).
У загальному випадку коефіцієнтисистеми є дробові числа. Крім того, під час ділення на провідні елементиобмежуються скінченою кількістю десяткових знаків. Тому гауссові виключеннянеминуче супроводжує похибка заокруглення, яка може збільшуватися зі зростаннямкількості рівнянь системи. Отже, метод Гаусса дає змогу знайти розв’язоксистеми з точністю до похибки заокруглення.
 

1.3Вхідна інформація
 
Впрограмі описаний тип mas1, який являється масивом дійсних чиселмаксимальної розмірності 50 на 51.
Длявведення коефіцієнтів при невідомих і вільних членів в програмі описано матрицюа. Розмірність цієї матриці має тип integer, але її значенняобмежене програмою – залежить від кількості рівнянь. Елементи матриці маютьтакий тип, як і матриця, до якої вони належать.
 Показник Ідентифікатор Значність Тип матриця а a mas1 висота матриці а n 1..50 integer ширина матриці а n+1 1..51 integer елемент матриці а a[i,j]  real
1.4Вихіднаінформація
 
Впрограмі описаний тип mas2. Цей тип являється одновимірним масивом дійснихчисел розмірності 50. Матриця x формується в результаті перетворень над матрицеюа і обчислень всередині програми.
 Показник Ідентифікатор Значність Тип матриця x a mas1 розмірність матриці x n 1..50 integer елемент матриці x a[i,j]  real
 

2.Практична частина
 
2.1Архітектура програми
 
ПрограмаGays призначена дляобчислення системи лінійних рівнянь методом Гаусса. Програма складається зголовної програми і шести процедур:
Vvid
Mriv
Dil
Nkoef
Nevid
Result
Текстпрограми (Додаток ), блок-схеми всіх процедур і головної програми подані вдодатках.
Процедураvvid призначена длявведення кількості рівнянь, коефіцієнтів при невідомих і вільних членів(Додаток ).
Процедураmriv призначена длятого, щоб поміняти провідне рівняння, якщо провідний коефіцієнт рівний нулю, нате, де ведучий коефіцієнт відмінний від нуля. Це рівняння автоматично стаєведучим (Додаток ).
Процедураdil призначена дляділення коефіцієнтів провідного рівняння на провідний коефіцієнт (Додаток ).
Процедураnkoef призначена дляобчислення нових коефіцієнтів при невідомих (Додаток ).
Процедураnevid призначена дляобчислення невідомих шляхом арифметичних перетворень над зведеною до трикутноїформи матрицею коефіцієнтів і вільних членів системи рівнянь(Додаток ).
Процедураvuvid призначена длявиводу на екран результатів виконання програми (Додаток ).
Головнапрограма призначена для виклику процедур. Спочатку викликається процедура vvid. Процедури mriv, dil, nkoef викликаються вциклі, кількість повторень якого на одиницю менше від кількості рівнянь. Нацьому прямий хід розв’язку системи лінійних рівнянь методом Гауссазакінчується.
Післяцього викликається процедура nevid, яка реалізує зворотній хід розв’язку системи –пошук невідомих (Додаток ).
Останньоювикликається процедура vuvid (Додаток ).
 
2.2Опис програми
 
{01} Назвапрограми;
{02} підключеннямодуля crt;
{03} службовеслово для опису типів;
{04} описдвовимірного масиву дійсних чисел mas1;
{05} описодновимірного масиву дійсних чисел mas2;
{06} службовеслово для опису змінних;
{07} описзмінної a;
{08} описзмінної x;
{09} описзмінних b,c,d,r;
{10} описзмінних i,j,n,k,m;
{11}- {22} Процедура вводу коефіцієнтів і вільних членів
{11} заголовокпроцедури, опис змінних;
{12} початокпроцедури;
{13} вивідповідомлення „введіть кількість рівнянь n=”;
{14} операторвводу кількості рівнянь;
{15} вивідповідомлення „введіть коефіцієнти і вільні члени”;
{16} операторциклу;
{17} операторциклу;
{18} команднадужка „begin”;
{19} вивідповідомлення;
{20} операторвводу коефіцієнтів і вільних членів;
{21} команднадужка „end”;
{22} кінецьпроцедури;
{23}- {36} Процедура зміни рівнянь місцями
{23} назвапроцедури, опис змінних;
{24} початок процедури;
{25} перевірка умови;
{26} оператор циклу;
{27} команднадужка „begin”;
{28} оператор циклу;
{29} оператор циклу;
{30} командна дужка„begin”;
{31}- {33} зміна коефіцієнтів місцями між даним і наступним
рядкомчерез третю змінну r;
{31} змінній rприсвоюється значення дане значення коефіцієнта;
{32} даному значеннюкоефіцієнта присвоюється значення наступного рядка;
{33} значенню коефіцієнтанаступного рядка присвоюється значення змінної r;
{34} командна дужка „end”;
{35} командна дужка „end”;
{36} кінецьпроцедури;
{37}- {43} Процедура ділення рівняння на провідний коефіцієнт;
{37} назва процедури, описзмінних;
{38} початокпроцедури;
{39} зміннійb присвоюється значення провідного коефіцієнта;
{40} операторциклу;
{41} операторциклу;
{42} коефіцієнтипровідного рівняння діляться на змінну b;
{43} кінецьпроцедури;
{44}- {51} Процедура обчислення нових коефіцієнтів
{44} назва процедури, описзмінних;
{45} початок процедури;
{46} оператор циклу,командна дужка „begin”;
{47} зміннійc присвоюється коефіцієнт;
{48} операторциклу;
{49} обчислення коефіцієнтаза формулою;
{50} командна дужка „end”;
{51} кінецьпроцедури;
{52}- {62} Процедура обчислення коренів рівняння
{52} назва процедури, описзмінних;
{53} початок процедури;
{54} обчислення останньогоневідомого за формулою;
{55} оператор циклу ззменшенням параметра, командна дужка „begin”;
{56} присвоєння0 змінній d;
{57} операторциклу;
{58} оператор циклу;
{59} обчислення змінної d заформулою;
{60} обчислення невідомих заформулою;
{61} командна дужка „end”;
{62} кінець процедури;
{63} — {68} Процедура виводурезультатів
{63} назва процедури;
{64} початокпроцедури;
{65} вивідповідомлення „Розв'язки рівняння”;
{66} операторциклу;
{67} вивідневідомих;
{68} кінецьпроцедури;
{69} — {69} Головна програма
{69} початок;
{70} очисткаекрана;
{71} викликпроцедури вводу коефіцієнтів і вільних членів;
{72} оператор циклу, команднадужка „begin”;
{73} виклик процедури змінирівнянь місцями;
{74} виклик процедуриділення рівняння на провідний коефіцієнт;
{75} виклик процедуриобчислення нових коефіцієнтів;
{76} командна дужка „end”;
{77} виклик процедуриобчислення коренів рівняння;
{78} виклик процедури виводурезультатів;
{79} операторвводу без параметрів;
{80} кінецьпрограми.
 
2.3Контрольнийприклад
 
Схемаєдиного ділення.
Продемонструємо алгоритмгауссових вилучень на прикладі:
2x1 + 4x2 + 6x3 + 8x4 = 2,
3x1 + 5x2 + 6x3 + 13x4 = 8,
5x1 + 10x2 + 16x3 + 19x4 = 3,
7x1 + 12x2 + 20x3 + 27x4 = 9.
Випишеморозширену матрицю системи, відокремивши стовпчик вільних членів відкоефіцієнтів біля невідомих вертикальною рискою:
/>
Коефіцієнт2 біля x1упершому рівнянні назвемо провідним.
Першийкрок методу Гаусса полягає у вилучення змінної з другого, третього тачетвертого рівнянь системи. Для цього поділимо коефіцієнти першого рівняння напровідний елемент:
/>
Додамодо другого перше рівняння, помножене на -3; до третього – перше, помножене на-5; до четвертого – перше, помножене на -7. Дістанемо еквівалентну системурівнянь з розширеною матрицею:
/>
Надругому кроці вилучимо змінну x2 з третього та четвертого рівнянь. Провідним елементомвиберемо коефіцієнт -1 біля x2 у другому рівнянні.
Поділимона -1 коефіцієнти другого рівняння:
/>
Утретьому рівнянні змінної x2 немає, тому залишаємо його без змін. Помножимо другерівняння на 2 і додамо його до четвертого:
/>
Натретьому кроці провідний елемент (коефіцієнт біля x3 у третьому рівнянні)дорівнює 1. залишаємо це рівняння без змін. З четвертого рівняння вилучимозмінну x3, помноживши третє рівняння на -5 і додавши його до четвертого:
/>
Поділившиостаннє рівняння на 2 одержимо: x4=1. На цьому прямий перебіг методу Гауссазавершено. Зворотний перебіг полягає в послідовному знаходженні невідомих зперетвореної системи. За значенням x4 з третього рівняння знаходимо: x3=-2+ x4=-2+1=-1 і,нарешті, з першого рівняння:
x1=1-2x2-3x3-4x4=1+2+3-4=2.Перевіривши, переконуємося, що знайдені значення невідомих перетворюють кожнерівняння в тотожність.
Відповідь: система маєєдиний розв’язок: x1=2, x2=-1, x3=-1, x4=1.
 

Висновок
 
Однієюз головних задач лінійної алгебри є розв’язання систем лінійних алгебраїчнихрівнянь – математичної моделі реальних об’єктів, залежності між параметрамияких мають лінійний характер. У багатьох фізичних задачах електро-,радіотехніки, механіки баланс сил, діючих на якусь конструкцію, моделюютьсистемою лінійних рівнянь. Наприклад, баланс сил струмів у вузлах і напруг уконтурах електричного кола на підставі законів Кірхгофа описують системоюрівнянь, лінійних відносно опорів та джерел енергії. Фізичні системи,модельовані диференціальними рівняннями, які не завжди можна розв’язати ваналітичному вигляді, описують наближено системою різницевих рівнянь. Долінійних систем зводяться також задачі статистики, економіки тощо.
Системилінійних алгебраїчних рівнянь розв’язують точними (прямими) й наближенимиметодами.
Середточних методів найвідомішим та найефективнішим є метод Гаусса, чи методпослідовного вилучення невідомих. Цей алгоритм був знаний ще в давнину,принаймні в III ст. до н. е.
Метод Гаусса розв’язуваннясистем лінійних рівнянь з числовими коефіцієнтами завдяки простоті іоднотипності виконуваних операцій придатний для використання наелектронно-обчислювальних машинах. Істотним недоліком цього методу єнеможливість сформулювати умови сумісності і визначеності системи залежно відзначень коефіцієнтів і вільних членів. З іншого боку, навіть для визначеноїсистеми цей метод не дає змоги знайти загальні формули, що визначають розв’язкисистеми через її коефіцієнти і вільні члени, які необхідно мати для теоретичнихдосліджень. Існують й інші методи розв’язування і дослідження систем лінійнихрівнянь, які не мають зазначених недоліків. Ці методи ґрунтуються на теоріїматриць і визначників.
Коренілінійних систем алгебраїчних рівнянь за методом Гаусса на сучасних ЕОМобчислюють за спеціальними стандартними програмами. Такі програми записуютьрізними мовами програмування.
Вданому курсовому проекті розроблено та описано програму отримання результатіврозв’язку системи алгебраїчних рівнянь методом Гаусса мовою програмування Turbo Pascal. Програмавідсаджена з використанням набору текстових даних. Контрольний прикладрозроблений вручну для перевірки роботоздатності програми. Він повністю співпавз результатом машинного експерименту. Тому дану програму можна використовуватина практиці.
Запускпрограми здійснюється з головного меню інтегрованого середовища Turbo Pascal ( шляхом виборуопції RUN). Попередньо програма повинна бути завантажена в оперативнупам'ять. Можна було б відкомпілювати дану програму з опцією Destination to Memory для запуску exe – файла. Тожможна зробити висновки про можливість вдосконалення цієї програми.
 

Списоквикористаної літератури
 
1. „Інформатика. Комп’ютерна техніка. Комп’ютерні технології”/Підручник. За редакцією О.І. Пушкаря. – Київ. Видавничий центр „Академія”,(Навчальне видання. Серія „Альма-матер”. Заснована в 1999 році.) 2002. – 703с.
2. О.Г. Ципкін „Довідник з математики для середніх навчальнихзакладів” / За редакцією С.О. Степанова. – К.: Вища школа. Головне вид-во,1988. – 416с.
3. В.Я. Сердюченко „Розробка алгоритмів та програмування мовою Turbo Pascal”.

Додатки
 
Результатмашинного експерименту
/>
(******************************)
* Програма розв'язку *
* системи лінійних рівнянь *
* методом Гауса *
(******************************)
{01} program kyrsova;
{02} uses crt;
{03} type
{04} mas1=array[1..50,1..51] of real;
{05} mas2=array[1..50] of real;
{06} var
{07} a:mas1;
{08} x:mas2;
{09} b,c,d,r:real;
{10} i,j,n,k,m:integer;
(* Процедура вводу коефіцієнтів і вільних членів *)
{11} procedure vvid(var n:integer; vara:mas1);
{12} begin
{13} write('введіть кількість рівнянь n=');
{14} readln(n);
{15} writeln('Введіть коефіцієнти і вільні члени');
{16} for i:=1 to n do
{17} for j:=1 to n+1 do
{18} begin
{19} write('a',i,',',j,'=');
{20} readln(a[i,j]);
{21} end;
{22} end;
(* Процедура зміни рівнянь місцями *)
{23} procedure mriv(var a:mas1);
{24} begin
{25} if a[k,k]=0 then
{26} for m:=1 to n do
{27} begin
{28} for i:=k to k do
{29} for j:=k to n+1 do
{30} begin
{31} r:=a[i,j];
{32} a[i,j]:=a[i+1,j];
{33} a[i+1,j]:=r
{34} end;
{35} end;
{36} end;
(*Процедура ділення рівняння на провідний коефіцієнт *)
{37} procedure dil(var a:mas1);
{38} begin
{39} b:=a[k,k];
{40} for i:=k to k do
{41} for j:=k to n+1 do
{42} a[i,j]:=a[i,j]/b;
{43} end;
(* Процедура обчислення нових коефіцієнтів *)
{44} procedure nkoef(var a:mas1);
{45} begin
{46} for i:=k+1 to n do begin
{47} c:=a[i,k];
{48} for j:=k to n+1 do
{49} a[i,j]:=a[i,j]-a[k,j]*c;
{50} end;
{51} end;
(* Процедура обчислення коренів рівняння *)
{52} procedure nevid(var x:mas2);
{53} begin
{54} x[n]:=a[n,n+1]/a[n,n];
{55} for k:=n-1 downto 1 do begin
{56} d:=0;
{57} for i:=k to k do
{58} for j:=k+1 to n do
{59} d:=d+a[k,j]*x[j];
{60} x[k]:=a[k,n+1]-d;
{61} end;
{62} end;
(* Процедура виводу результатів *)
{63} procedure rezult;
{64} begin
{65} writeln('Розв'язки рівняння');
{66} for i:=1 to n do
{67} writeln('x',i,'=',x[i]:8:2);
{68} end;
(* Головна програма *)
{69} begin
{70} clrscr;
{71} vvid(n,a);
{72} for k:=1 to n-1 do begin
{73} mriv(a);
{74} dil(a);
{75} nkoef(a);
{76} end;
{77} nevid(x);
{78} rezult;
{79} end.
/>
/>

/>
/>

/>

/>

/>

/>

/>


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.