Программирование (Python). § 21. Массивы

Содержание

Слайд 2

Что такое массив? Массив – это группа переменных одного типа, расположенных

Что такое массив?

Массив – это группа переменных одного типа, расположенных в

памяти рядом (в соседних ячейках) и имеющих общее имя.

Надо:

выделять память
записывать данные в нужную ячейку
читать данные из ячейки

Слайд 3

Обращение к элементу массива A массив 2 15 НОМЕР элемента массива

Обращение к элементу массива

A

массив

2

15

НОМЕР элемента массива
(ИНДЕКС)

A[0]

A[1]

A[2]

A[3]

A[4]

ЗНАЧЕНИЕ элемента массива

Индекс элемента — это

значение, которое указывает на конкретный элемент массива.
Слайд 4

Создание массива A = [11, 22, 35, 41, 53] A =

Создание массива

A = [11, 22, 35, 41, 53]

A = [11, 22]

+ [35, 41] + [53]

A = [11]*5

A = [11] + [11] + [11] + [11] +[11]

Слайд 5

Обращение к элементу массива i = 1 A[2] = A[i] +

Обращение к элементу массива

i = 1
A[2] = A[i] + 2*A[i-1] +

A[2*i+1]
print( A[2]+A[4] )

A[2] = A[1] + 2*A[0] + A[3]
print( A[2]+A[4] )

101

152

A[2]

ИНДЕКС элемента массива: 2

ЗНАЧЕНИЕ элемента массива

Слайд 6

Что неверно? A = [1, 2, 3, 4, 5] x =

Что неверно?

A = [1, 2, 3, 4, 5]
x = 1
print( A[x-8]

)
A[x+4] = A[x-1] + A[2*x]

print( A[-7] )
A[5] = A[0] + A[2]

Выход за границы массива — это обращение к элементу с индексом, который не существует в массиве.

Слайд 7

Перебор элементов массива Перебор элементов: просматриваем все элементы массива и, если

Перебор элементов массива

Перебор элементов: просматриваем все элементы массива и, если нужно,

выполняем с каждым из них некоторую операцию.

N = 10
A = [0]*N # память уже выделена

for i in range(N):
# здесь работаем с A[i]

0, 1, 2, 3, …, N-1

Слайд 8

Заполнение массива N = int(input()) A = [0]*N for i in

Заполнение массива

N = int(input())
A = [0]*N
for i in range(N):
A[i] =

i

В развёрнутом виде

A[0] = 0
A[1] = 1
A[2] = 2
...
A[N-1] = N-1

0

1

2

N-1

[0, 1, 2, 3, …, N-1]

В стиле Python:

A = [ i for i in range(N) ]

i

i

Слайд 9

Заполнение массива в обратном порядке for i in range(N): A[i] =

Заполнение массива в обратном порядке

for i in range(N):
A[i] = N

– i

В стиле Python:

A = [N-i for i in range(N)]

Слайд 10

Вывод массива на экран for i in range(N): print( A[i] )

Вывод массива на экран

for i in range(N):
print( A[i] )

или так:

в

столбик

Весь массив сразу:

print( A )

[1,2,3,4,5]

По одному элементу:

for x in A:
print( x )

для всех элементов в массиве A

for x in A:
print( x, end=" " )

пробел между элементами

Слайд 11

Вывод массива на экран (Python) print ( *A ) разбить список

Вывод массива на экран (Python)

print ( *A )

разбить список на элементы

print

(1, 2, 3, 4, 5)

[1,2,3,4,5]

1 2 3 4 5

Слайд 12

Ввод с клавиатуры N = int(input()) A = [0]*N for i

Ввод с клавиатуры

N = int(input())
A = [0]*N
for i in range(N):
s

= "A[" + str(i) + "]="
A[i] = int(input(s))
print (*A)

A[0] =
A[1] =
A[2] =
A[3] =
A[4] =

5
12
34
56
13

for i in range(N):
A[i] = int(input())

С подсказкой для ввода:

или так:

A = [int(input())for i in range(N)]

Слайд 13

Заполнение случайными числами from random import randint N = 10 #

Заполнение случайными числами

from random import randint
N = 10 # размер массива
A

= [0]*N # выделить память
for i in range(N):
A[i] = randint(20,100)

В краткой форме:

from random import randint
N = 10
A = [ randint(20,100)
for i in range(N) ]

из библиотеки (модуля) random

взять функцию randint

Слайд 14

for i in range(N): ??? for i in range(N): ??? Обработка

for i in range(N):
???

for i in range(N):
???

Обработка

элементов массива

Вывести числа, на 1 большие, чем A[i]:

print( A[i]%10 )

Вывести последние цифры:

print( A[i]+1 )

Вывести на экран в столбик:

for i in range(N):
???

print( A[i] )

Слайд 15

Обработка элементов массива Увеличить на 1: for i in range(N): ???

Обработка элементов массива

Увеличить на 1:

for i in range(N):
???

A[i] +=

1

Умножить на 2:

for i in range(N):
???

A[i] *= 2

Заполнить нулями:

for i in range(N):
???

A[i] = 0

Слайд 16

Задачи 1 : а) Заполните все элементы массива из 10 элементов

Задачи

1 : а) Заполните все элементы массива из 10 элементов значением

X , введённым с клавиатуры.
б) Заполните массив из 10 элементов последовательными натуральными числами, начиная с X (значение X введите с клавиатуры).

2: а) Заполните массив из 10 элементов натуральными числами в обратном порядке, начиная со значения X, введённого с клавиатуры. Последний элемент должен быть равен X, предпоследний равен X–1 и т.д.