![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Мета роботи: знайомство із структурним типом даних. Отримання практичних навиків при роботі з одномірними масивами.
Постановка задачі: розробити алгоритм рішення завдання за заданим варіантом, скласти програму мовою 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!