Мета :
1. Отримати навики розробки програм по роботі з елементами масиву;
2. Познайомитися із способами пошуку елементів із заданими властивостями;
3. Практична робота з масивами на комп'ютері.
Послідовний пошук— елементи масиву є видимими послідовно один за іншим, при цьому проводиться перевірка відповідності елемента заданій властивості.

Є n цілих чисел. Необхідно знайти число (елемент), значення якого рівно К.Якщотакий елемент в послідовності є, то вказати його порядковий номер.
program zadacha5_1;
var
к,i,n,p:integer;
а:array[1..30] integer; {опис масиву}
Begin
Write('Кіл. елем. масива');
readln(n);
for i:=1 to n do
begin
write('Введіть а[',i,']'); {Введення елементів масиву}
readln (а[i]);
end;
writeln('Введений массив');
for i:=1 to n do {Висновок ел. масиву}
write (а[i],’ ’);
writeln;
write('Введіть К');
readln(k);
p:=0;
for i:=1 to n do {Знаходження суми}
if а[i]=k then p:=i;
if p=0
then writeln('елемента в табліці немає')
else writeln('елемент знайдений, індекс =',p)
End.
В даній задачі у разі наявності в таблиці декількох елементів, рівних До буде виданий найбільший індекс. Для пошуку першого такого елемента в таблиці використовують цикл:
1 4 9 6 7 13 19 12 5 8
k = 19 ; k = 3
1 4 6 7 8 8 8 4 5 4 k = 8
| |
i:=1;
While (i<=n) and (а[i]<>k) do
i:=i+1;
Вирішимо задачу пошуку найбільшого елементав таблиці А з N дійсних чисел. Знайти максимум і індекс цього елемента.
1 4 9 6 7 13 19 12 5 8
1 4 6 7 8 8 8 4 5 4
k = 8
| |
program zadacha5_2;
var а: array[1..30] real;
max: real;
n, j, I : integer;
Begin
Write('Кіл. елем. массива'); readln(n);
{Введення елементів масиву}
{Введення елементів масиву}
max:=a[1]; j:=1;
for i:=2 to n do {Пошук максимуму}
if max<a[i] then
begin
max:=a[i];
j:=i;
end;
writeln;
writeln('Макс. елемент масиву =', max );
writeln('Індекс макс. елемента =', j );
End.
Алгоритм:
1. Умовно вважаємо перший елемент найбільшим (максимальним). Запам'ятовуємо його значення (а[1]) і його індекс (=1).
2. Порівнюємо значення максимального з черговим елементом таблиці (i), починаючи з другим елементом і до останнього.
3. При знаходженні елемента з великим значенням міняємо значення максимального на знайдений елемент і запам'ятовуємо його індекс.
4. За наявності в таблиці декількох мінімальних і за умови max<a[i] буде знайдений максимальний елемент з якнайменшим індексом (що перший зустрівся в таблиці), а якщо умова буде max<=a[i], то - з великим індексом.
Завдання для самостійної роботи:
1. Є цілочисельний масив, що складається з 15 елементів. Знайти мінімальний елемент і його індекс.
2. В масиві зберігається інформація про кількість опадів (цілі числа), випавших за кожний день минулого тижня. Вивести номери днів, коли опадів не було.
3. Даний масив цілих чисел з n елементів. Знайти і вивести номери елементів, що закінчуються цифрою 0.
4. Зростання N учнів класу представлено у вигляді масиву. Знайти кількість учнів, зростання яких не перевищує значення R.
5. В масиві записані результати N ігор футбольної команди (якщо гра закінчилася виграшем даної команди, то записано число 3, програшем - число 2, внічию - 1). Визначити кількість виграшів, програшів, нічиїх.
6. В масиві зберігається інформація про зростання N людина. Визначити, на скільки зростання найвищої людини перевищує зростання найнижчого.
7. В масиві зберігається інформація про вартість 1 кг N видів цукерок. Визначити порядковий номер найдешевшого виду цукерок. Якщо таких дещо, то повинен бути знайдений індекс:
А) першого з них;
Б) останнього з них.
8. В масиві зберігається інформація про вартість кожної з M книг. Визначити кількість найдешевших книг (з однаковою мінімальною ціною).