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} кінець програми.

 


Информация о работе «Розробка програмного забезпечення для розв'язку СЛАР методом Гауса»
Раздел: Информатика, программирование
Количество знаков с пробелами: 25893
Количество таблиц: 2
Количество изображений: 10

Похожие работы

Скачать
30199
0
37

... . Отже, . 2.3 Опис та інструкція по використанню програми Gauss Дана програма реалізована в інтегрованому середовищі програмування Visual Studio 2008 SP1 мовою програмування С#. Вона дозволяє розв’язувати систему лінійних алгебраїчних рівнянь методом Гауса, записаних в матричній формі, а також методом з пошуком головного елемента, при чому матриці можуть будь-якою вимірністю mxn (m і n – кі ...

0 комментариев


Наверх