1 Програмування на Basic Масиви
2 Масиви Масив - це набір однотипних даних (чисел, символів, слів), які зберігаються в одному місці пам'яті комп'ютера в упорядкованих за номерами осередках. Масив має: - Ім'я - Тип (% - цілочисельний, $ - символьний, без знака - речовинний) - Розмірність - кількість елементів - Індекс - номер елемента Кожен елемент масиву в загальному вигляді описується як В (I), де В - ім'я масиву I - номер або індекс елемента масиву
3 Масивом називається впорядкована сукупність однорідних величин, позначених кожна одним і тим же ім'ям з різними цілочисельними індексами, що змінюються по порядку. Масив - це набір однорідних даних (чисел, символів, слів). Основні визначення Одновимірна масив Двовимірний масив Тривимірний масив
5 Одновимірна масив Одновимірна масив можна розглядати як список однотипних елементів. Наприклад, список прізвищ студентів групи - одновимірний масив, чисельні дані про середню температуру за місяць - одновимірний масив, літери російського алфавіту - одновимірний масив. У Бейсике елементи масиву розташовуються в послідовних комірках пам'яті. Це означає, що масив займає безперервну область пам'яті. Перш ніж ми зможемо звертатися до масиву з програми, треба вказати, скільки пам'яті необхідно для розміщення масиву. Всьому масиву, визначається об'ємом пам'яті, які вони займають одним елементом масиву помноженим на число елементів в масиві. Тому потрібно вказати максимальне число елементів масиву. У Бейсике фірми Microsoft опис розміру масиву робиться за допомогою оператора DIM, який має наступний синтаксис: DIM ім'я масиву (максимальне число елементів масиву) Наприклад: DIM S (5) S ім'я масиву, 5 максимальне число елементів масиву, DIM M (25) M ім'я масиву, 25- максимальне число елементів масиву.
6 1 спосіб (заповнення масиву за допомогою оператора присвоювання) Присвоєння значень елементам масиву CLS 10 DIM S (5) в цьому рядку оголошений масив з ім'ям S і п'ятьма елементами 11 S (1) = 53 12 S (2) = 31 13 S ( 3) = - 32 в цих рядках елементів масиву привласнюються значення 14 S (4) = 44 15 S (5) = PRINT "S (1) одно"; S (5) 17 PRINT "S (2) одно"; S (4) 18 PRINT "S (3) одно"; S (3) в цих рядках на екран послідовно 19 PRINT "S (4) дорівнює"; S (2) виводяться значення елементів масиву 20 PRINT "S (5) дорівнює"; S (1) Результати роботи цієї програми будуть виглядати так:
7 2 спосіб (заповнення масиву за допомогою оператора введення Присвоєння значень елементам масиву CLS INPUT Введіть кількість елементів масиву; N DIM A (N) FOR I = 1 TO N PRINT Введіть; i; елемент масиву INPUT A (I) NEXT I FOR I = 1 TO N PRINT A (I) NEXT I Результати роботи програми для 3-х елементів будуть виглядати так: Введіть 1 елемент масиву. 23 Введіть 2 елемент масиву. -54 Введіть 3 елемент масиву.
8 3 спосіб (заповнення масиву за допомогою оператора DATA) Присвоєння значень елементам масиву CLS DATA 23, 13, 98, -8, 7 DIM M (5) FOR I = 1 TO 5 READ M (I) PRINT M (I) NEXT I результати роботи цієї програми будуть виглядати так:
9 4 спосіб (заповнення масиву за допомогою генератора випадкових чисел) Присвоєння значень елементам масиву DIM S (IOO) FOR i = 1 ТО 100 S (i) = 1 + INT (1000 * RND) NEXT i
10 Перед тим як почати працювати з масивом, потрібно зарезервувати для нього місце в пам'яті. Для цього є оператор DIM (від англійського слова dimention -об'ём, величина, розмір, виміряти) Приклад. DIM А (10) Зазвичай кажуть, що зарезервовано місце під 10 елементів масиву А, однак справді резервується 11, тому що нумерація осередків починається з 0. Але так як нам звичніше починати рахувати з 1, то перша ( «нульова») осередок просто-напросто не використовується. Способи заповнення одновимірних масивів Безпосереднє З клавіатури Заздалегідь відомими За допомогою присвоювання значеннями стандартних функцій значень елементам DIM D (3) INPUT N =, N DATA 23, -13, 9.8, 77, 45 RANDOMIZE TIMER D (1) = 12.6 DIM M (N ) DIM M (5) INPUT «N =»; ND (2) = 5.96 FOR I = 1 TO N FOR I = 1 TO 5 DIM M (N) D (3) = 98 INPUT M (I) READ M (I) FOR I = 1 TO N NEXT I NEXT IM ( I) = INT (RND (1) * 100) NEXT I Підіб'ємо підсумок
11 Завдання 1. Підрахуйте твір елементів масиву. 2. Обчисліть значення функції Y = X * X для X = 2,4,6,8. 36 і розмістіть їх в одновимірному масиві Y. 3. Змініть порядок значень елементів масиву на зворотний. 4. "Стисніть" числовий масив, викинувши з нього негативні числа. 5. Заданий масив і деяке число. Знайти, на якому місці розташовано число в масиві. 6. Надрукуйте першу сотню простих чисел. 7. Поверніть квадратний масив на 90, 180, 270 градусів за годинниковою стрілкою. 8. З'ясуйте, чи є однакові числа в одновимірному масиві, в двовимірному масиві. 9. Підрахуйте кількість унікальних чисел в масиві. 10. Заданий масив чисел. Замініть кожне число сумою попередніх: а) включає заменяемое; б) виключаючи заменяемое.
12 Завдання 11. Задано одновимірний масив з 10 елементів. Збільшити позитивні числа в 3 рази, зменшити негативні в 2 рази. 12. Заданий масив з N елементів. Визначити максимальний елемент. 13. Визначити суму елементів з парним індексом. 14. Визначити y, якщо x = x1, x2, x3. x10: y = 2 * x2-4 * x + sin2x 15. Задані два одновимірних масиву. Надрукувати всі елементи масивів, отриманих шляхом підсумовування і віднімання елементів вихідних масивів з однаковими індексами. 16. Заповнити цю таблицю елементами, значення яких дорівнюють їх подвоєному порядковому номеру. 17. Скласти програму заміни негативних елементів таблиці їх квадратами. 18. Написати програму подвоєння кожного елемента одновимірного масиву. 19. Написати програму перепису елементів одного одновимірного масиву в інший. 20. Дана целочисленная таблиця. Змінити всі елементи цієї таблиці на протилежні за знаком.
13 Завдання 21. Знайти заданий елемент в одновимірному масиві. Надрукувати індекс знайденого елементу. 22. Написати програму для визначення скільки раз число 10 зустрічається серед елементів одновимірного масиву. 23. Знайдіть кількість елементів цієї таблиці, великих середнього арифметичного всіх її елементів. 24. Знайти найменший елемент одновимірного масиву. 25. Знайти найбільший елемент одновимірного масиву. 26. Знайти найменший елемент двовимірного масиву. 27. Знайти найбільший елемент двовимірного масиву.
14 1. Підрахуйте твір елементів масиву. INPUT розмір масиву; N DIM S (N) P = 1 FOR i = 1 ТО NS (i) = INT (RND (1) * 10) P = P * S (i) NEXT i PRINT Масив FOR i = 1 ТО N PRINT S (i); NEXT I PRINT Твір елементів; P END
15 2. Обчисліть значення функції Y = X * X для X = 2,4,6,8. 36 і розмістіть їх в одновимірному масиві Y. DIM Y (18) FOR x = 2 ТО 36 STEP 2 i = x / 2 Y (i) = X * X NEXT x PRINT Масив FOR i = 1 ТО 18 PRINT Y (i) ; NEXT I END
16 3. Змініть порядок значень елементів масиву на зворотний.
17 4. "Стисніть" числовий масив, викинувши з нього негативні числа. INPUT розмір масиву; N DIM A (N) K = 0 FOR i = 1 TO N PRINT введіть; i; елемент масиву INPUT A (i) IF A (i)
18 5. Заданий масив і деяке число. Знайти, на якому місці розташовано число в масиві. INPUT число; C INPUT розмір масиву; N DIM A (N) PRINT масив FOR i = 1 TO N A (i) = INT (RND (1) * 100) IF A (i) = C THEN K = I PRINT A (i); NEXT i PRINT елемент масиву дорівнює числу; С; розташований на; K; місці
19 6. Надрукуйте першу сотню простих чисел. DIM A (100)
20 7. Поверніть квадратний масив на 90, 180, 270 градусів за годинниковою стрілкою.
21 8. З'ясуйте, чи є однакові числа в одновимірному масиві, в двовимірному масиві.
22 9. Підрахуйте кількість унікальних чисел в масиві.
23 10. Заданий масив чисел. Замініть кожне число сумою попередніх: а) включає заменяемое; б) виключаючи заменяемое.
24 14. Визначити y, якщо x = x1, x2, x3. x10: y = 2 * x2-4 * x + sin2x DIM X (10), Y (10) FOR i = 1 TO 10 X (i) = INT (RND (1) * 10) Y (i) = 2 * X (i) ^ 2-4 * X (i) + SIN (X (i)) ^ 2? X (i); Y (i) NEXT i END
25 17. Скласти програму заміни негативних елементів таблиці їх квадратами. INPUT N, M DIM A (N, M) FOR i = 1 TO N FOR j = 1 TO MA (i, j) = INT (RND (1) * 10) * (- 1) ^ (INT (RND (1 ) * 10)? A (i, j); IF A (i, j)
26 18. Написати програму подвоєння кожного елемента одновимірного масиву. INPUT розмір масиву; N DIM A (N) PRINT масив; подвоєний масив FOR i = 1 TO N A (i) = INT (RND (1) * 100) PRINT A (i), A (i) * 2 NEXT i
27 22. Написати програму для визначення скільки раз число 10 зустрічається серед елементів одновимірного масиву. INPUT розмір масиву; N DIM A (N) K = 0 FOR i = 1 TO N A (i) = INT (RND (1) * 100) IF A (i) = 10 THEN K = K + 1 PRINT A (i); NEXT I PRINT кількість елементів рівних 10; K END
28 24. Знайти найменший елемент одновимірного масиву. INPUT N DIM A (N) FOR i = 1 TO N A (i) = INT (RND (1) * 10) NEXT i K = 1 MIN = A (1) FOR i = 2 TO N IF A (i)
29