Главная страница

Решение задачи на обработку массива


Скачать 56.92 Kb.
НазваниеРешение задачи на обработку массива
Дата19.06.2022
Размер56.92 Kb.
Формат файлаdocx
Имя файлаAVTONOMNAYa_NEKOMMERChESKA1.docx
ТипКурсовая
#604296
страница3 из 3
1   2   3

Что такое IDE Python?

IDE в Python – это интегрированная среда разработки, которая определяется как инструмент кодирования, который помогает автоматизировать процесс редактирования, компиляции, тестирования в SDLC, и обеспечивает разработчику легкость запуска, написания и отладки кода.

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

2.3PyCharm

PyCharm был разработан Jet Brains и представляет собой кроссплатформенную интегрированную среду (IDE), специально разработанную для python. Это наиболее широко используемая IDE, доступная как в платной, так и в бесплатной версии с открытым исходным кодом. Позволяет сэкономить время за счет выполнения рутинных задач.

2.4Хранение данных

Предположим, что вы разработали компьютерную игру под названием "Враждебный пользователь", в которой игроки состязаются с замысловатым и недружественным компьютерным интерфейсом. Теперь вам необходимо написать программу, которая отслеживает ежемесячные объемы продаж этой игры в течение пятилетнего периода. Или, скажем, вам нужно провести инвентаризацию торговых карт героев-хакеров.

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

2.5Списки (массивы)

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

Массив – это группа ячеек памяти одинакового типа, расположенных рядом и имеющих общее имя. Каждая ячейка в группе имеет уникальный номер.

При работе с массивами надо научиться решать три задачи:

• выделять память нужного размера под массив;

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

• читать данные из ячейки.

В языке Python как таковых массивов нет. Вместо этого для хранения группы однотипных (но и не только однотипных) объектов используют списки - объекты типа list. Отличие списков от массивов заключается в том, что список - это динамическая структура, размер которого можно изменять во время выполнения программы (удалять, добавлять элементы) не задумываясь над операциями по управлению памятью (это делает транслятор).

В дальнейшем, разбирая работу со списками, будем использовать слово "массив", так как чаще всего списки используются именно в роли массива (хранят однотипные данные).

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

При создании массива в памяти выделяется место (определенное число ячеек).

1) Массивы можно создать простым перечислением элементов:

A = [1, 4, 7, 12, 5]

print (type(A))

Программа выведет



То есть массив - это объект типа list (в переводе с англ. список).

2) Массивы можно составить из данных любых типов - целых или вещественных чисел, символьных строк

A = ["Вася", "Петя", "Федя"]

Некоторые способы работы с массивами

3) Массивы можно "складывать".

A = [1, 5] + [25, 7]

4) Сложение одинаковых массивов можно заменить умножением. Таким образом, легко создать массив, заполненный одинаковыми значениями, например:

A = [0]*10 # создали массив из 10 элементов и заполнили его нулями

5) Массив всегда "знает" свой размер. Для определения размера массива используется функция len(). Часто размер массива хранят в отдельной переменной, чтобы была возможность легко изменить программу для работы с другим размером массива.

Пример

N = 10 # в переменной N храним размер массива

A = [0] * N # создаем массив размера N

print(len(A)) # выводим размер массива

Размер массива можно задавать с клавиатуры.

Задача для тренировки:

Массивы (списки). Введение

2.7Работа с элементами массива

Большая часть пользы от массивов определяется тем фактом, что к его элементам можно обращаться индивидуально.

Способ, который позволяет это делать, заключается в использовании индекса для нумерации элементов.

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

Для обращения к элементу массива необходимо указать имя массива и в квадратных скобках его индекс. Например, записать в элемент массива с индексом 1 значение 100 можно таким образом: A[1] = 100.

Надо запомнить!

НУМЕРАЦИЯ МАССИВОВ В PYTHON НАЧИНАЕТСЯ С НУЛЯ!

(Это является обязательным условием - вы должны начинать с нуля. Это особенно важно запомнить.)

Пример

x = (A[3] + 5) * A[1] # прочитать значения A[3] и A[1]

A[0] = x + 6 # записать новое значение в A[0]

Разберем программу работы с элементами массива.

i = 1

A = [0] * 5 # создаем массив из 5 элементов

A[0] = 23 # в каждый из 5 элементов массива (индексы от 0 до 4)

A[1] = 12 # записываем определенное значение

A[2] = 7

A[3] = 43

A[4] = 51

A[2] = A[i] + 2*A[i-1] + A[2*i] # изменим значение элемента с индексом 2, на результат выражения

# т.к i=1, то подставляя значение переменной i в выражение получим

