Массивы Паскаль
Массивы - это Заранее известное число однотипных элементов Элементы (каждое данное массива) имеют общее имя(имя массива) и тип (тип элементов массива), а также индивидуальный порядковый номер в массиве (индекс элемента массива)
Массивы – это упорядоченная по номерам совокупность значений, объединенных общим типом и именем. Массив имеет фиксированное имя, фиксированный тип и количество значений. Каждый элемент массива определяется именем, совпадающим с именем массива, а также индексом. Индекс – это величина, характеризующая положение элемента относительно начала массива, например: В[12] – двенадцатый элемент массива. Если массив состоит только из десяти элементов, то элемента с индексом 11 уже не существует. Каждому массиву выделяется место в памяти. Но в отличие от простых переменных массиву отводится не одна ячейка, а последовательность расположенных друг за другом ячеек, в каждую из которых записывается значение соответствующего элемента. Память ЭВМ состоит из конечного числа ячеек, поэтому машина может работать только с конечными массивами.
Описать массив можно 2 способами Type MAS=ARRAY [1..количество] of тип; VAR Имя: MAS; Подчеркнутое можно заменить другим идентификатором VAR M1: ARRAY [1.. Количество] OF тип;
Предупреждение! Количество элементов всегда задается конкретным числом, а не переменной. Описание типа должно предшествовать блоку VAR.
Массивы бывают одномерными и двумерными. массивы одномерные двумерные
Одномерные массивы Одномерные массивы представляют собой линейную таблицу. Каждый элемент этой таблицы имеет имя и один индекс. Все массивы подлежат описанию в разделе переменных по следующему правилу: Имя массива: array[Граничная пара индексов] of Тип элементов массива В программе может одновременно использоваться несколько массивов. Если размерность и тип элементов массива совпадают, они могут описываться одновременно через запятую. Например: var A:array[1..40] of real; B,C:array[5..20] of integer; Для того, что в программе обратиться к элементу массива, необходимо написать имя массива и в квадратных скобках указать индекс необходимого элемента. Например: B[1], C[15]. Так как массив это множество элементов одного типа, обработка этих элементов часто осуществляется в циклах. В этом случае обращение к элементам может записываться так C[i], B[i+1], где i – параметр цикла.
Пример 1 Заполнить массив A[5] целыми числами с клавиатуры. Умножить все элементы массива на 10 и вывести на экран в одну строку. Текст программы: program prim; var i:integer; a:array[1..5] of integer; begin for i:=1 to 5 do begin writeln(Введите, i, элемент массива); readln(a[i]); end; for i:=1 to 5 do begin a[i]:=a[i]*10; write(a[i]:4); end; end.
Двумерные массивы Двумерный массив – это прямоугольная таблица, состоящая из однотипных элементов, организованная по строкам и столбцам. Местоположение каждого элемента двумерного массива определяется двумя индексами: номером строки и номером столбца. var d:array[1..n,1..m] of integer; Пример Заполнить массив d(3,3) целыми двузначными числами с клавиатуры. Вывести элементы массива в виде прямоугольной таблицы. Текст программы: program prim_3; var d:array[1..3,1..3] of integer; i,j:integer; begin for i:=1 to 3 do for j:=1 to 3 do begin writeln(введите элемент,i, строки,j,столбца); readln(d[i,j]); end; for i:=1 to 3 do begin for j:=1 to 3 do write(d[i,j]:4) writeln; end; end.
Способы задания элементов массива Ввод с клавиатуры ( когда они известны) Получение по формуле общей для всех элементов a[I]=f(I) Получение по рекуррентной формуле (зависимости следующих от предыдущих элементов массива) При отладке программ удобно использовать получение элементов массивов случайным образом (используя датчик случайных чисел)
Ввод массива с клавиатуры (элементы массива целые числа) Program vvod; Var mas: array[1..100] of integer; I,N : integer; Begin write(введите количество элементов); read (n); For I:=1 to n do begin Write (введите элемент массива, I); Readln ( MAS[ I ] ); End;
Вывод элементов массива For I:=1 to n do begin Write (введите элемент массива, I); Writeln ( MAS[ I ] ); End;
Получение элементов массива по формуле: Program formula; Var mas: array[1..100] of integer; I,N : integer; Begin write(введите количество элементов); read (n); For I:=1 to n do begin MAS[ I ] := формула; End;
Проверьте программу ввода массива Для 5 элементов Для 7 элементов Исправьте ее для ввода вещественных чисел и проверьте для 4 элементов. Для проверки дополните ее выводом элементов. Напишите программу получения элементов массива по формуле a[I]=I*I ; b[i]= 3*I+2