Одномерные массивы
Массив – это конечный, последовательный набор элементов одного типа, связанных общим именем Простейшая форма – одномерный массив(линейная таблица, вектор) Определения А[1]А[2]А[3]А[4]А[5]А[6]А[n]… Он имеет индивидуальное имя, а для обозначения отдельной компоненты к имени массива добавляется индекс, который и выделяет нужную компоненту Компоненты массива называются переменными с индексами Наименьший индекс называется нижней границей, наибольший индекс – верхней границей, а число элементов – размером массива Количество индексов называют размерностью массива
Описание массива Описываем массив в блоке описаний: VAR : array[n..k] of ; Типизированное описание массива: TYPE =array[n..k] of ; VAR : ;
Размер массива фиксируется при описании и в процессе выполнения программы не меняется. Индексы можно вычислять. Наиболее часто в качестве типа индекса используется ограниченный целый тип или перечислимый тип (это целые числа, символы, интервалы, перечисления ), т.е. все простые типы, кроме действительного. При необходимости мы можем «нумеровать» элементы массива буквами алфавита.
Примеры Обращение к элементу массива: Var a: array[1..3] of integer; a[1] Var b: array[a..c] of integer; b[a] Var c: array[red,green,blue] of integer; c[red] Var d: array[byte] of real; Однако, размер массива в байтах не может превышать 65520!
Количество элементов массива, их упорядоченность и тип задают явно до начала выполнения программы. Поэтому, если границы массива точно неизвестны, то их выбирают «с запасом» так, чтобы его размер был не меньше значения n, которое будет введено.
Пусть описан следующий одномерный массив: … Const M=100; TYPE ОMAS=array[1..M] of integer; VAR a, b, с: ОMAS; n,i:byte; … WriteLn(Введите размер массива); ReadLn(n);
Основные характеристики одномерного массива имя массива; тип компонентов массива; размерность, равная количеству индексных позиций (измерений) массива; порядок нумерации компонентов в последовательности (значения верхней и нижней границ для каждого индекса); количество компонентов – длина массива и размер массива. Имя массива образуется по общему правилу образования имен (идентификаторов). Однако оно не должно совпадать с именем ни одной простой переменной, используемой в этом же алгоритме.
Заполнение одномерного массива 1 способ: поэлементное присвоение значений Пусть задан массив, содержащий оценки учащегося по предметам физико-математического цикла: Var a: array[1..5] of integer; … Begin … a[1]:=4; a[2]:=5; a[3]:=4; a[4]:=3; a[5]:=4; …
Заполнение одномерного массива 2 способ: описание элементов массива в разделе описания констант Const n=5; a: array [1..5] of integer=(4,5,4,3,4); Var I:ineger; … Begin …
3 способ: заполнение случайным образом Пусть одномерный массив из 5 целых чисел нужно заполнить целыми числами в диапазоне от -20 до 50. Var a: array[1..5] of integer; i: byte; … Begin … Randomize; For i:=1 To 5 Do a[i]:=random(71) - 20; …
4 способ: заполнение с клавиатуры Var a: array[1..5] of integer; i: byte; … Begin WriteLn(Введите элементы одномерного массива:) For i:=1 To 5 Do ReadLn(a[i]);
4 способ: заполнение по формуле (закону) Пусть одномерный массив заполнен элементами арифметической прогрессии, первый элемент которой равен 2, а каждый последующий увеличивается на 3. Var a: array[1..5] of integer; i: byte; … Begin … a[1]:=2 For i:=2 To 5 Do a[i]:=a[i-1]+3; …
Вывод элементов одномерного массива на экран монитора 1.В столбик: WriteLn (Исходный массив:); For i:=1 To 5 Do WriteLn(a[i]); 2. В строчку: Пусть массив заполнен целыми числами: WriteLn (Исходный массив:); For i:=1 To 5 Do Write(a[i]:4); WriteLn; Пусть массив заполнен вещественными числами: WriteLn (Исходный массив:); For i:=1 To 5 Do Write(a[i]:8:2); WriteLn;