Курсовая работа: ЛИСП-реализация операций над матрицами
(DEFUN MULT_NUMBER (MATR ROW COL L)
(DECLARE (SPECIAL RES_MATRIX))
;ОБНУЛЯЕМ МАТРИЦУ РЕЗУЛЬТАТ
(SETQ RES_MATRIX (MAKE-ARRAY (LIST ROW COL) :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))
(DO
((I 0))
((>= I ROW))
(DO
((J 0))
((>= J COL))
(SETF (AREF RES_MATRIX I J) (* L (AREF MATR I J)))
(SETQ J (+ J 1))
)
(SETQ I (+ I 1))
)
RES_MATRIX
)
;ПРОИЗВЕДЕНИЕ МАТРИЦ
(DEFUN MULT_MATRIX (MATR1 MATR2 R1 R2 C1 C2)
(DECLARE (SPECIAL TEMP))
(DECLARE (SPECIAL RES_MATRIX))
(SETQ TEMP 0)
(IF (/= C1 R2) '"It is not possible to calculate products of matrices"
(PROGN
;ОБНУЛЯЕМ МАТРИЦУ РЕЗУЛЬТАТ
(SETQ RES_MATRIX (MAKE-ARRAY (LIST R1 C2) :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))
(DO
((I 0))
((>= I R1))