В данном расчётно-графическом задании мы будем применять технологию постепенного наращивания программы. Программа должна вводить размеры и элементы матрицы из заранее созданного файла и содержать процедуры вывода матрицы на экран, транспонирования матрицы, умножение и сложение двух матриц, а также умножение матрицы на скаляр. Сначала мы объявим все процедуры (vivod, mult, slog, transpor, matrnac), только после этого начнётся раздел операторов основной программы: введение данных из файла Muhamed.inp, потом преобразования над исходными матрицами и их дальнейший вывод на экран. Конечная матрица должна совпадать с матрицей посчитанной в тесте. Промежуточные матрицы тоже выводятся на экран, это делается для того, чтобы при возникновении ошибок в вычислении конечной матрицы, можно было их исправить, причём место ошибки будет сразу же видно.
3. Анализ матричного выражения
Заданное матричное выражение:
CT*B+3*AT
состоит из матриц:
C= B= A=
Матрица C имеет 3 строки и 3 столбцов. Эту размерность можно записать в виде 3*3, что значит число строк*число столбцов. Такую же размерность имееют матрицы В и С .
Рассмотрим последовательность и возможость вычислений.
Первой операцией будет транспонирование матрицы С, для этого воспользуемся процедурой transpor, куда введем формальные параметры с, m, n, ct, где с-данная матрица, m и n- число строк и столбцов соответственно, сt- конечная матрица. Вторая операция - умножение матрицы СТ на матрицу В. Умножение возможно поскольку данные матрицы являются согласованными. Воспользуемся подпрограммой процедурой mult, куда введём формальные параметры: ct, b, m, n, ctb – где ct – исходная матрица, m – число строк новой матрцы, n – число столбцов новой матрицы и ctb – конечная матрица. Третья операция- транспонирование матрицы А, для этого вопользуемся процедурой transpor, куда введем формальные параметры a, m, n, at, где а-исходная матрица, m и n-число строк и столбцов соответственно, аt-конечная матрица. Четвертая операция – умножение матрицы А на число 3, для этого воспользуемся процедурой matrnac, куда введем формальные параметры at,m,n,atc, где at-исходная матрица, atc-конечная матрица. Последняя операция – сложение произведения матриц СТ*В и матрицы 3*АТ. Для этого воспользуемся подпрограммой процедурой slog, вводя её формальные параметры: сtb, atc, m, n, ctbatc где ctb и atc – исходные матрицы, m и n – число строк и столбцов складываемых матриц, матрицы можно складывать, т.к. они имеют одинаковую размерность 3*3, ctbatc-конечная матрица.
4. Тест.
Выполним тест, чтобы проверить правильность вычислений, проведённых в Pascal. Можно также воспользоваться вычислениями сделанными в Excel, которые можно взять из предыдущей работы.
1. Сначала считаем произведение матриц А и С, в программе эта матрица называется ac и подсчитывается при помощи процедуры mult.
СТ*В =*=
2.Умножение транспонированной матрицы А на скаляр. В программе эта процедура называется matrnac.
3*AT=
3. Сложение произведения матриц CT*B и 3*AT, в программе эта матрица является конечной и вычисляется при помощи процедуры slog.
CT*B+3*AT=
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.