1. Поиск элементов с заданными свойствами
1.1. Определить, есть ли хотя бы один элемент, удовлетворяющий условию
1.1.1. Program Primer9 1; Const h: array[1..12] of integer= (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); Var i, k: integer; Begin k:=0; {Начальное значение k} for i:=l to 12 do {Просмотр массива} if h[i] = 172 then k:=i; if k>0 then writeln('Номер ученика по списку =',k) {Вывод} else writeln('Ученика с таким ростом нет'); End.
1.2. Найти номер по списку (индекс) элемента или сам элемент
1.2.1. Program Primer9_2; Const h: array[1..12] of integer = (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); Var i: integer; Begin for i:=l to 12 do {Просмотр массива} if h[i]>170 then writeln ('Ученик под номером ', i, ' с ростом ', a[i]) ; End.
1.3. Определить количество элементов, удовлетворяющий условию
1.3.1. Program Primer9_3; Const h: array[1..12] of integer = (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); Var i, k: integer; Begin k:=0; {Начальное значение k} for i:=l to 12 do {Просмотр массива} if h[i]>170 then k:=k+l; {Подсчет k} writeln ('Таких учеников ', k) ; End.
1.4. Найти максимальный (минимальный) элемент
1.4.1. Program Primer9_4; Var A: array[1..7] of integer; max, k, i: integer; Begin for i:=1 to 7 do A[i] : = random(51) ; {Формирование массива} max:=A[1]; k:=1; {Начальные значения max и k} for i:=2 to 7 do {Просмотр массива} if A[i]>max then {Условие поиска максимума} begin max:=A[i]; k:=i; {Присвоение значений max и k} end; writeln('Максимальный элемент A[', k, '] = ', max); {Вывод максимума} for i:=l to 7 do write (a [i] : 4) ; {Вывод всех чисел} End.
2. Арифметические действия над элементами массива
2.1. Сумма элементов массива
2.1.1. S:=0; {начальное значение суммы} for i:=m to n do S:=S+A[i]; {вычисление суммы} writeln('сумма элементов = ',S); {вывод суммы}
2.2. Произведение элементов массива
2.2.1. P:=1; {начальное значение произведения} for i:=m to n do P:= P * A[i]; {вычисление произведения} writeln('произведение элементов = ',P); {вывод произведения}
2.3. Вычисление среднего значения
2.3.1. S:=0; {начальное значения суммы} for i:=m to n do S:=S+A[i]; {вычисление суммы баллов} Sred:=S/k; {вычисление среднего значения Sred :real !!!} writeln('среднее значение = ', Sred:4:2); {форматированный вывод}
2.4. Сумма положительных чисел
2.4.1. S:=0; for i:=m to n do if A[i]>0 then S:=S+A[i]; {вычисление суммы положительных чисел} writeln('сумма положительных чисел = ',S); {вывод суммы}
2.5. Чтобы вычислялась сумма чисел, кратных N
2.5.1. Различия состоят в условиях вычисления суммы, например, if A[i] mod 2 = 0 then… {четные числа} if A[i] mod 2 = 1 then… {нечетные числа} if A[i] mod N = 0 then…{числа, кратные N}……
3. Преобразование элементов массива
3.1. Изменение элементов массива в зависимости от условий
3.1.1. положительные элементы увеличить в 2 раза, а отрицательные — заменить квадратом индекса
3.1.1.1. for var i := 1 to n do begin if a[i] > 0 then a[i] := a[i] * 2; if a[i] < 0 then a[i] := i * i; end;
3.2. Обмен местами элементов массива
3.2.1. buf := a[i]; a[i] := a[k]; a[k] := buf;
3.3. Удаление элемента из массива
3.3.1. for var i := k + 1 to n do a[i-1] := a[i]; n := n - 1;
3.4. Вставка элемента в массив
3.4.1. for var i:= n downto k do a[i+1] := a[i]; //вставка x на место k a[k] := x; n := n + 1;