МАССИВЫ Массив Упорядоченная последовательность фиксированного количества данных одного типа, объединенных под одним именем. Отдельная переменная, входящая в массив. Размерность массива Число индексов, необходимых для идентификации отдельного элемента. Индекс элемента массива Номер элемента в массиве. Элемент массива - ОДНОМЕРНЫЕ МАССИВЫ А(1) А(2) А(3) А(4) В общем виде: А(i) А – имя массива i - номер элемента в массиве <имя массива>: array [<количество>] of <тип>; Примеры: Массивы, состоящие из 100 элементов c: array [1..100] of real; b: array [1..100] of integer; Описание массива ВВОД / ВЫВОД значений элементов массива 1. Заполнение элементов массива с клавиатуры, вывод в столбик. Program klav; var a: array [1..10] of real; i: integer; Begin for i:=1 to 10 do begin writeln(‘ввести’,i,’ элемент массива’); readln (a[i]); writeln(‘A(‘, i ,’)=‘, a[i]); end; readln; end. ВВОД / ВЫВОД значений элементов массива 2. Заполнение элементов массива по формуле. Program formula; var a: array [1..10] of real; i: integer; Begin for i:=1 to 10 do begin a[i]:=(i*i+1)/sin(i); writeln(‘A(‘, i ,’)=‘, a[i]); end; readln; end. ВВОД / ВЫВОД значений элементов массива 3. Заполнение элементов массива случайными числами. Program nebo; var a: array [1..10] of integer; i: integer; Begin randomize; for i:=1 to 10 do begin a[i]:=random(30); writeln(‘A(‘, i ,’)=‘, a[i]); end; readln; end. Заполнение элементов массива случайными числами из заданного интервала Дан интервал [А, В] Формула: RANDOM (B-A)+A 0 а Примеры: random(60)-20 случайные числа от -20 до 40 random(10)+70 случайные числа от 70 до 80 b Типовые задачи на одномерные массивы Нахождение количеств. Нахождение суммы. Нахождение экстремумов. Поменять местами значения элементов. 5. Формирование нового массива из элементов старого массива. 6. Сортировка массива по возрастанию. 7. Вставка элементов в заданный массив. 1. 2. 3. 4. Дан массив А, состоящий из 10 элементов, значения которого вводятся с клавиатуры. Подсчитать сколько элементов массива имеют значения меньшие некоторой величины t. Нахождение количеств. Дан массив А, состоящий из 10 элементов, значения которого вводятся с клавиатуры. Найти сумму значений элементов массива, больших некоторой величины t. Нахождение суммы. Нахождение суммы. Program Summa; Var A: Array [1..10] of Real; Var i, t : Integer; S : Real; BEGIN Write('Введите t = '); ReadLn(t); {ввод значения t} For i := 1 to 10 dо begin Write('A [ ', i , ' ] = '); ReadLn(A[i]) {ввод элементов массива} end; S := 0; {присваивание начального значения} For i := 1 to 10 do begin If A[i]>t then S := S+A[i]; end; WriteLn('Сумма равна ', S : 5 : 1); ReadLn; END. Дан массив А(30), заполненный датчиком случайных чисел из интервала [5,20]. Найти максимальный элемент массива. Нахождение экстремумов. Найти максимальный элемент массива. Program MaxElem; Var A : Array [1..30] of Integer; Var i, k, max : Integer; BEGIN Randomize; For i := 1 to 30 do begin A[i]:=random(15)+5; end; max := A[1]; k:=1; {Поиск максимального элемента} For i := 2 to 30 do begin If A[i] > max then begin max := A[i]; k := i end; end; WriteLn('Наибольший элемент' , k , '-й'); WriteLn('Его значение ', max : 5 : 1); ReadLn; END.