Алгоритм поиска минимального (максимального) элемента в неупорядоченном массиве довольно очевиден: делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива последовательно сравниваются с этим элементом. Если во время очередной проверки обнаруживается, что проверяемый элемент меньше (больше) принятого за минимальный (максимальный), то этот элемент принимается за минимальный (максимальный) и продолжается проверка оставшихся элементов.
Пример программы поиска минимального элемента в массиве целых чисел.
program Primer;
const n=10;
var a: array [1..n] of integer;
min,i:integer;
Begin
{инструкция ввода массива}
min:=1;
for i:=2 to n do
if a[i]<a[min] then min:=i;
writeln(‘минимальный элемент массива’,a[min],’, номер элемента’,min);
end.
Пример.
Задание: Дан массив целых чисел. Найти сумму элементов массива, которые делятся на 5 нацело.
Алгоритм решения задачи:
1. Попросить пользователя ввести с клавиатуры 5 чисел и записать их в массив A.
2. Присвоить переменной S значение ноль (сумма элементов, которые делятся на 5).
|
|
3. Просматривая массив, найти элементы, которые делятся на 5, т.е. при делении элемента массива на 5 остаток от деления должен равняться нулю и значение этих элементов накапливать в переменной S.
4. Вывести сумму на экран.
Блок-схема программы приведена на рисунке И.3.
Рисунок И.3 – Алгоритм программы
Листинг программы:
program Primer;
var A: array [1..10] of integer;
i,S:integer;
Begin
writeln(‘Введите 10 элементов массива’);
for i:=1 to 10 do readln(A[i]);
S:=0;
for i:=1 to 10 do
if A[i] mod 5=0 then S:=S+A[i];
writeln(‘Сумма элементов массива, которые делятся на 5 равна’,S);
end.
Приложение К
(информационное)