СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методическая разработка «Матрицы на языке Python»

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Методическая разработка «Матрицы на языке Python»»

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ

«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»













Методическая разработка

«Матрицы на языке Python»

к дополнительной общеобразовательной

общеразвивающей программе

технической направленности

«Программирование на Python»



Возраст детей: 10-17 лет









Автор: Костычев Вадим Александрович










г. Заречный Пензенской области

2023 г.

В ходе изучения программирования на основе языка Python большую роль играет разработка проектов. Они позволяют отработать как навыки программирования, вспомнить работу различных функций, команд, развить навыки построения алгоритмов.

Целью данной разработки является повышение интереса учащихся к техническому творчеству посредством работы над проектом на языке Python.

Данная методическая разработка используется как обучающий пример для работы по дополнительной общеобразовательной общеразвивающей программе технической направленности «Лаборатория робототехники». С их помощью учащиеся смогут применить теоретические знания на практике, построив сложные алгоритмы для решения различных задач.

В данной методической разработке будет рассмотрены решения математических задач на матрицы.


Задача 1. Сложение матриц

Даны две матрицы размером n x m. Найдите их сумму.

matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

matrix2 = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]



Выходные данные:

[[10, 10, 10], [10, 10, 10], [10, 10, 10]]


Листинг программы:


matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

matrix2 = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]


result = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]


for i in range(len(matrix1)):

for j in range(len(matrix1[0])):

result[i][j] = matrix1[i][j] + matrix2[i][j]


print(result)


Задача 2. Умножение матриц

Даны две матрицы размером m x n и n x p. Найдите их произведение.

matrix1 = [[1, 2], [3, 4], [5, 6]]

matrix2 = [[7, 8, 9], [10, 11, 12]]



Выходные данные:

[[27, 30, 33], [61, 68, 75], [95, 106, 117]]


Листинг программы:


matrix1 = [[1, 2], [3, 4], [5, 6]]

matrix2 = [[7, 8, 9], [10, 11, 12]]


result = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]


for i in range(len(matrix1)):

for j in range(len(matrix2[0])):

for k in range(len(matrix2)):

result[i][j] += matrix1[i][k] * matrix2[k][j]


print(result)


Задача 3. Нахождение определителя матрицы

Дана квадратная матрица размером n x n. Найдите ее определитель.

matrix = [[1, 2, 3], [4, 9, 6], [7, 8, 9]]

Выходные данные:

-48


Листинг программы:


def determinant(matrix):

n = len(matrix)


if n == 1:

return matrix[0][0]

elif n == 2:

return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]

else:

det = 0

sign = 1


for j in range(n):

sub_matrix = []


for i in range(1, n):

sub_row = []


for k in range(n):

if k != j:

sub_row.append(matrix[i][k])


sub_matrix.append(sub_row)


det += sign * matrix[0][j] * determinant(sub_matrix)

sign *= -1


return det


matrix = [[1, 2, 3], [4, 9, 6], [7, 8, 9]]

print(determinant(matrix))


Задача 4. Нахождение обратной матрицы

Дана квадратная матрица размером n x n. Найдите ее обратную матрицу.

matrix = [[1, 2], [3, 4]]

Выходные данные:

[[-2.0, 1.0], [1.5, -0.5]]

Листинг программы:


def inverse(matrix):

determinant = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0]



if determinant == 0:

return "Матрица вырожденная, обратной матрицы не существует"



inverse_matrix = [[0, 0], [0, 0]]



inverse_matrix[0][0] = matrix[1][1] / determinant

inverse_matrix[0][1] = -matrix[0][1] / determinant

inverse_matrix[1][0] = -matrix[1][0] / determinant

inverse_matrix[1][1] = matrix[0][0] / determinant



return inverse_matrix

matrix = [[1, 2], [3, 4]]

print(inverse(matrix))



Задача 5. Симметрия

Проверить, является ли матрица симметричной относительно главной диагонали.

matrix = [[1, 2, 3],

[2, 4, 5],

[3, 5, 6]]

Выходные данные:

True

Листинг программы:


matrix = [[1, 2, 3],

[2, 4, 5],

[3, 5, 6]]


symmetric = True


for i in range(len(matrix)):

for j in range(i, len(matrix[0])):

if matrix[i][j] != matrix[j][i]:

symmetric = False

break


print(symmetric)