Массивы Массив - конечная именованная последовательность однотипных индексированных величин При описании необходимо указать: число элементов; тип элементов. Объявление массива var имя_переменной: array [тип_индекса] of тип_элемента; Var x:array [1 .. 10] of real; a,b:array [1..1000] of integer; const n = 6; type intmas = array [1 .. n] of integer; var a, b : intmas; Объявление массива type имя_типа = array [тип_индекса] of тип_элемента; var имя_переменной: имя_типа; type mas = array [1 .. 10] of real; Color = array [1..1000] of integer; Var x:mas, a,b:color; Заполнение массива По закону: const n = 20 Var x:array [1 .. n] of integer; I: byte; begin for i:=1 to n do a[i]:=i+5; Заполнение массива Случайными числами: [A,B] x=int(random(B-A))+A const n = 20 Var x:array [1 .. n] of integer; I: byte; begin randomize; for i:=1 to n do a[i]:=int(random(40))-20; Заполнение массива Заполнение с клавиатуры: const n = 20 Var x:array [1 .. n] of integer; I: byte; begin for i:=1 to n do read a[i]; Заполнение массива чтение из файла: const n = 20 Var x:array [1 .. n] of integer; I:byte; begin assign(<имя файла>, '<физическое имя файла>'); reset (<имя файла>); for i:=1 to n do read (<имя файла >,a[i]); close (<имя файла>); Основные задачи на обработку массивов Подсчет количества элементов, удовлетворяющих некоторому условию: k:=k+1 const n = 20; Var x:array [1 .. n] of integer; I,k: byte; begin randomize; for i:=1 to n do begin read (a[i]); if (a[i]mod2=0) then k:=k+1; end; writeln(k); end. Основные задачи на обработку массивов Подсчет суммы элементов, удовлетворяющих некоторому условию: s:=s+a[i] const n = 20 Var x:array [1 .. n] of real; I: byte; s:real; begin randomize; for i:=1 to n do begin a[i]:=int(random(40))-20; writeln(a[i],’ ‘); if a[i]>0 then s:=s+a[i]; end; writeln(s); end. Основные задачи на обработку массивов Подсчет произведения элементов, удовлетворяющих некоторому условию: p:=p*a[i] const n = 20 Var x:array [1 .. n] of integer; I:byte; p: comp; begin p:=1; for i:=1 to n do begin read a[i]; if (a[i]>0) and (a[i]<10) then p:=p*a[i]; end; writeln(p); end. Основные задачи на обработку массивов Обработка пар соседних чисел const n = 20; Var x:array [1 .. n] of integer; I,k: byte; begin for i:=1 to n do read (a[i]); for i:=1 to n-1 do If a[i]*a[i+1]>0 then k:=k+1; writeln(k); end. Основные задачи на обработку массивов Нахождение максимального (минимального) элементов массивав const n = 20; Var a:array [1 .. n] of integer; I,nomer: byte;max: integer; begin for i:=1 to n do read (a[i]); max:=a[1];nomer:=1; for i:=2 to n do If a[i]>max then begin max:=a[i]; nomer:=I; end; writeln(max, nomer); end.