Одномерные массивы Массив - это упорядоченный набор однотипных элементов, с быстрым доступом по индексу. Индекс – это значение порядкового типа. Когда описываем массив, указываем границы индексов. Описание массива var Number: array [1..N] of byte; {массив Number из N элементов целого типа} var А:array [1..N] of integer; {массив А из N элементов целого типа} var T: array [0..12] of real; {массив Т из 13 элементов вещественного типа} var B: array [1..N] of char; {массив В из N элементов символьного типа} var slovo: array [0..5] of string; {массив slovo из 6 элементов строкового типа} Массив может быть одновременно объявлен и заполнен с помощью раздела описания констант. program Zadacha; const N: array [0..4] of integer =(2,6,13,0,1); var i:integer; begin Заполнение массива Заполнение одномерного массива возможно тремя способами: 1. С клавиатуры; 2. С помощью генератора случайных чисел; 3. По формуле. 1) с клавиатуры for i:=1 to n do begin writeln ('Введи', i , 'элемент'); readln (a[i]); end; 2) случайным образом randomize; for i:=1 to n do begin a[i]:=random (50); writeln a[i]; end; 3) по формуле for i:=1 to n do begin a[i]:= sqr (i); writeln a[i]; end; Функция получения случайных чисел из интервала [a, b] имеет вид random (b-a+1)+a Образец решения задачи: 1. Сформируйте и выведите на экран последовательность из n элементов, заданных датчиком случайных чисел на интервале [-23, 34]. Операторные скобки program Z1; const N=10; var a: array[0..N-1] of integer; i: integer; begin randomize; for i:=0 to n-1 do begin a[i]:= random (58)-23; writeln (a[i],' ' ); end; end. { заголовок программы} { раздел описания констант} { раздел описания переменных} { генератор случайных чисел} { присвоение элементу массива случайного значения} { вывод значения элемента массива} {окончание программы} Нахождение минимального (максимального) элемента массива max:=a[1]; {считаем, что первый элемент – максимальный,} imax:=1; {а номер максимального – индекс первого элемента} for i:=2 to n do {проверяем все остальные элементы массива, сравнивая попарно} if a[i] > max then {если находим новый максимальный элемент} begin max:=a[i]; imax:=i; {то, присваиваем его значение переменной max, а его индекс – imax} end; writeln ('Максимальный элемент ', max,' Его индекс ' , imax); readln; end. min:=a[1]; {считаем, что первый элемент – минимальный,} imin:=1; {а номер минимального – индекс первого элемента} for i:=2 to n do {проверяем все остальные элементы массива, сравнивая попарно} if a[i] < min then {если находим новый минимальный элемент} begin min:=a[i]; imin:=i; {то, присваиваем его значение переменной max, а его индекс – imax} end; writeln ('Минимальный элемент ', min,' Его индекс ' , imin); readln; end. Образец решения задачи: 2. Массив задан датчиком случайных чисел на интервале [-37, 66]. Найти максимальный элемент. Размер произвольный. program Zadacha2; const n=8; var b:array [1..n] of integer; i, max: integer; begin for i:= 1 to n do begin b[i]:= random (104)-37; writeln (b[i]); end; max:= b[i]; for i:=2 to n do if b[i] > max then max:= b[i]; writeln ('max=' , max); end. Нахождение суммы (произведения) элементов массива s:=0; for i:=1 to n do s:=s + a[i]; writeln ('Сумма ', s); p:=1; for i:=1 to n do p:=p * a[i]; writeln (‘Произведение’, p); Образец решения задачи: 3. Известно количество осадков, выпавших в январе. Определите среднемесячную температуру января и самый холодный день. program Zadacha3; const n=5; var t:array [1..n] of integer; i, s, min, imin: integer; x: real; begin for i:= 1 to n do begin writeln ('Введи температуру' , i , 'января'); readln (t[i]); end; s:=0; for i:= 1 to n do s:= s + t[i]; x:= s / n; min:= t[1]; imin:= 1; for i:=2 to n do if t[i] < min then begin min:= t[i]; imin:= i; end; writeln ('Среднемесячная температура = ' , x); writeln ('Самый холодный день ' , imin , ' января'); end.