масиву?

Програма матиме вигляд:
programsum;
const n = 7;
var а: array [1..n] ofreal; s: real; і: integer;
begin
write (' вводьте елементи масиву – ');
write (n, ' дійсних чисел через пропуск ');
for і:= 1 to n do
read (a[i]);
s:=0;
for і:=1 to n do
s:= s + a [i];
writeln;
writeln(' сума елементів масиву s = ',s)
end.

Результати виконання цієї програми наведено в таблиці.
Вхідні дані: 3, -2, 7, 9, -1, 6, 1
і 1 2 3 4 5 6 7
а[і] 3 -2 7 9 -1 6 1
S 3 1 8 17 16 22 23

Пошук максимального та мінімального значень

Розкриємо ідею найпростішого способу знаходження максимального значення у масиві (мінімальне значення можна знайти аналогічним способом). Деякій змінній, скажімо, змінній шах, присвоюється значення першого елемента масиву. Після цього виконується цикл, що послідовно порівнює значення кожного елемента, починаючи з другого, із поточним значенням змінної max. Якщо значення елемента перевищує max, воно присвоюється змінній max. Отже, на кожній ітерації циклу у змінній max міститиметься найбільше значення з пройденої частини масиву, а по завершенні циклу змінна max зберігатиме максимальне значення в усьому масиві.

Під час пошуку найбільшого або найменшого елемента масиву може виникнути потреба у визначенні його індексу. Значення індексу, як правило, використовується при подальшій перестановці елементів масиву, їх видаленні тощо. Для розв'язання цієї задачі застосований у прикладі 7.3 алгоритм потрібно модифікувати. А саме, окрім змінної max (min) слід використати змінну, в якій зберігатимуться значення індексів. Припустимо, це буде змінна nom. Цій змінній спочатку присвоюється індекс першого елемента масиву, а в тілі циклу вона змінює значення тоді, коли і змінна max (min). Отже, змінній nom присвоюється значення індексу того елемента, який виявився більшим за поточне значення max (меншим за поточне значення min).

2. Знаходження найбільшого елемента масиву. У попередньому прикладі значення змінної s змінювались у процесі розв'язування задачі. Для відшукання найбільшого числа серед сукупності чисел потрібно послідовно переглядати і порівнювати між собою числа, записані в пам'яті. Уявімо, що кожне число написане на окремій картці і картки складені купкою. Перше число запам'ятаємо відразу як найбільше і перевернемо картку. Тепер у нашому розпорядженні є два числа: одне бачимо, друге — пам'ятаємо. По-рівнюючи їх між собою, запам'ятаємо більше, тобто якщо число, запам’ятовано раніше, більше, то запам'ятовувати нове число не треба, а необхідно дивитись наступну картку. Якщо друге число більше першого, перше далі пам'ятати не треба і запам'ятовуємо лише друге. Таким чином, на кожному етапі порівняння пам'ятатимемо більше з переглянутих чисел і наприкінці знайдемо найбільший елемент, тобто розв'яжемо поставлену задачу. Записавши цей алгоритм дій у вигляді відповідного набору операторів, дістанемо програму знаходження найбільшого значення. Проміжні значення шуканої величини і остаточний результат містить змінна max. Програма має вигляд:
program MAX;
const n=7;
var a: array [1..n] ofinteger; max, і: integer;
begin
for i:= 1 to n do
begin
write ('a[', i,']= ');
readIn (a[i]);
end;
max:= a[1];
for i:= 2 to n do
ifmax< a[i] thenmax:= a[i];
write ('найбільший елемент масиву max =', max)
end.

еред різноманіття задач опрацювання послідовностей мо­жна виділити, чотири основні типи задач опрацювання одновимірних масивів:

1. Задачі на змінювання значень елементів масиву.

2. Задачі на пошук в масиві елемента з заданою властивістю.

3. Задачі на знаходження суми елементів масиву.

4. Задачі упорядкування масивів.

Як правило, опрацювання елементів масиву виконується в циклах, де в якості індексавикрристовуєтьея лічильник циклу.

Класичні алгоритми при роботі з масивами

Алгоритм обчислення суми, добутку і кількості елементів масиву

Ввести позначення змінних:

S – сума значень елементів масиву;

D – добуток значень елементів масиву;

k – кількість елементів масиву.

Задати початкові значення змінних:

S:=0;

D:=1;

k:=1;

Цикл (шляхом перебору номерів елементів)

For i:=1 to N do

begin

S:=S+A[i];

D:=D*A[i];

k:=k+1;

end;

Алгоритми пошуку в таблицях елементів із деякою властивістю

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: