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

Во всем мире хранится огромный объем информации. Вся эта информация может быть сохранена в хорошем и плохом виде, другими словами информация может быть упорядоченной или нет. Для того, чтобы упорядочить информацию ее помещают в таблицы. Например, школьный журнал. Вся информация об учениках и их оценках упорядочена: распределены предметы (новый предмет на следующей странице), числа, фамилии учеников. Эта же самая информация могла бы храниться совсем в другом виде: фамилия оценка, число, предмет; и так весь журнал. А если представить, что и журналов, которые упорядочивают классы, убрать, то смешаются сведения обо всех учениках школы. В такой информации можно запутаться. Что этого не происходило необходимо сохранять информацию в упорядоченном виде, следовательно нужны таблицы. С ними мы сталкиваемся каждый день, даже не замечая этого. Например, зал кинотеатра, шахматная доска, школьный журнал и т.д… Таблицы могут быть линейными (те, которые состоят из одной строки) и прямоугольными (те, которые состоят из нескольких строк).

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

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

Массивы состоят из простых данных, которые называются элементами массива. Элементы массива располагаются в последовательных ячейках памяти. Чтобы получить доступ к нужному элементу, необходимо указать имя массива и порядковый номер элемента в массиве, называемый индексом. Индекс записывается в круглых скобках после имени массива. В QuickBasic массивы могут быть одномерные, которые можно представить в форме линейной таблицы и двумерные, которые можно представить в форме прямоугольной таблицы. Массивы бывают разных типов: числовые, символьные и т. д… Массив состоит из пронумерованной последовательности элементов.

Элемент, расположенный на i-ом месте одномерного массива, обозначается А(i). Прежде чем работать с массивом, необходимо сначала определить место в памяти компьютера для элементов массива. На языке QuickBasic для одномерного массива регистрация в памяти выполняется с помощью следующего оператора: DIM <имя массива>(количество элементов массива). Например, DIM А(4) – это означает, что задан массив А, состоящий из 4 элементов.

Если в одномерном массиве третьему элементу нужно присвоить значение 5, то нужно записать название массива, затем в круглых скобках цифру 3: А(3)=5. Чтобы заполнить одномерный массив используют следующие операции:

1) INPUT n 2) DATA 3,1,4,5,6,5 3) INPUT n

DIM S(n) DIM S(6) DIM S(n)

FOR i=1 TO n FOR i=1 TO 6 RANDOMIZE TIMER

INPUT S(i) READ S(i) FOR i=1 TO n

NEXT i NEXT i S(i)=1+INT(RND*100)

NEXT i

В двумерном массиве элемент определяется номером строки и номером столбца, на пересечении которых он расположен, то есть в скобках после имени массива записываются два индекса, разделенные запятой, — В(4,5). В ЭВМ под двумерный массив выделяется линейный участок памяти, в котором массив располагается по строкам. Элемент, расположенный на пересечении i-ой строки и j-ого столбца двумерного массива А обозначается А(i,j).

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

На языке QuickBasic для двумерного массива регистрация в памяти выполняется с помощью следующего оператора: DIM <имя массива>(номер строки, номер столбца). Например, DIM А(4, 5) – это означает, что задан массив А, состоящий из 4 строк и 5 столбцов.

Чтобы заполнить двумерный массив используют следующие операции:

 

1) INPUT m, n 2) INPUT m, n

DIM S(m, n) DIM S(m, n)

FOR i=1 TO m RANDOMIZE TIMER

FOR j=1 TO n FOR i=1 TO m

INPUT S(i, j) FOR j=1 TO n

NEXT j S(i, j)=1+INT(RND*100)

NEXT i NEXT j

NEXT i

Существуют множество типовых алгоритмов обработки массивов – это алгоритмы поиска минимума и максимума, сортировка, нахождение сумм элементов и многое другое.

Рассмотрим одну из типовых задач: Заменить строки столбцами, а столбцы строками.

INPUT m, n

DIM A(m, n)

DIM B (n, m)

FOR i=1 TO m

FOR j=1 TO n

INPUT A(i, j)

B(j, i)=A(i, j)

NEXT j

NEXT i

 

еще рефераты
Еще работы по информатике