# следующее выражение A[2] = A[1] + 2*A[0] + A[2];

print(A[2] + A[4])

В результате выполнения данной программы на экране появится значение суммы элементов массива с индексом 2 и с индексом 4 равное 116. Как видно из примера, мы можем обращаться к любому элементу массива. А также вычислять необходимый номер элемента по различным формулам (например, как в программе A[i-1] или A[2*i]). В данных случаях индексы элементов будут вычислены и зависят от значения i.

В Python для массивов можно использовать отрицательные значения индексов, при этом отсчет ведется с конца массива. Например:

A[-1] - последний элемент массива

A[-2] - предпоследний элемент

и т.д.

Разберем программу.

N = 5

A = [0] * N

x = 1

print(A[x - 3]) # обращение к элементу A[-2]

print(A[x - 3 + len(A)]) # обращаемся к элементу A[3]

# это тот же самый элемент, что и A[-2]

A[x + 4] = A[x] + A[2 * (x + 1)] # после подстановки х в выражения и вычислений

# получаем следующую строку A[5] = A[1] + A[4]

# A[5] такого элемента не существует

# ошибка - выход за границы массива

Так как массив объявлен из 5 элементов, значит элементы будут иметь нумерацию от -5 до 4. Видим, что программа в 6-й строке обращается к несуществующему элементу: A[5].

Получается, что программа вышла за границы массива.

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

В таких случая программа обычно завершается аварийно с ошибкой run-time error.

Задача для тренировки:

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

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

При работе с массивами обычно приходится работать сразу со всеми элементами массива.

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

Для этого используется чаще всего цикл с переменной, которая изменяется от 0 до N-1, где N количество элементом массива.

Под N будем считать текущий размер массива, то есть N = len(A).

...

for i in range(N):

# здесь работаем с A[i]

...

В указанном цикле переменная i будет принимать значения 0, 1, 2, ..., N-1. Таким образом, на каждом шаге цикла мы обращаемся к конкретному элементу массива с номером i.

Таким образом, достаточно описать, что нужно сделать с одним элементом массива A[i] и эти действия поместить внутрь такого цикла.

Напишем программу, которая заполняет массив первыми N натуральными числами, то есть, по окончанию программы элементы массива должны стать равными

A[0] = 1

A[1] = 2

A[2] = 3

...

A[N - 1] = N

Нетрудно заметить закономерность: значение элемента массива должно быть больше на 1, чем индекс элемента.

Цикл будет выглядеть следующим образом

for i in range(N):

A[i] = i + 1

Задача для тренировки:

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

2.8Генераторы списков

Язык Python позволяет решать многие задачи кратко и надёжно. Перечислим основные возможности по заполнению массива. 1) Создание и заполнение массива можно записать следующим образом:

A = [i for i in range(N)] # При N = 5, массив A = [0,1,2,3,4]

A = [i*i for i in range(N)] # При N = 5, массив A = [0,1,4,9,16]

for i in range(N) - перебирает все значения i от 0 до N-1.

В очередной элемент массива будет записано значение, которое стоит перед словом for, в первом случае i, во втором - i*i.

Тот же результат получим при использовании следующей записи:

A = list(range(N)) # при N = 5, массив A = [0,1,2,3,4]

2) Можно записывать в массив не все значения, а только те, что удовлетворяют определенному условию.

Пример

Заполнение массива всеми четными числами в диапазоне от 0 до 9.

A = [i for i in range(10)

if i % 2 == 0]

print(*A) # массив A = [0,2,4,6,8]

В данном случае нужно понимать, что длина массива будет меньше 10.

3) Заполнение массива с клавиатуры элементами, которые расположены по одному в строке, можно оформить двумя способами.

N = 5

A = [0]*5

for i in range(N):

A[i] = int(input())

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

# при каждом повторении цикла,

# введенная строка преобразуется

# в целое число (с помощью int)

# и это число добавляется к массиву

4) Заполнение массива с клавиатуры элементами, которые все расположены в одной строке немного сложнее. Необходимо считать строку, разбить ее на элементы, а затем каждый элемент преобразовать в целое число

s = input().split()

A = [int(i) for i in s]

или так

A = list(map(int, input().split()) # встроенная функция list()

# преобразует последовательность

# в изменяемый список

2.9Вывод массива

Выводить массив на экран можно также разными способами.

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

for i in range(len(A)):

print(A[i], end=" ")

for x in A:

print(x, end=" ")

print(*A)

# знак * перед именем

# массива означает, что

# нужно преобразовать

# массив в набор отдельных значений
1   2   3


написать администратору сайта