o (B [i, 1]: 10: 2) ;;
end;
writeln ( Визначимо значення матриці Х=((A ^ T * A) ^ (- 1)) * B: );
PMatrix41 (M, B, P); i:=1 to 4 doj:=1 to 1 do (P [i, j]: 10: 2); ( ) ;;
writeln;
end;
writeln ( Для продовження натисніть будь-яку клавішу ... );
repeatKeyPressed ;; zadacha2; M: Matrix44 ;: array [1..4] of Real ;, j, ni, nj: integer ;: real ;: boolean ;; ( Сортування елементів головної діагоналі матриці, зворотної ( A ^ T * A) спаданням );
writeln ( Обчислимо матрицю A ^ T: );
Trans44 (A, M); i:=1 to 4 doj:=1 to 4 do (M [i, j]: 10: 2); ( ) ;;;; ( Обчислимо матрицю A ^ T * A: ); (M, A, M); i:=1 to 4 doj:=1 to 4 do (M [i, j]: 10: 2); ( ) ;;;; ( Обчислимо матрицю зворотну (A ^ T * A): ); (M, M); i:=1 to 4 doj:=1 to 4 do (M [i, j]: 10: 2); ( ) ;;;; i:=1 to 4 do [i]:=M [i, i];:=false; i:=1 to 3 doP [i] lt; P [i + 1] then:=P [i + 1]; [i + 1]:=P [i]; [i]:=max;:=true ;;; not isExit; ( Відсортована головна діагональ матриці M, зворотної (A ^ T * A) );
for i:=1 to 4 do (P [i]: 10: 2); ( ) ;;; ( Для продовження натисніть будь-яку клавішу ... );
repeatKeyPressed ;; zadacha3; M: Matrix44 ;: Matrix14 ;, j, nom: integer ;: real ;; ( Обчислення значення матриці Z=(B ^ T) * (A ^ T) * Y ); ( Обчислимо матрицю B ^ T: );
Trans41 (B, P); j:=1 to 4 do (P [1, j]: 10: 2); ( ) ;;; ( Обчислимо матрицю A ^ T: ); (A, M); i:=1 to 4 doj:=1 to 4 do (M [i, j]: 10: 2); ( ) ;;;; ( Матриця Y: ); i:=1 to 4 do (Y [i, 1]: 10: 2); ( ) ;;; (P, M, P); (P, Y, r); ( Значення матриці Z: raquo ;, r: 10: 2);
writeln;
writeln ( Для продовження натисніть будь-яку клавішу ... );
repeatKeyPressed ;;:=false;
{очищаємо екран}; (15, 8); ( ????????????????????????????????? ????????????????? ); (15, 9); ( laquo ;? Для вибору завдання, натисніть (F1..F4)? );
GotoXY (15, 10);
write ( ??????????????????????????????????????????? ??????? );
GotoXY (15, 11);
write ( laquo ;? F1? Вирішити лінійне рівняння? );
GotoXY (15, 12);
write ( laquo ;? F2? Сортування елементів головної діагоналі? );
GotoXY (15, 13);
write ( laquo ;? F3? Обчислити значення матриці? );
GotoXY (15, 14);
write ( laquo ;? F4? Вийти з програми? );
GotoXY (15, 15);
write ( ??????????????????????????????????????????? ??????? );
repeat
C:=ReadKey;
if C lt; gt; # 59 thenC lt; gt; # 60 thenC lt; gt; # 61 thenC lt; gt; # 62 then:=# 0; C lt; gt; # 0; C of
# 59: zadacha1;
# 60: zadacha2;
# 61: zadacha3;
# 62: IsClose:=true ;; IsClose;
END.
.3 Тестування програми
На малюнках нижче наведені скріншоти виконання коду програми в програмі FreePascal IDE.
Рис.15. Головне вікно програми при виконанні команди Run (Ctrl + F9)
Рис.16. Виконання першого завдання (клавіша F1) згідно з умовами завдання
Рис.17. Виконання другого завдання (клавіша F2) згідно з умовами завдання
Рис.18. Виконання третього завдання (клавіша F3) згідно з умовами завдання
Список літератури
1. Якір М.С. Алгоритмізація та програмування на Turbo Pascal: від простих до олімпіадних завдань: Навчальний посібник.- СПб .: Питер, 2005. - 237 с .: ил.
. Потапова О.Н., Саліхова Г.Л., Садріева Л.М., Міндіярова О.Г., Мохова О.М., Фахрутдінова Р.Р., Ханова І.А. Інформатика: Методичні вказівки по виконанню курсової роботи з дисципліни «Інформатика» для бакалаврів напряму підготовки 131000 «Нафтогазова справа» всіх форм навчання - Алмет'евськ: Альметьевский державний нафтовий інститут, 2013. - 120 с.
. Федоренко Ю. Алгоритми і програми на Turbo Pascal. Навчальний курс.- СПб: Питер, 2001. - 240 с .: ил.
. Шпак Ю. А. Turbo Pascal 7.0 на прикладах/Под ред. Ю. С. Ковтанюк - К .: Видавництво Юніор, 2003. - 496 с., Іл.
5.