Работа с элементами Тема урока: Одномерные массивы. Работа с элементами В математике, экономике, информатике часто используются упорядоченные наборы данных, например последовательности чисел, таблицы, списки фамилий. Для обработки наборов данных одного типа вводится понятие массива. Массив - совокупность конечного числа данных одного типа. Массив обозначается одним именем. Всю совокупность действительных чисел 1.6, 14.9, -5.0, 8.5, 0.46 можно считать массивом и обозначить одним именем, например А. Каждый элемент массива обозначается именем массива с индексом. Элементы массива упорядочены по значениям индекса. А 1 2 3 4 5 6 7 8 А[3] = -8 А – имя массива 3 – номер элемента массива (индекс) А[3] – обозначение третьего элемента массива -8 – значение 3-го элемента массива 10 3 -8 14 25 12 10 1 На Pascal А[1]:=1.6, А[2]:=14.9, А[3]:= -5.0, А[4]:=8.5, А[5]:=0.46. Таким образом - индекс определяет положение элемента массива данных относительно его начала. Если в программе используется массив, то он должен быть описан. Форма описания имеет вид Var имя массива: ARRAY [n1 .. n2 ] OF <тип элементов>; Var a:array[1..1000] of integer; Здесь n1, n2 — номер первого и последнего элементов массива соответственно. В качестве типа элементов может использоваться любой тип данных, кроме файлового. Присвоение значений элементам массива может происходить с помощью: 1. Оператора Read (Readln) uses crt; Var i,n:integer; a:array[1..10000] of integer; Begin clrscr; {Определяем число элементов в массиве} write('Введ. Размер массива ');readln(n); { Ввод элементов массива} for i:=1 to n do begin write('a[',i,'] '); readln(a[i]); end; {Вывод элементов массива} begin write(a[i],' '); end; readkey; end. 2. С помощью датчика случайных чисел Program Massiv1; uses Crt; const {Раздел описания констант, т.е. постоянных величин, определяемых в программе заранее и не изменяющихся по ходу выполнения программы} N=10; var A:array[1. .N] of integer; {1. .N – тип индекса. Для индекса выбран интервальный тип, т.е. интервал целых чисел от 1 до N, где N определено в разделе констант} i:integer; {переменная, хранящая индекс элемента массива, к которому идет обращение} begin { Задание значений элементов массива как случайных чисел} Randomize; {Инициализация датчика случайных чисел} {Задание элементов массива} for I:=1 to N do {по очереди перебираем элементы массива} A[i]:=Random(100); {В очередной элемент массива A[i] записываем случайное число от 0 до99. i- номер элемента массива («индекс»), A[i] значение элемента массива} {Вывод элементов массива на экран в одну строку} ClrScr; writeln(‘Введенный массив:’); for i:=1 to N do write(A[i]:4); {на каждый элемент массива выделяется по 4 позиции строки, чтобы они не склеивались при выводе} writeln;{Пустой оператор вывода отработает только один раз и переведет курсор на новую строку для дальнейшей работы} readln end . Контрольные вопросы Дан массив А[1:4], состоящий из целых чисел: [7,19,-5,1]. Какое значение примет этот массив после выполнения серии команд: a) A[1]:=A[1]+A[1] б) А[1]:=А[3]; А[1]:=А[А[1]+А[4]+6]+А[2] в) i:=3; A[2]:=A[i]*A[i+1].