Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка — 9 КЛАСС

Все статьи
Want create site? Find Free WordPress Themes and plugins.

Урок: Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка

Одномерные массивы целых чисел

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

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

Мы будем рассматривать одномерные массивы.

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:

  • суммирование элементов массива;
  • поиск элемента с заданными свойствами;
  • сортировка массива.
Описание массива
Перед использованием в программе массив должен быть описан, т.е. должно быть указано имя массива, количество элементов массива и их тип.
Это необходимо для того, чтобы выделить в памяти под массив блок ячеек нужного типа. Общий вид описания массива:

 

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС
Пример:

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

Здесь oписан массив a из десяти целочисленных значений. При выполнении этого оператора в памяти компьютера будет выделено десять ячеек целого типа.

Небольшой массив с постоянными значениями может быть описан в разделе описания констант:

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

В этом случае не просто выделяются последовательные ячейки памяти  в них сразу же заносятся соответствующие значения.

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

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

Заполнять массив можно либо вводя значение каждого элемента с клавиатуры, либо присваивая элементам некоторые значения. При этом может использоваться цикл с параметром. Например, для ввода с клавиатуры значений элементов массива a используется следующий цикл с параметром:
Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС
Задавать значения элементов массива можно с помощью оператора присваивания. Например:
Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС
В следующем фрагменте программы организовать заполнение целочисленного массива aсостоящего из 10 элементов, случайными числами, значения которых изменяются в диапазоне от 0 до 99:
Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС
Вывод массива

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

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

Более наглядным является следующий вариант вывода с комментариями:

 

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

Вычисление суммы элементов массива

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС
Описанный процесс наглядно можно изобразить так:
Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС
Приведём основной фрагмент решения этой задачи:
12.png

Последовательный поиск в массиве

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

Можно выделить следующие типовые задачи поиска:

  • найти наибольший (наименьший) элемент массива;
  • найти элемент массива, значение которого равно заданному значению.
  

Компьютер не может сравнить разом весь ряд объектов. На каждом шаге он может сравнивать только два объекта. Поэтому в программе необходимо организовать последовательный просмотр элементов массива и сравнение значения очередного просматриваемого элемента с неким образцом.


Рассмотрим подробно решение задач первого типа (нахождение наибольшего (наименьшего) элемента). Представим себе одномерный массив в виде стопки карточек, на каждой из которых написано число. Тогда идея поиска наибольшего элемента массива может быть представлена следующим образом:

  • возьмём верхнюю карточку (первый элемент массива), запомним имеющееся на карточке число (запишем его мелом на доске) как наибольшее из просмотренных; уберём карточку в сторону;
  • возьмём следующую карточку; сравним числа, записанные на карточке и на доске; если число на карточке больше, то сотрём число, записанное на доске, и напишем там то же число, что и на карточкеесли же новое число не больше, то на доске оставим имеющуюся запись; уберём карточку в сторону;
  • повторим действия, описанные в пункте 2для всех оставшихся карточек в стопке.

В итоге на доске будет записано самое большое значение просмотренного массива.

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

  

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

Результатом решения задачи второго типа (нахождение элемента массива, значение которого равно заданному значению) может быть: 

  • n — индекс элемента массива такой, что a[n]=xгде x — заданное число;
  • сообщение о том, что искомого элемента в массиве не обнаружено.

Алгоритм поиска в сформированном нами массиве a значения, равного 50может выглядеть так:

n:=0;
for i:=1 to 10 do
if a[i]=50 then n:=i;
if n=0 then write ('Нет') else write (i)

  

В этой программе последовательно просматриваются все элементы массива. Если в массиве несколько элементов, значения которых равны заданному числу, то программа найдет последний из них.

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

i:=0;
repeat
i:=i+1;
until(a[i]=50) or (i=10);
if a[i]=50 then write (i) else write ('Нет');

  

Здесь выполнение алгоритма будет прервано в одном из двух случаев:

  • в массиве найден первый из элементов, равный заданному;
  • все элементы массива просмотрены.

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

Сортировка массива

Под сортировкой (упорядочением) массива понимают перераспределение значений его элементов в некотором определённом порядке.
Порядок, при котором в массиве первый элемент имеет самое маленькое значение, а значение каждого следующего элемента не меньше значения предыдущего элемента, называют возрастающим.
Порядок, при котором в массиве первый элемент имеет самое большое значение, а значение каждого следующего элемента не больше значения предыдущего элемента, называют убывающим.
Цель сортировки — облегчить последующий поиск элементов: искать нужный элемент в упорядоченном массиве легче.
Вы уже встречались с сортировкой при работе с базами данных. Сейчас мы рассмотрим один из возможных вариантов реализации механизма этой операции — сортировку выбором.
Сортировка выбором (например, по убыванию) осуществляется следующим образом:
  1. В массиве выбирается максимальный элемент;
  2. Максимальный и первый элементы меняются местами (первый элемент считается отсортированным);
  3. В неотсортированной части массива снова выбирается максимальный элемент; он меняется местами с первым неотсортированным элементом массива;
  4. Действия, описанные в пункте 3повторяются с неотсортированными элементами массива до тех пор, пока не останется один неотсортированный элемент (его значение будет минимальным).

Рассмотрим процесс сортировки выбором на примере массива a={0,1,9,2,4,3,6,5}.

Одномерные массивы целых чисел: заполнение, вычисление, поиск, сортировка - 9 КЛАСС

В этом массиве из восьми элементов операцию выбора максимального элемента мы проводили 7 раз. В массиве из n элементов такая операция будет проводиться n1 раз.

Рекомендованный список литературы

Босова Л.Л. Информатика —  Учебник для 8 класса. – М.: БИНОМ. Лаборатория знаний

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий