Смекни!
smekni.com

Лінійна залежність n мірних векторів Програма (стр. 2 из 2)

Опис програми

Програма визначення лінійної залежності або незалежності векторів написана на мові програмування Turbo Pascal та працює за відносно простим алгоритмом роботи – розв‘язком системи лінійних рівнянь та подальшої її перевірки на умову незалежності векторів.

Головна процедура системи - Procedure Lineq – відповідає за розв‘язок системи рівнянь та знаходження коефіцієнтів. Початкові дані (вектори) вводяться стандартним способом з клавіатури в базовій частині програми у вигляді матриці дійсних чисел. В останньому боці програми після виклику Procedure Lineq – виконується перевірка умови залежності з масиву знайдених розв’язків – Ex . В результаті роботи програми на екран буде виведене остаточне повідомлення стосовно лілейної залежності або не залежності представлених векторів.

Текст програми

Program Linijna_Zaleshnist_Nezaleshnist;

Const Dim1 = 20

Dim2 = 21;

{dim2=dim1+1}

Type Ar1 = Array[1..Dim1,1..Dim2] of Real;

Ar2 = Array[1..Dim1] of Real;

Var n:Integer; {Rozmirnist}

i,j:Integer; {Dodatkovi zmini}

S:Ar1 {Golovna matrica};

Ex:Ar2 {Vihidnij razvjazok}

Cod:Byte;

e:Real;

Procedure Lineq(a:Ar1;

n:Integer;

e:Real;

Var x:Ar2);

Var i,j,k:Integer;

y,w:Real;

Begin

For i:=1 to n do

Begin

k:=i;

y:=a[i,i];

{------------------------------------------}

For j:=i+1 to n do

Begin

If(abs(w)>abs(y)) Then Begin k:=j;y:=w;End;

End;

{------------------------------------------}

If(abs(y)<e)Then Begin Write('ЌҐ ‚Ё§­ 祭®');Halt(0);End;

{------------------------------------------}

For j:=i to n+1 do

Begin

w:=a[k,j];a[k,j]:=a[i,j];a[i,j]:=w/y;

End;

{------------------------------------------}

For k:=i+1 to n do

Begin

For j:=n+1 Downto i+1 DO a[k,j]:=a[k,j]-a[i,j]*a[k,i];

End;

{------------------------------------------}

End;

For i:=n Downto i DO

Begin

w:=0;

For j:=i+1 to n Dod w:=w+a[i,j]*x[j];

x[i]:=a[i,n+1]-w;

End;

{-----------------------------}

Begin {Golovna programa upravliinja}

ReadLn('Vvedit rozmirnist - N ?',n);

Cod:=0;e:=0;

{---------------}

For i:=1 to n do

Begin

For j:=1 to n do

Begin

Write('Input a[',i,',',j,']');ReadLn(S[i,j]);

End;

End;

{---------------}

Procedure Lineq(S,n,e,Ex); {Viklik golovnogo modulja!}

{---------------}

For i:=1 to n do

Begin

If(Ex[i]<>0)Then Begin Cod:=1;End; {Perevirka umovi}

End;

{---------------}

If(Cod=1)Then Begin WriteLn('Вектори залежні');End

Else Begin WriteLn('Вектори не залежні ');End;

End;

Контрольні приклади

Приклад 1.

Вхідні дані:

A=(1;2;3) B=(0;1;2) С=(1;3;-1)

Вихідні дані:

- Задані вектори лінійно незалежні.

Приклад 2.

Вхідні дані:

A=(1;-1;2) B=(10;1;1) С=(2;-1;6)

Вихідні дані:

- Задані вектори лінійно незалежні.

Приклад 3.

Вхідні дані:

A=(3;-2;1) B=(-1;1;-2) С=(2;1;-3) D=(11;-6;5)

Вихідні дані:

- Задані вектори лінійно залежні.

Висновки

В даній курсовій роботі була розглянута важлива проблема визначення лінійної залежності та незалежності систем

мірних векторів в просторі та запропонований програмний код на мові програмування Turbo Pascal для її розв’язку. Дана детальна теоретична характеристика цього питання та запропоновано ряд припущень та тверджень. Результатом роботи є автономний програмний модуль, який дозволяє в автоматичному режимі на основі попередніх даних дати відповідь на головне питання роботи – лінійну залежність чи незалежність тої чи іншої системи векторів в просторі.

На основі сконструйованої в цій роботі програми, було розв‘язано декілька практичних – тестових задач, лістинг (вхідні та вихідні дані) яких приведений у відповідному розділі роботи. Текст програми та коментарі відносно її структури також знаходять і основній частині курсової роботи.


Література

1. А. Б. Баратків “ Turbo Pascal - алгоритми і програми”, Київ, “Вища школа”, 1992.

2. С. Т. Завало, В. М. Костарчук, Б. И. Хацет «Алгебра и теория чисел», Том 2,«Высшая школа», Киев 1976

3. В. П. Дубовик, І.І. Юрик “Вища математика”, Університетська бібліотека, Київ 2001

4. А. Г. Курош «Курс высшей алгебры», «Наука», Москва 1975

5. С. Т. Завало, В. М. Костарчук, Б. И. Хацет «Алгебра и теория чисел», Том 1,«Высшая школа», Киев 1974