Обработка массивов
При назначении размера массива необходимо проанализировать возможный объем данных и ввести возможное количество элементов массива. Необходимо помнить, что при назначении размера массива, компьютер резервирует память под этот массив. Поэтому, не стоит назначать массив больше, чем он может понадобится.
Два способа управления размером массива program M_1; Uses crt;Const N=10;Var T :array[1..N] of real; i :integer;Begin Writeln(‘Введите значения температуры :’); For i:=1 to N do begin Write(i,’ –ый’); Readln(T[i]); end;…….. program M_2; Uses crt;Var T :array[1..365] of integer; i,N : integer;Begin Write(‘Введите кол-во дней ’); Readln (N); Randomize; For i:=1 to N do begin T[i] := -10 + Random(21); Writeln(T[i] :5); end; …….
Обработка массива: 1. Сложение элементов массива . 2. Поиск элементов по заданному признаку. 3. Поиск максимального (минимального) элементов. 4. Сортировка элементов массива .
1. Сложение элементов массива Пример M_O_1: Определение средней температуры за 10 дней Для заполнения массива можно использовать пример M_2, добавив в описание переменных S и Sr. Тогда основная часть задачи имеет следующий вид: S:=0;For i:=1 to N do begin S:=S+T[i]; end;Sr:=S/N; Writeln(‘Sr = ',Sr);End. Задание 1. Наберите программу, запустите на выполнение 3 раза, запишите результаты. Задание 1_2*. Измените программу так, чтобы обрабатывались ячейки только с четными номерами. (формула четного индекса i:=k*2)
2 Поиск элементов по заданному признаку. Пример M_O_2: Массив, заполнен случайными числами из диапазона от -2 до 2, количество элементов массива 10. Определите количество элементов массива, значения которых меньших 0. Для описания и заполнения массива используем способ №3 program M_O_2; uses crt;Const N=10;Var A:array[1..N] of real; k,i: integer;Begin Randomize; For i:=1 to N do begin A[i] := (-20 + Random(51))/10; Writeln(A[i] :5:1); end; Алгоритм и программу обработки массива рассмотрим долее
{продолжение программы}k:=0;For i:=1 to N do begin if A[i] < 0 then k:=k+1; end;Write(‘Результат обработки’);If k=0 then Writeln(‘Отрицательных значений нет’) else Writeln(I,’ значений
Задание 1: Используя пример M_O_2, напишите программу определения количества и суммы положительных элементов массива. (M_О_21) Задание 2: Используя пример Generator 2, напишите программу вычисления среднего балла, определите сколько учеников имеют оценки выше среднего балла, распечатайте их фамилии и оценки. (Generator 3 )
Подведем итогиМы Рассмотрели два вида обработки массива:Сложение элементов.Поиск элементов по заданному признаку.