|
||
zadach333.PAS |
||
{* Задача 333 *}Unit ZADACH333;Interface Implementation Begin writeln(' Сформировать матрицы {aij}n, m , {bij}k, l , где i<=(n, k), j<=(m, l) , элементы которых определяются случайно из диапазона целых чисел от -3 до 3. Фактическое число строк (n, k) и столбцов (m, l) каждой матрицы вводить с клавиатуры. Создать процедуру, которая присваивает нулевым элементам матрицы единицы и определяет произведение матрицы. Вывести на экран исходные, результирующие массивы и сумму произведений матриц. ');End. Program Lab_5; Uses zadach333.pas; {* Эту строку можно удалить *} Uses crt; {* Подключаем внешние файлы *} Type {* Создание новых типов данных *} massiv = Array[1..4, 1..4] Of real; Var {* В работе нам потребуются переменные: *} A : massiv; B : massiv; C : massiv; D : massiv; n : byte; m : byte; k : byte; l : byte; P : integer; s : integer; h : char; Var {* Объявление переменных *} x : massiv; row : byte); col : byte); Var {* В работе нам потребуются переменные: *} i : byte; j : byte; For i := 1 To row Do; {* Цикл для i => [1 .. row] *} write (x[i : 2, ' '); j] : 2, ' '); Var {* Необходимые переменные *} y : massiv; row : byte); col : byte); Var {* Объявление переменных *} i : byte; j : byte; For i := 1 To row Do; {* Цикл для i => [1 .. row] *} write (y[i : 2, ' '); j] : 2, ' '); Var {* Объявление переменных *} x : massiv; y : massiv; row : byte); col : byte); Var {* Необходимые переменные *} i : byte; j : byte; If x[i := 1; j] = 0 Then x[i := 1; j] := 1; Procedure Print (x : massiv; row : byte); col : byte); Var {* Объявление переменных *} i : byte; j : byte; Begin For i := 1 To row Do; {* Увеличиваем i от 1 до row с шагом 1 *} Var {* Объявление переменных *} x : massiv; row : byte); col : byte); Var {* Необходимые переменные *} i : byte; j : byte; P : integer; Begin; P := 1; For i := 1 To row Do {* Цикл для i => [1 .. row] *} For j := 1 To col Do {* Цикл для j => [1 .. col] *} P := P * x[i, j]; Proizv := P; End; Begin write ('vvedite chislo strok i stolbsov matritsi A'); readln (n, m); writeln ('viberite maritsu'); readln (h); If h = '1' Then InMatr1(A, n, m) Else InMatr2(A, n, m); write ('vvedite chislo strok i stolbsov matritsi B'); readln (k, l); writeln ('viberite maritsu'); readln (h); If h = '1' Then InMatr2(B, k, l) Else InMatr1(B, k, l); InMatr3 (A, n, m, C); writeln ('vivod matritsi C'); Print(C, n, m); InMatr3 (B, k, l, D); writeln ('vivod matritsi D'); Print(D, k, l); s := Proizv (C, n, m) + Proizv(D, k, l); writeln ('summa =', S : 8, 2); readln; {* Ждем нажатия Enter *} End..... 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
||
Non-commercial fansite
|