3. Создать класс "Матрица". Класс должен иметь следующие поля: 1) двумерный массив вещественных чисел;
2) количество строк и столбцов в матрице.
Класс должен иметь следующие методы:
1) сложение с другой матрицей;
2) умножение на число;
3) вывод на печать;
4) умножение матриц - по желанию.
Сначала создадим класс "Матрица" и определим его поля - двумерный массив вещественных чисел и количество строк и столбцов в матрице. Для этого напишем следующий код на языке Python:
```python
class Matrix:
def __init__(self, matrix, rows, columns):
self.matrix = matrix
self.rows = rows
self.columns = columns
```
Далее необходимо добавить методы класса. Начнем с метода сложения матриц. Он должен принимать другую матрицу в качестве аргумента и возвращать новую матрицу, являющуюся результатом сложения двух матриц. Для этого напишем следующий код:
```python
def add(self, other):
if self.rows == other.rows and self.columns == other.columns:
result = []
for i in range(self.rows):
row = []
for j in range(self.columns):
row.append(self.matrix[i][j] + other.matrix[i][j])
result.append(row)
return Matrix(result, self.rows, self.columns)
else:
raise Exception("Размеры матриц не совпадают")
```
Теперь добавим метод умножения матрицы на число. Он должен принимать вещественное число в качестве аргумента и возвращать новую матрицу, в которой каждый элемент умножен на это число. Вот код этого метода:
```python
def multiply_by_scalar(self, scalar):
result = []
for i in range(self.rows):
row = []
for j in range(self.columns):
row.append(self.matrix[i][j] * scalar)
result.append(row)
return Matrix(result, self.rows, self.columns)
```
Теперь добавим метод вывода матрицы на печать. Просто выведем каждую строку матрицы на новой строке. Вот код метода:
```python
def print(self):
for row in self.matrix:
print(row)
```
При желании можно добавить и метод умножения матриц. Для этого воспользуемся известным алгоритмом умножения матриц. Вот код для этого метода:
```python
def multiply(self, other):
if self.columns == other.rows:
result = []
for i in range(self.rows):
row = []
for j in range(other.columns):
element = 0
for k in range(self.columns):
element += self.matrix[i][k] * other.matrix[k][j]
row.append(element)
result.append(row)
return Matrix(result, self.rows, other.columns)
else:
raise Exception("Неверные размеры матриц для умножения")
```
Вот и все! Теперь у нас есть полноценный класс "Матрица" с необходимыми методами и полями. Я надеюсь, что ответ понятен и полезен для школьника.