Упражнение № 3. Работа с числовыми объектами
Ниже приведен листинг модуля, содержащий процедуры матричной алгебры [6]. Задан класс «комплексные матрицы». Методы этих объектов содержат арифметические действия над комплексными матрицами. Ц'пх'Ь таЬг1сез; ±пЬег^асе изез сгЬ; сопзЬ тах = 3; Ьуре зЬгЮ = зЬгл_пд[10]; зЬгЗО = 5Ьгл_пд[30]; таЬг1х = аггау[1..тах, 1..тах] о^ рол_пЬег; сотр1ех = гесогс! ге, 1т: геа1; епс!; сотр1ех_рЬг = Асотр1ех; сотр1ех_таЬг1х = аггау[ 1..тах, 1..тах] о^ сотр1ех; таЬг1х_о^ = о^есЬ М: таЬг1х; сопзЬгисЬог л_пл_Ь; ргосес! иге зеЬ_Ьо_2его (уаг р: рол_пЬег); У1гЬиа1; ргосес! иге зса1аг_зит(сопзЬ р, я: ро1пЬег; уаг г: рол_пЬег); у1гЬиа1; ргосейиге зса1аг_ргос1исЬ (сопзЬ р, д: рол_пЬег; уаг г: рол_пЬег); У1гЬиа1; ргосес! иге таЬг1х_зит(сопзЬ А, В: таЬг1х); ргосес! иге таЬг1х_ргос1исЬ (сопзЬ А, В: таЬг1х); ргосес! иге согшег1: _1: о_51: гл_пд (р: рол-пЬег; уаг ЬЬ: зЬгЗО); V^^Ьиа1; ргосес! иге ргл_пЬ (пате: зЬг 10); йезЬгисЬог с! опе; епс!; сотр1ех_таЬг1х_оЪ^ = о^есЬ (таЬг1х_оЬо) сопз'Ьгис'Ьог л_пл_Ь (МО: сотр1ех_таЬг1х); ргосес! иге зеЬ_Ьо_гего (уаг р: рол_пЬег); ул_гЬиа1; ргосес! иге зса1аг_зит(сопзЬ р, рол_пЬег; уаг г: ро1пЬег); V^^Ьиа1; ргосес! иге зса1аг_ргос! исЬ (сопзЬ р, я: рол_пЬег; уаг г: ро1пЬег); у1гЬиа1; ргосес! иге сопVе^Ь_Ьо_зЬ^^пд (р: рол_пЬег; уаг ЬЬ: зЬгЗО); у1гЬиа1; ргосес! иге ргл_пЬ(пате: зЬгЮ); йезЬгисЬог с! опе; Епс1; 1тр1етепЬаЬ±оп сопзЬгисЬог таЬ г1х_оЬ ^.1п1Ь; Вед±п Епс1; Ргосес1иге таЬг1х_оЪ: ]. зеЬ_Ьо_2его (уаг р: рол_пЬег); Вед±п Епс1; Ргосейиге таЬг1х_оЬ^.зса1аг_зит(сопзЬ р, рол_пЬег; уаг г: рол_пЬег); Вед±п Епс1; Ргосейиге таЬг1х_оМ. зса1аг_ргос! исЬ (сопзЬ р, д: рол_пЬег; уаг г: ро1пЬег); Вед±п Епс1; Ргосейиге та" Ьг1х_оЬо.та" Ьг1х_5ит (сопз'Ь А, В: та^г^х); Vа^ могс!; Ьед±п ^ог л_: =1 Ьо тах с! о ^ог ^: =1 Ьо тах сЗо зса1аг_зит (А[±, ^], В[±, ^ ^]); епс!; Ргосес1иге таЪг1х^оЪ^таЪг1х_ргос1ис" Ь (сопз'Ь А, В: та^г±х); Vа^ л_,; ], к: могс!; ргос!, зит: ро1п" Ьег; Ьед±п деЫет(ргос1, 3±т.е05 (М [ 1, 1 ])); ^ог л_: =1 " Ьо тах с! о ^ог к: =1 " Ьо тах с! о Ьед±п зит: = М[л_, к]; зе" Ь_Ьо_2его (зит); ^ог СГ: =1 " Ьо тах с! о Ьед±п зса1аг_ргос1ис" Ь (А [1, СГ], В[СГ, к], ргос!); зса1аг_зит (зит, ргос!, зит); епс! епс!; ^геетет(ргос1, 3±т.е05 (М[1, 1])); епс! / Ргосес1иге таЪг1х_о^. со^егЪ_Ьо_з" Ьг1пд (р: ро1П" Ьег; Vа^ ЬЬ: з-ЬгЗО); Ьед±п епс1; Ргосейиге та-Ьг1х_оЪСГ.ргл_п-Ь (пате: зЪгЮ); Vа^ 1, к, Ъо1с1_у: могс!; ■ Ьетр: зЪгЗО; Ьед±п Ьо1с1_у: = ШгегеУ; доЪоху(1, Ъо1с1_у + (тах + 1) 2); мгл_-Ье (пате, 1 = 1); к: = 1епд-Ы1 (пате) + 4; до" Ьоху(к, Ъо1с1_у); мгл_-Ье (1V1); ±ог л_: =1 Ьо тах с! о Ьед±п до*: оху(к, Ьо1с1_у + 1); мгл_-Ье (1 | 1) / ^ог ^: =1 Ьо тах с! о Ьед±п сог^ег-Ь_Ьо_з" Ьг1пд (М [ 1, ^], " Ьетр); (" Ьетр); епй; мгл_-Ье (1 Г) епс!; до*: оху(к, тах + Ъо1с1_у +1); мгл_" Ье (1 % 1); до" Ьоху(к + 1епд-Ы1 (-Ьетр) * тах + 1, Ъо1с1_у) / мгл_-Ье (1 СГ1); до-Ьоху(к + 1епд-Ы1 (-Ьетр) * тах + 1, тах + Ъо1с1_у +1); мгл_-Ье1п (1 А 1); епс! / Без'Ьгис'Ьог та{: г1х_оЪСГ. с! опе; Ьед1п епс!; Сопз" ЬгисЬог сотр1ех_та-Ьг1х_окд. л_пл_-Ь (МО: сотр1ех_та" Ьг1х); Vа^ 1, ^: могс!; Ьед±п л.пЪегл.'Ьес! л-пл_{:; ^ог 1: = 1 Ьо тах < Хо ^ог ^: = 1 " Ьо тах с! о Ьед±п пем(сотр1ех_р1г(М [1, 3])); сотр1ех_р1г (М [ л.,; ] ]) А: =М0 [ ± / □ ]; епй; епс1; Ргосейиге сотр1ех_та1г1х_оЪз. зе1_1о_2его (уаг р: рол-п1ег); Ъед±п сотр1ех_р1г (р) А. ге: = 0.0; сотр1ех_р1г (р) А. л_т: = 0.0; епс1; Ргосейиге сотр1ех_та1г1х_оЪз. зса1аг_зит (сопзЬ р, я: ро1п1ег; уаг г: рол-п1ег); уаг х, у, 2: сотр1ех; Ьед±п х: = сотр1ех_р1г(р)А; у: = сотр1ех_р1г(д)А; 2.ге: = х.ге + у.ге; 2.ш: = х. л_т + у.1т; г = пИ ЪЬеп пем(сотр1ех_р1г(г)); сотр1ех_р1г(г)А: = г; епс1; Ргосейиге сотр1ех_та1г1х_оЪ0". зса1аг_ргос! ис1 (сопзЪ р, ^: рол-п1ег; уаг г: рол-пЬег); уаг х, у, г: сотрГех; Ьед±п х: = сотр1ех_р1г(р)А; у: = сотр1ех_р1г(я)А; 2. ге: = х.ге * у.ге - х.л_т * у. 1т; 2. л_т: = х.ге * у.л_т + хЛт * у.ге; по1 Азз1дпес1(г) 1Ъеп пем (сотр1ех_р1г (г)); сотр1ех_р1г(г)А: = г; епс}; Ргосейиге сотр1ех_та1г1х_оЪ0". сопVе^1_1о_51^^пд (р: гро±пЬег; уаг 11: з1г30); уаг 11, -12: з1гл.пд[б]; Ьед±п з1г (сотр1ех_р1г (р) А. ге: 6: 4, 11); з1г (сотр1ех_р1г (р) А. ш: б: 4, 12); 11: =''+ 11 + ' + ' + 12 + ' 1'; епс1; Ргосейиге сотр1ех та1г1х оЪкТ. рг1п1 (пате: з1г10); уаг 1, ^/ к, 1ю1с1_у: могс!; 1етр: з1г30; Ьед1п 1ю1с1_у: = Ш1егеУ; до1оху(1, Ьо1с1_у + (тах + 1) 2); мгНе (пате, 1 = 1); к: = 1епд1Ь (пате) + 4; до1оху(к, Ъо1с1_у); мгл_1е(^! ); ^ог 1: =1 " Ьо тах < 1о Ьед±п до1оху(к, Ъо1с1_у + 1); мгл_1е (1 | 1); ^ог с1: =1 " Ьо тах < 1о Ьед±п сот7ег1_1о_з1г1пд (М [ 1,, 1етр); мгл_1е (1етр); епй; мгл_1е (' | ') еп< 1; до" Ьоху(к, шах + Ьо1с1_у +1); иг Не ('%'); до" Ьоху(к + 1епд1: Ъ. (" Ьетр) * тах + 1, Ьо1с1_у); мг^е (" а"); до" Ьоху(к + 1епд-Ь31 (" Ьетр) * тах + 1, тах + Зю1с1_у + 1); мгИ: е1п (' А 1); еп< 1; Без1: гис1: ог сотр1ех_та" Ьг1х_оЬ ^. с! опе; Vа^ ^: могс!; Ьед1п ^ог ±: =1 Ьо тах с! о ^ог ^: = 1 Ьо тах < 1о Ьед1п сИзрозе (сотр1ех_р-Ьг (М[1, Л)); епс!; 1пЬег11: ес1 с! опе; еп< 1; Еп< 1. Пример 84. Программа работы с комплексными матрицами. Изучите приведенную ниже программу, демонстрирующую использование модуля МаМсез. Ргодгат Ехатр1е_84, оЪСГ_< 1ето; изез сг" Ь, та" Ьг1сез; Ргосейиге 1: ез1: _сотр1ех/ Vа^ АО, ВО, СО: сотр1ех_та-Ьг1х; А, В, С: сотр1ех_та1: г1х_оЪ0";: могс!; Ьед1п ^ог 1: =1 Ьо тах < 1о ^ог СГ: =1 Ьо тах < 1о Ъедл-п А0[1, Л.ге: =1.0; АО[1, Л.1т: =0.0; ВО[1, Л.ге: =1; ВО [л., Л.л_т: =СГ; СО [ 1, Л. ге: =0. 0/ СО [л_, Л. л_т: -0. 0; еп< 1; АЛпН (АО); В.1П11: (В0); С.1пИ: (С0); А. ргл.П" Ь ('А1) / В. рг1П" Ь (' В ') / С.та" Ьг1х_зит (А.М, В.М); С.ргл_п1: (мА + В"); С. та" Ьг1х_ргос1ис1: (А. М, В.М); С. рг: т1: (" А * В"); А.с1опе/ В.с1опе; С.с1опе; еп< 1; {конец процедуры } Ведл-п с1гзсг; юг л. " Ье1п (" Комплексные матрицы"); 1: ез1: _сотр1ех/ мгНе (" Нажмите < Еп^ег> "); геас11п; Еп< 1.
|