Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samost_pascal_delphi_2012.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.33 Mб
Скачать

Обробка масиву

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

Дії з одновимірними масивами

Умовимося, що у векторі а міститься n елементів.

  1. Обчислення суми елементів:

s:=0;

for i:=1 to n do s:=s+a[i]; { звичайне накопичення суми в s }

  1. Обчислення добутку елементів:

s:=1;

for i:=1 to n do s:=s*a[i]; { накопичення добутку в s }

  1. Підрахунок кількості елементів, що задовольняють якій-небудь умові. Наприклад, підрахунок кількості парних чисел в цілочисельному масиві:

k:=0;

for i:=1 to n do

if а[i] mod 2=0 then k:=k+1; { збільшуємо на 1 лічильник парних чисел, якщо число ділиться на 2 }

  1. Перестановки елементів в масиві

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

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

buf:=a[l]; а[l]:=a[2]; а[2]:=buf;

Задача 19:

Пошук максимального елементу масиву і його номера. Програма, яка формує одновимірний масив випадкових чисел, виконує пошук максимального елементу масиву, а потім виводить на екран його значення і порядковий номер в масиві.

Const сount=10;

Var m: array [1..count] of byte;

Max,i,numer_max: byte;

{ формування масиву випадковою функцією random(count*2) виведення масиву на екран}

randomize; { ініціалізація датчика випадкових чисел }

for i:=1 to count do

begin

m[i]:= random (count*2)+1;

write(m’[i] ');

end;

writeln;

max:= m[1]; { починаємо з першого елементу }

numer_max:=1;

for i:=2 to count do { перевірити всі елементи, починаючи з другого }

begin

if m[i]>max then { якщо черговий елемент масиву більше мах }

begin

{ то привласнити його значення max } max:=m [i];

{ і запам'ятати його порядковий номер } numer_max:=i;

end;

end;

write('Максимальний елемент ', max);

writeln(' розташований на ', numer_max,' місці');

end.

Завдання 10:

  1. Модифікуйте задачу, щоб знайти мінімальне число і поміняти його з останнім елементом.

  2. Модифікуйте задачу, щоб знайти суму і добуток мінімальне число і максимального числа.

Питання для самоконтролю.

  1. Що таке масив?

  2. Які бувають масиви?

  3. Які способи опису масивів ви знаєте?

  4. Опис меж.

  5. Для чого і як використовується функція Random?

  6. Характеристики масиву.

  7. Що позначає розмірність масиву?

  8. Чи визначена єдина команда присвоєння над масивами?

  9. Як здійснюється доступ до елементів масиву?

  10. Який найбільш зручний цикл використовується для заповнення масиву?

  11. Виведення масиву.

  12. Заповнення масиву даними.

  13. Виведення матриць в стандартній формі.

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