Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3017_1.doc
Скачиваний:
9
Добавлен:
16.05.2015
Размер:
467.97 Кб
Скачать

Завдання для самостійної роботи:

  1. Є цілочисельний масив n*m елементів. Знайти номер рядка з мінімальною сумою модулів елементів.

  2. Є цілочисельний масив n*m елементів. Знайти

індекси максимального елемента таблиці і значення

максимуму.

  1. Є цілочисельний масив n*m елементів.

Яких елементів в масиві більше негативних або позитивних?

  1. Є цілочисельний масив n*m елементів. Повідомити чи є в таблиці негативні елементи.

  2. Є цілочисельний масив n*m елементів. Знайти середнє

арифметичне елементів масиву. Визначити і вивести

кількість елементів масиву, значення яких перевищує

це середнє значення.

Вивчаємо “Масиви”

Тема уроку:

Пошук в масиві елементів із заданими властивостями. Пошук максимального (мінімального) елемента.

Мета заняття:

  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.

В даній задачі у разі наявності в таблиці декількох елементів, рівних До буде виданий найбільший індекс. Для пошуку першого такого елемента в таблиці використовують цикл:

i

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

:=1;

While (i<=n) and (а[i]<>k) do

i:=i+1;

Вирішимо задачу пошуку найбільшого елемента в таблиці А з N дійсних чисел. Знайти максимум і індекс цього елемента.

p

1 4 9 6 7 13 19 12 5 8

1 4 6 7 8 8 8 4 5 4

k = 8

rogram 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], то - з великим індексом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]