Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры информатика.doc
Скачиваний:
14
Добавлен:
29.10.2018
Размер:
474.11 Кб
Скачать

30. Массивы одномерные и многомерные. Обращение к элементам массива, ввод – вывод массива.

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

Одномерные массивы - это самый простой вариант массива, использующий обыкновенный список данных. Например: Вася, Петя, Коля, Миша, Ваня, Слава, Игорь, Юра, Саша, Вова

Это строковый массив, состоящий из 10 элементов. Дадим ему название My_Array.

Нумерация элементов в массиве начинается с 0. Такая система нумерации довольно распространена в программировании и называется нумерацией с нулевой базой.

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

Многомерные массивы

Одномерные массивы хорошо подходят для представления простых списков данных. Однако часто бывает необходимо представить таблицы данных в программах с организацией данных в формате строк и столбцов, подобно ячейкам в рабочих листах Excel. Для этого необходимо использовать многомерные массивы. Так адрес каждой ячейки листа состоит из двух чисел, одно из которых (номер строки) является первым индексом, а второе (номер столбца) - вторым индексом массива. Такой массив называется двумерным массивом. Добавив еще номер листа, получим трехмерный массив. VBA позволяет создавать массивы, имеющие до 60 измерений.

Статические и динамические массивы

Массивы, не меняющие число своих элементов, называются статическими массивами. Примером такого массива может служить вышеприведенный массив My_Array, содержащий 10 элементов.

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

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

Ввод/вывод элементов массива

Пусть в программе описана переменная-массив:

VAR

V : Array [1..100] of Integer;

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

Write(‘Введите V[1]: ’); ReadLn(V[1]);

Write(‘Введите V[2]: ’); ReadLn(V[2]);

. . .

. . .

. . .

Write(‘Введите V[100]: ’); ReadLn(V[100]);

31. Сортировка массива. Алгоритм пузырька.

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

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

Вот код программы на Паскале:

{ сортировка массива "пузырьком" по возрастанию }

const

n = 10; { количество элементов в массиве }

var

a:array[1..n] of integer;

i,j,buf:integer;

begin

{Заполняем массив случайными целыми числами из диапазона от 0 до 9 и выводим массив на экран}

for i:=1 to n do

begin

a[i]:=random(10);

write(a[i],' ');

end;

for i:=1 to n-1 do

for j:=i+1 to n do {В этой строке начинающие программисты чаcто допускают ошибку}

if a[i]>a[j] then

begin

buf:=a[i];

a[i]:=a[j];

a[j]:=buf;

end;

writeln;

writeln('Массив после сортировки пузырьковым методом: ');

for i:=1 to n do

write(a[i],' ');

end.

Сортировка массива методом пузырька.

Алгоритм сортировки такой:

Берутся два рядом стоящих элемента массива, и если элемент с меньшим

индексом больше элемента с большим индексом, то они меняются местами.

Эти действия происхдят до тех пор, пока массив не будет отсортирован.

Алгоритм проходит по массиву от начала до конца. В процессе работы алгоритма

находится элемент с максимальным значением, который помещается в конец массива,

поэтому каждый раз количество просматриваемых сортировкой элементов массива

уменьшается на 1. Каждый раз на своё место становится хотя бы один элемент массива,

поэтому количество проходов по нему равно количеству элементов в массиве.

Алгоритм называется пузырьковым, так как максимальный элемент массива как бы

всплывает наверх.