Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка в середовищі Turbo Pascal програми сортування елементів, що знаходяться на головній діагоналі матриці

Реферат Розробка в середовищі Turbo Pascal програми сортування елементів, що знаходяться на головній діагоналі матриці





У даній програмі в розділі типів задаються 4 статичних масиву (матриці) дійсних чисел:

type Matrix44=array [1..4, 1..4] of real; {матриця 4х4}=array [1..4, 1..1] of real; {матриця 4х1} =array [1..1, 1..4] of real; {матриця 1х4}=array [1..3, 1..3] of real; {матриця 3х3}

У розділі констант оголошені 3 константи:

const A: Matrix44=((3, 3, 4, 5), (2, 6, 4, 6), (3, 4, 5, 5), (1, 9, 3 , 6)) ;: Matrix41=((1), (2), (1), (2));:Matrix41=((1), (4), (0), (3));

У розділі змінних оголошена одна змінна символьного типу C: Char; і одна логічного типу IsClose: Boolean.

Основна частина програми складається з допоміжних процедур і функцій. Основні робочі процедури: zadacha1, zadacha2, zadacha3. Допоміжні процедури: PMatrix41, PMatrix14, PMatrix, PMatrix44, Trans41, Trans44, GetMatr, GetMatrDrop, Obrat. У кожній підпрограмі (процедурою) оголошені свої змінні і виконуються незалежні цикли. Функції в програмі оголошені як function DetMinor, znak, GetDet. Функція GetDet (повертає значення визначника матриці) використовується в процедурі Obrat, функції DetMinor і znak використовуються в GetDet.

Така структура програми пояснюється безліччю обчислень з матрицями, які необхідно здійснити. Виходячи з цього, всі проміжні обчислення реалізовані в допоміжних процедурах. А основні робочі процедури zadacha1, zadacha2, zadacha3 збирають в собі всі проміжні обчислення з інших процедур і виводять обчислені дані на екран.

Взаємодія (інтерфейс, найпростіше меню) з користувачем організовано в програмі в кінці коду, починаючи з BEGIN і до END. Запуск головних трьох процедур zadacha1,2,3 виконується через інтерфейс користувача.

Елементи?,?,?,?,? це символи псевдографіки, які в dos-режимі використовуються для графічного оформлення таблиці.


3.2 Лістинг програми

laba1; crt; Matrix44=array [1..4, 1..4] of real; {матриця 4х4}=array [1..4, 1..1] of real; { матриця 4х1}=array [1..1, 1..4] of real; {матриця 1х4}=array [1..3, 1..3] of real; {матриця 3х3} A: Matrix44=((3 , 3, 4, 5), (2, 6, 4, 6), (3, 4, 5, 5), (1, 9, 3, 6)) ;: Matrix41=((1), (2) , (1), (2)) ;: Matrix41=((1), (4), (0), (3)); C: Char ;: Boolean; PMatrix41 (AMatrix: Matrix44; BMatrix: Matrix41; var Res:Matrix41); i, j, k: integer ;: real; i:=1 to 4 doj:=1 to 1 do:=0; k:=1 to 4 do:=r + AMatrix [i, k] * BMatrix [k, j] ;; [i, j]:=r ;;;; PMatrix14 (AMatrix: Matrix14; BMatrix: Matrix44; var Res: Matrix14); i, j, k: integer ;: real; i:= 1 to 1 doj:=1 to 4 do:=0; k:=1 to 4 do:=r + AMatrix [i, k] * BMatrix [k, j] ;; [i, j]:=r ;; ;; PMatrix (AMatrix: Matrix14; BMatrix: Matrix41; var Res: Real); k: integer;:=0; k:=1 to 4 do:=Res + AMatrix [1, k] * BMatrix [k, 1] ;;; PMatrix44 (AMatrix, BMatrix: Matrix44; var Res: Matrix44); i, j, k: integer ;: real; i:=1 to 4 doj:=1 to 4 do:=0; k:=1 to 4 do:=r + AMatrix [i, k] * BMatrix [k, j] ;; [i, j]:=r ;;;; Trans41 (AMatrix: Matrix41; var Res: Matrix14); i: Integer; i:=1 to 4 do [1, i]:=AMatrix [i, 1] ;; Trans44 (AMatrix: Matrix44; var Res: Matrix44); i, j: Integer; i:=1 to 4 doj:=1 to 4 do [i, j]:=AMatrix [j, i] ;; GetMatr (AMatr: Matrix44; var BMatr: Matrix33; i, j: integer);

var ki, kj, di, dj: integer;

begin:=0; ki:=1 to 3 do (ki=i) then:=1;:=0; kj:=1 to 3 do (kj=j) then:=1 ; [ki, kj]:=AMatr [ki + di, kj + dj] ;;;; DetMinor (AM: Matrix33): real;

var Res: real;:=AM [1, 1] * AM [2, 2] * AM [3, 3] + AM [1, 2] * AM [2, 3] * AM [3, 1] + AM [2, 1] * AM [3, 2] * AM [1, 3];:=Res - (AM [1, 3] * AM [2, 2] * AM [3 , 1] + AM [1, 1] * AM [2, 3] * AM [3, 2] + AM [2, 1] * AM [1, 2] * AM [3, 3]);

DetMinor:=Res ;; znak (a, b: integer): integer; ((a + b) mod 2)=0 then:=1:=- 1 ;; GetDet (AMatrix: Matrix44): Real; i: integer ;: Real ;: Matrix33;:=0; i:=1 to 4 do (AMatrix, M, 1, i);:=Res + znak (1, i) * AMatrix [1, i] * DetMinor (M) ;;:=Res ;; GetMatrDop (AMatr: Matrix44; var ResMatr: Matrix44); M: Matrix33 ;, j: integer; i:=1 to 4 doj:=1 to 4 do (AMatr, M, i , j); [j, i]:=znak (i, j) * DetMinor (M) ;;; Obrat (AMatrix: Matrix44; var Res: Matrix44); d: real ;, j: integer ;: Matrix44 ;: =GetDet (AMatrix); ( Визначник матриці det | A ^ T * A |= raquo ;, d: 10: 2);

GetMatrDop (AMatrix, M); i:=1 to 4 doj:=1 to 4 do [i, j]:=M [i, j]/d ;; zadacha1; M: Matrix44 ;: Matrix41 ;, j: integer ;; ( Вирішити лінійне рівняння A ^ T * A * X=B ); ( Обчислимо матрицю 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 d...


Назад | сторінка 3 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Analysis of Control System and Synthesis of Real Compensator
  • Реферат на тему: Аналіз діяльності туристичної агенції &Real-Travel&
  • Реферат на тему: Аналіз ДІЯЛЬНОСТІ туристичної агенції "Real-Travel"
  • Реферат на тему: Шляхи вдосконалення PR-ДІЯЛЬНОСТІ туристичного підприємства "Real-trav ...
  • Реферат на тему: Портфельна матриця GE / McKinsey, основні стратегії