Python да практикалық жұмыстар 2 бөлім. Негізгі алгоритмдер және олардың Python тілінде іске асырылуы


Обработка двумерных массивов (матриц)



бет11/14
Дата04.11.2022
өлшемі0,56 Mb.
#47505
1   ...   6   7   8   9   10   11   12   13   14
Байланысты:
Практикалы тапсырмалар

Обработка двумерных массивов (матриц).
Двумерные массивы являются аналогами матриц и имеют «прямоугольную» (табличную) структуру. Описываются массивы так же, как одномерные. Разница состоит в том, что у элемента двумерного массива две координаты (два индекса) — номер строки и номер столбца, в которых находится элемент.
Ввод массива осуществляется построчно при помощи двух циклов. Пусть M — количество столбцов, N — количество строк. Элементы массива обозначим как mas[i,j], первый индекс — номер строки, второй — номер столбца.
ввод M,N
нц для i от 1 до N
нц для j от 1 до M
ввод mas[i,j]
кц кц
Вывод массива на экран осуществляется при помощи аналогичных циклов.
нц для i от 1 до N
нц для j от 1 до M
вывод mas[i,j]
кц
вывод кц
Здесь «пустой» оператор вывода обеспечивает переход на новую строку.
В Python для работы с многомерными (когда используется два и более индексов) массивами можно использовать вложенные списки (списки списков, списки списков списков и т.д.).
Однако Python предоставляет более удобный инструмент создания и преобразования многомерных массивов — библиотеку numpy (Numeric Python).
Создание двумерного массива в Python может выглядеть так:
# ­*­ coding: utf­8 ­*­
# import numpy
n=input('Количество строк: ') m=input('Количество столбцов: ') # Создаём ''нулевую'' матрицу a=numpy.zeros([n­1,m­1]) # Заполняем матрицу for i in range(n­1): for j in range(m­1):
print 'Элемент матрицы [',i,'][',j,']'
a[i,j]=input('Введите элемент: ')
#
Сначала с помощью функции (метода) numpy.zeros() создаётся двумерный массив (матрица), заполненный нулями, а потом вместо нулей подставляются реальные значения. Индексы элементов, так же как в строках, кортежах и списках, начинаются с 0 (первый — верхний левый — элемент матрицы в Python имеет индекс [0,0]).
Оператор print выводит индексы очередного элемента матрицы, который нужно ввести.
Задача 1. Выполнить обработку элементов прямоугольной матрицы А, имеющей N строк и М столбцов. Найти среднее арифметическое элементов массива.
Постановка задачи:
Дано:
n – количество строк в массиве; m – количество столбцов в массиве; A(i,j) – элемент массива; i , j­ индексы элемента массива.
Найти:
S– сумма элементов массива (сумма всех A(i,j) при всех i и j)
K – количество элементов в массиве (K=m*n)
С – среднее арифметическое элементов массива (C=S/K)
Блок­схема алгоритма решения показана на рис. 15.

Рисунок 15. Блок­схема алгоритма вычисления среднего значения матрицы
Текст программы на «псевдоязыке»:


Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   14




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет