Главная / Учебники / Информатика 9 класс / Параграф §1.5
| Глава: | Глава 1. Алгоритмы и программирование |
|---|---|
| Параграф: | §1.5 - Обработка одномерных массивов целых чисел на языке Python |
| Учебник: | Информатика 9 класс - |
| Автор: | Босова Людмила Леонидовна |
| Год: | 2025 |
| Издание: | 7-е издание, стереотипное |
Основные сведения о массивах и их обработке в Python
В контексте программирования, когда возникает необходимость оперировать значительными объемами однотипных данных, для структурирования информации используются структуры данных. Одной из элементарных структур является массив — упорядоченный набор элементов одного типа, каждому из которых присвоен уникальный порядковый номер, или индекс. Массивы, элементы которых идентифицируются одним индексом, называются одномерными. Количество индексов, необходимых для доступа к элементу, определяет размерность массива.
В языке программирования Python для работы с группами однотипных данных чаще всего применяются списки (lists), которые по своей сути являются динамическими массивами: их размер может изменяться во время выполнения программы, и они способны хранить элементы различных типов, что отличает их от традиционных массивов в других языках.
Обращение к элементам и заполнение массива
Обращение к конкретному элементу в одномерном массиве (списке) осуществляется с помощью имени массива и индекса элемента, заключенного в квадратные скобки, например, \(A[i]\). Важной особенностью Python является то, что нумерация элементов всегда начинается с нуля, то есть первый элемент имеет индекс \(0\). Для одномерного массива \(A\) с \(N\) элементами, индексы варьируются от \(0\) до \(N-1\). Длина массива может быть получена с использованием встроенной функции \(len()\), например, \(N = len(A)\).
Перед использованием массива необходимо его заполнить, чтобы предотвратить ошибки при обращении к несуществующему элементу. Массив можно создать:
Вывод массива и вычисление суммы элементов
Для отображения содержимого массива \(A\) на экран можно использовать простейший способ \(print(A)\), который выведет его элементы в квадратных скобках через запятую. Более контролируемый вывод, например, в строку или столбец, реализуется через цикл \(for\).
Задача вычисления суммы элементов массива \(A\) (длиной \(N\)) решается путем последовательного накопления слагаемых в специальной переменной-аккумуляторе \(s\). Алгоритм включает:
Блок-схема этого алгоритма демонстрирует последовательность действий: начало \(\rightarrow\) ввод \(N\) и \(A[i]\) \(\rightarrow\) инициализация \(s = 0\) \(\rightarrow\) цикл по \(i\) от \(0\) до \(N-1\) \(\rightarrow\) \(s = s + A[i]\) \(\rightarrow\) вывод \(s\) \(\rightarrow\) конец.
Последовательный поиск в массиве
Последовательный поиск (sequential search) представляет собой фундаментальный алгоритм для решения невычислительных задач, часто встречающихся в программировании. Основные типы задач поиска включают:
Решение этих задач базируется на организации последовательного просмотра всех элементов массива и сравнении каждого элемента с неким образцом или условием.
Алгоритм поиска наибольшего элемента
Для нахождения наибольшего элемента (или его индекса \(imax\)) используется метод последовательного просмотра, основанный на инварианте цикла. Инвариант цикла — это логическое условие, которое остается истинным до начала выполнения цикла и после каждого шага его тела. В контексте поиска наибольшего элемента, инвариантом является: «значение, записанное на доске (или хранящееся в переменной, например \(A[imax]\)), является наибольшим среди всех просмотренных к текущему моменту элементов массива».
Алгоритм реализуется следующим образом:
В результате, после завершения цикла, \(A[imax]\) будет содержать значение наибольшего элемента, а \(imax\) — его индекс (в случае нескольких одинаковых максимальных элементов, будет найден индекс первого из них).
Поиск элемента, равного заданному значению
Для поиска элемента \(x\) в массиве \(A\) используется переменная \(nx\), инициализированная значением \(-1\), которая будет хранить индекс найденного элемента. Если после просмотра всего массива \(nx\) остается равным \(-1\), то элемент не найден. Для ускорения процесса, если требуется найти только первое вхождение элемента, после его нахождения используется оператор \(break\) для немедленного выхода из цикла.
Подсчет и суммирование элементов по условию
Для подсчета количества элементов, удовлетворяющих некоторому условию, используется переменная-счетчик \(k\), которая увеличивается на единицу каждый раз, когда элемент удовлетворяет условию. Для суммирования значений элементов, удовлетворяющих условию, используется переменная-аккумулятор \(s\).
Сортировка массива
Под сортировкой (упорядочением) массива понимается перераспределение его элементов в некотором определенном порядке. Массив может быть отсортирован по неубыванию (каждый следующий элемент не меньше предыдущего) или по невозрастанию (каждый следующий элемент не больше предыдущего). Целью сортировки является облегчение последующего поиска нужных элементов.
Одним из методов является сортировка выбором (Selection Sort). Она осуществляется следующим образом:
Массивы и последовательности
При обработке однотипных данных можно использовать два подхода: 1) хранить все элементы как массив в памяти (обработка массива), что позволяет обращаться к любому элементу в любое время; 2) считывать каждый элемент по очереди и сразу обрабатывать его (обработка последовательности), при этом предыдущие элементы теряются. Обработка массива требует больше памяти, но более функциональна; обработка последовательности экономична по памяти.
Массивы – это упорядоченные наборы элементов одного типа, идентифицируемые индексами. В Python для этого часто используют списки (lists) – динамические массивы, способные хранить разные типы данных.
Обращение к элементам списка происходит по индексу (начиная с 0): A[i]. Перед использованием массив нужно заполнить: перечислением, нулями, вводом с клавиатуры или случайными числами.
Для вывода массива используют print(A). Сумму элементов вычисляют, последовательно прибавляя каждый элемент к переменной-аккумулятору.
Поиск в массиве может включать нахождение наибольшего элемента, элемента по значению или подсчет элементов по условию. Нахождение наибольшего элемента основано на инварианте цикла: текущий максимум всегда среди просмотренных.
Сортировка – это упорядочение элементов массива. Сортировка выбором находит максимум/минимум в неотсортированной части и меняет его с первым элементом этой части.
Обработка данных возможна двумя способами: хранение всех элементов в массиве или последовательная обработка элементов без их сохранения.
Ключевые понятия и определения:
Основные операции в Python:
Задали создать проект?
Создай с помощью ИИ за 5 минут
Список готовых проектов к текущему параграфу.
ВНИМАНИЕ: Представленные фрагменты из учебных материалов используются исключительно в научно-образовательных целях в объеме, оправданном поставленной целью.
Данное использование осуществляется в рамках, установленных законодательством об авторском праве (в частности, нормами о свободном использовании произведения для образовательных целей).
В соответствии с законодательством, автор и источник заимствования указаны для каждого используемого фрагмента.