Краткое изложение теоретического материала

Массив – это упорядоченная (пронумерованная) последовательность однотипных элементов. Массив имеет общее для всех элементов имя. Номер элемента массива называют еще его индексом. В качестве индексов можно использовать значения любого порядкового типа. Например:

      А – массив из пяти целых чисел. Индексы элементов – целые числа от 1 до 5.
      В - массив из 5 вещественных чисел. Индексы элементов – целые числа от 2001 до 2005.
  C - массив из 5 целых чисел. Индексы элементов – символы от целые числа от 1 до 5.
      W – массив из пяти строк. Индексы элементов – целые числа от 1 до 5.

Доступ к элементам массива осуществляется по индексу, который указывается после имени массива в квадратных скобках. Например, в приведенных выше примерах: A[2]=12, B[2005]=5.9, C[‘d’]=234, W[1+2]=’раму’.

Массивы реализованы практически во всех структурных и объектно-ориентированных языках программирования.

Обработка массивов в языке Турбо Паскаль:

1. Описание нового типа данных - массив:

a. Описание типа:

Type <имя типа > = Array [ <min индекс> .. <max индекс> ] Of <тип элементов массива>;

b. Описание переменной, имеющей тип массив:

Var <имя переменной>: <имя описанного выше типа>;

Например:

Type List = Array [1..30] Of String;

MasNum = Array[1..15] Of Real;

Var Fam, Name: List; { Переменные Fam и Name – массивы строк }

Year, a, b: MasNum; { Переменные Year, a и b – массивы вещественных чисел }

2. Ввод элементов массива:

Для обработки массивов наиболее часто используется оператор цикла со счетчиком For.

Фрагмент программы, позволяющий осуществить ввод значений элементов массива A из N элементов, может быть записан следующим образом:

For i:= 1 to n do

begin

Write (‘введите ’, i, ’-ый элемент ’);

Readln (A[i])

end;

3. Заполнение массива случайными числами зачастую используется в учебных (и не только) задачах, для того чтобы не вводить длинные числовые последовательности:

Randomize; { инициализация датчика случайных чисел }

For i:= 1 to n do

A[ i ]:= random(100); { в этом случае значения элементов будут лежать в интервале от 0 до 99 }

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

For i:= 1 to n do

Writeln(A[i]);

5. Сортировка массива – это упорядочение его элементов по возрастанию или убыванию. Разработан не один десяток алгоритмов сортировки массива (см. соответствующую литературу). Ниже приведен фрагмент программы, реализующей один из алгоритмов сортировки массива. Алгоритм сортировки по убыванию состоит в следующем:

· Фиксируем первый элемент массива, сравниваем его со всеми последующими (от 2-го до последнего – n-го), если какой-либо оказывается больше первого, то поменять его местами с первым. В результате таких сравнений и обменов на первом месте в массиве окажется самый большой элемент.

· Зафиксируем второй элемент массива. Будем сравнивать его со всеми последующими (начиная уже с 3-го), и если найдем большие элементы, будем менять их местами со вторым. В результате этих действий на втором месте окажется самый большой элемент массива из оставшихся.

· Зафиксируем третий элемент и повторим описанные выше действия.

· В результате повторения описанных действий (таких повторов будет n-1, т.к. последний элемент сравнивать уже не с чем) массив будет отсортирован по убыванию.

For i:= 1 to n-1 do

For j:= i+1 to n do

If A[ j ] > A[ i ] then

begin { меняем местами i-ый и j-ый элементы массива А }

p:= A[ i ]; { для этого используем Ъ

A[ i ]:= A[ j ]; { промежуточную переменную p, тип которой }

A[ j ]:= p { должен совпадать с типом элементов массива }

end;

При сортировке по убывания нужно в тексте программы изменить лишь знак «>» на знак «<».

Размер массива – это количество элементов в нем.

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

Двумерный массив можно представить в виде совокупности пронумерованных строк и столбцов:

  1 2 3 4 5 6
1   -57        
2     -134     -8
3       -11 -67  
4 -7         -22
5     -3      

А

Двумерный числовой массив А состоит из 5 строк и 6 столбцов. Для того чтобы обратиться к отдельному элементу этого массива, нужно указать после его имени индексы в квадратных скобках через запятую – сначала номер строки, затем номер столбца. Например: А[1,3]=0, А[4,1]= -7, А[4,6]= -22, А[2,5]=15.

Использование двумерных массивов в программах на языке Турбо Паскаль:

1. Описание двумерного массива:

a. Описание типа:

Type <имя типа> = Array [ <min номер строки> .. <max номер строки>, <min номер столбца> .. <max номер столбца> ] Of <тип элементов массива>;

b. Описание переменной, имеющей тип массив:

Var <имя переменной>: <имя описанного выше типа>;

Например:

Type Mas2 = Array[1..5, 1..6] Of Integer;

Var a: Mas2;

{ Переменная a – двумерный массив целых чисел, в котором 5 строк и 6 столбцов }

2. Ввод элементов массива:

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

Фрагмент программы, позволяющий осуществить ввод значений элементов массива A из N строк и М столбцов, может быть записан следующим образом:

For i:= 1 to n do

For j:= 1 to m do

begin

Write (‘A [ ‘, i, j, ’ ] = ‘);

Readln (A[i, j])

end;

3. Вывод массива на экран в виде прямоугольной матрицы (таблицы):

For i:= 1 to n do

begin

For j:=1 to m do

Write (A[i, j]: 3); {выводим все элементы i-ой строки массива в одну строку на экране}

Writeln { переводим на экране курсор на следующую строку}

end;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: