Примеры выполнения задания лабораторной работы. Пример 1. Составьте программу перемножения матриц Am×n и Bn×l
Пример 1. Составьте программу перемножения матриц Am× n и Bn × l. В результате должна получиться матрица Cm × l. Решение. Для разработки алгоритма воспользуемся методом пошаговой детализации (рис. 7.1 – 7.5).
Выполним детализацию блока «Ввод матрицы А» (рис. 7.3). Осталось выполнить детализацию блока «Ввод i -й строки матрицы А» (рис. 7.4).
Рис. 7.3. Схема алгоритма процедуры ввода исходных данных (третий шаг детализации)
Рис. 7.4. Схема алгоритма процедуры ввода исходных данных (четвертый шаг детализации) Теперь нетрудно собрать детальную схему ввода матрицы (рис. 7.5).
Рис. 7.5. Схема алгоритма процедуры ввода исходных данных (результат детализации) Алгоритм процедуры вывода матрицы аналогичен алгоритму ввода, с той лишь разницей, что перед выводом матрицы выводится заголовок и после вывода очередной строки происходит переход на следующую. Разработаем алгоритм процедуры перемножения матриц. Первый шаг детализации мы уже выполнили – рис. 7.1. Для того чтобы умножить матрицу А на матрицу В достаточно умножить каждую строку матрицы А на матрицу В (рис. 7.6). Выполним детализацию блока «Умножить i -ю строку А на В, получая i -ю строку С» (рис. 7.7).
Выполним детализацию блока «Умножить i -ю строку А на j -й столбец В, получая Сij» (рис. 7.8).
Рис. 7.8. Схема алгоритма процедуры перемножения матриц (четвертый шаг детализации) Собрав результаты детализации, получим детальную схему процедуры перемножения матриц (рис. 7.9).
Рис. 7.9. Схема алгоритма процедуры перемножения матриц (результат детализации)
|