Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Одномірні масиви. Сортування масивів



Мета роботи: знайомство із структурним типом даних. Отримання практичних навиків при роботі з одномірними масивами.

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

Теоретичні відомості:

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

Опис типу масиву задається в такий спосіб:

<ім'я_типу> = array [<сп. інд. типів> ] of <тип>

Тут <ім'я типу> – правильний ідентифікатор; array, of – зарезервовані слова (Eng.- масив, з); <сп. інд. типів> - список з одного або декількох індексних типів, розділених комами; квадратні дужки, що обрамляють список – вимоги синтаксису; <тип> - будь-який тип Pascal.

Наприклад:

Massiv: array [1..100] ofReal;

{одномірний масив із 100 елементів дійсного типу}

Розглянемо більш детально опис масиву:

Для звертання до елемента масиву в програмі вказується ім'я масиву й у квадратних дужках - індекс елемента.

Приклад:

А [2]

а) ввести значення: read (A[2]);

б) змінити значення: A[2]:=5;

в) повідомити значення: write (A[2]);

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

Program Primer4;

Var A: array [1..5] ofinteger;

i, j, min: integer;

Begin

Writeln (‘ Введіть 5 цілих чисел);

For i:=1 to 5 do

Read (A[i]);

min:=a[1];

For i:=1 to 5 do

if min > a[i] then

Begin

min:= a[i];

j:= i;

end;

Writeln (‘Мінімальний елемент масиву = ’, min, ‘його індекс = ’, j);

END.

Сортування масиву. Вирішити цю задачу можна, наприклад, за допомогою алгоритму сортування обміном. Спосіб полягає в тому, щоб послідовно переглядати масив, порівнюючи черговий його елемент із попереднім. При цьому, якщо черговий елемент виявляється більше попереднього, елементи міняються місцями і так до кінця масиву. Таким чином, в результаті першого перегляду найбільший елемент масиву виявиться переміщений на останнє місце.

Приклад: Дан масив із n елементів. Необхідно упорядкувати всі елементи по зростанню.

{Введення масиву}

……......

{Сортування масиву}

for i:=1 to n-1 do

for j:=i+1 to n do

Begin

if a[i]>a[j] then

begin

temp:=a[i];

a[i]:=a[j];

a[j]:=temp;

end;

end;

{Вивід масиву}

…………......

На наступному прикладі покажемо, як знайти кількість непарних елементів масиву. Поняття парності-непарності ставиться тільки до цілих чисел і визначається за допомогою функції mod (залишок від ділення). Так, якщо a mod 2 = 0, число а – парне, якщо ж a mod 2 <> 0 – непарне.

{Введення масиву}

……......

{Пошук кількості непарних елементів}

kvo:=0;

for i:=1 to n do

if a[i] mod 2 <> 0 then

kvo:=kvo+1;

{Вивід кількості непарних елементів масиву}

…………

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

{Введення масиву}

……......

{Знаходження суми елементів}

sum:=0; {змінна, в якій ми будемо накопичувати нашу суму}

for i:=1 to n do {звертаємось до всіх елементів масиву за допомогою циклу for }

sum:=sum+a[i];

{Вивід суми елементів масиву}

…………

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

1. У масиві Х(10) знайти добуток парних елементів.

2. У масиві А(12) знайти суму від'ємних елементів.

3. У масиві В(25) знайти кількість нульових елементів.

4. У масиві Z(18) знайти суму елементів, більші числа А (А ввести з клавіатури).

5. У масиві X(8) знайти суму непарних елементів.

6. У масиві Y(20) замінити від'ємні елементи числом 1000.

7. У масиві Z(25) знайти середнє арифметичне елементів масиву.

8. У масиві K(20) знайти суму парних елементів.

9. У масиві X(20) замінити від'ємні елементи їхніми модулями.

10. У масиві B(12) знайти кількість парних елементів.

11. У масиві K(24) знайти мінімальний елемент.

12. У масиві Y(14) знайти максимальний елемент


Контрольні питання:

1. Дайте визначення масиву.

2. Як описується масив у програмі?

3. Що таке розмірність масиву?

4. Як одержати доступ до певного елемента масиву?

5. Як у програмі організувати введення й вивід масиву?

6. Що таке індекс елементу?

7. Які операції дозволено над елементами масиву?






Дата публикования: 2015-11-01; Прочитано: 1071 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...