Обработка массивов в программировании.
При решении задач человек часто пользуется таблицами Таблицы. Линейные Прямоугольные Значения, образующие линейную таблицу, располагаются при записи в строчку или столбец. Каждому значению соответствует его порядковый номер и наоборот, по заданному номеру можно найти элемент таблицы. Для прямоугольных таблиц должны быть указаны границы как по горизонтали, так и по вертикали. Для прямоугольной таблицы номера строк и столбцов разделены запятой. По умолчанию первыми указывают границы строк.
Линейные Среднемесячная температура за декаду месяца Дата T 0 C2020,52122, , ,8 Для нахождения в таблице элемента нужно указать порядковый номер элемента таблицы в скобках, помещенный после имени таблицы.
Прямоугольные Для прямоугольной таблицы номера строк и столбцов разделены запятой. Первыми указываются границы строк.
Все эти переменные в отличие от простых переменных, которые мы рассматривали до сих пор, называются индексированными Таким образом, чтобы указать, что некоторая величина является линейной таблицей, нужно задать: а) тип элементов таблицы; б) имя таблицы; в) начальный порядковый номер элементов; г) конечный порядковый номер элементов.
Для организации работы с табличными величинами на языке Pascal используют массивы. Массивом называется упорядоченная последовательность величин, обозначенных одним именем. Упорядоченность заключается в том, что элементы массива располагаются в последовательных ячейках памяти. Номер ячейки, отсчитываемый от начала, называют индексом.
Виды массивов. Var A:array[1..20] of integer – массив из 20- ти элементов целого типа. B:array[1..5,1..4] of chr – массив из 20 – ти элементов (5 строк, 4 столбца) символьного типа. Массив задается в разделе описания переменных
Индексированная переменная имеет то же имя, что и массив. Индекс указывается в квадратных скобках. A[5], D[i] Линейной таблице соответствует одномерный массив (вектор), прямоугольной - двумерный массив (матрица).
Положение элементов в массиве определяется индексами: одним для одномерных массивов и двумя для двумерных. Пример:A[3]-индексированная переменная с именем A и индексом 3. D[2,5]-индексированная переменная с именем D, принадлежащая двумерному массиву. По умолчанию 2-номер строки, 5-номер столбца.
Виды индексов. Индекс может быть переменной, арифметическим или алгебраическим выражением. Если результат вычисления оказывается дробным, то дробная часть отбрасывается, если отрицательным, то выдается сообщение об ошибке. Переменные с индексом могут употребляться в программе так же, как и простые переменные.
Ввод одномерного массива. Program vvodmassiva; Const N=20; Var C:Array [1..10] of real; B:Array [1..N] of integer; k,i:integer; Begin For i:=1 to 10 do Begin write('C[',i,']='); readln (C[i]); end; {ввод элементов с клавиатуры} For k:=1 to N do B[k]:=random; {заполнение случайными числами} end.
Вывод одномерного массива For i:=1 to 10 do writeln('C[',i,']=',C[i]);{ вывод в столбец} write(C[i]:8:4); {вывод в строку}
ввод и вывод двумерного массива. Program vvodmassiva2; Var C:Array [1..10,1..20]] of real; k,i:integer; Begin For i:=1 to 10 do For k:=1 to 20 do Begin write('C[',i,','k']='); readln (C[i,k]); end; For i:=1 to 10 do begin For k:=1 to 20 do write(C[i,k]); Writeln; end; end.