Рис. 2.5 Блок-схема циклічного обчислювального процесу
Щоб отримати доступ до потрібної комірки, потрібно вказати ім'я масиву і його індекс. Індекс записується в круглих дужках після імені масиву.
Якщо потрібно привласнити, наприклад, значення 5 третього елементу масиву A, потрібно написати A (3)=5
При виконанні цього оператора буде знайдений масив A, відрахувавши третій осередок пам'яті і в неї присвоєно значення 5.
Індекс може бути змінної. Якщо потрібно всім п'яти елементів масиву A привласнити значення 5, можна написати
FOR I=1 TO 5 (I)=5I
Ім'я масиву утворюється так само як ім'я змінної. У QuickBASICе масиви можуть бути одномірні і двовимірні і т.д. У двовимірному масиві кожен елемент ідентифікується номером рядка та номером стовпця, на перетині яких він розташований. При записи елемента масиву індекс (індекси) записується в круглих дужках після імені масиву. Якщо індексів декілька, то вони розділяються комою. Масиви визначаються в операторі опису масивів DIM. У операторі DIM вказуються ім'я масиву і в круглих дужках верхні межі зміни індексів, які повинні бути цілими позитивними числами.
Наприклад, оператор DIM A (3), B (4,5) описує два числових масиву: A складається з трьох елементів і B містить 4 рядки і 5 стовпців.
Відповідно до оператором DIM в пам'яті ЕОМ виділяється місце для розміщення цих масивів. Так, для масиву A будуть виділені три осередки пам'яті, для масиву B - двадцять осередків. Під двовимірний масив виділяється лінійна ділянка пам'яті, в якому масив розташовується по рядках.
У QuickBASICе обробка масивів, а також введення - виведення масивів здійснюється поелементно.
Наприклад, введення одновимірного масиву A , що містить 10 елементів, можна здійснити за допомогою операторів
DIM A (10) I=1 TO 10
INPUT A (I) I
Введення двовимірного масиву B (4,5) можна здійснити за допомогою операторів
DIM B (4,5) I=1 TO 4J=1 TO 5B (I, J)
NEXT JI
Введення двовимірного масиву в наведеній програмі здійснюється по рядках.
Висновок двовимірних масивів для підвищення наочності рекомендується здійснювати по рядках, починаючи висновок кожної нової рядки масиву в новий рядок екрана. Наприклад, висновок масиву B (4,5) можна здійснити за допомогою операторів
B (4,5)
........I=1 TO 4J=1 TO 5B (I, J); J: PRINT
NEXT I: PRINT
........
Приклад 7
Дано два масиви x i і y i (i=1,10). Скласти програму для обчислення
uickBASIC - програма для прикладу 7 (блок - схему програми на обробку масивів див. на рис. 2.6):
REM LR - 4-1, m=13, n=5X (10), Y (10) M, N raquo ;; M, N8.12, - 3.54, 7.73, - 0.37, - 76.8, 99, 54.87, 1.61, 58.3, 9.747.46, 63.74, - 5.83, 7.66, - 33.8, 3.99, 154.7, 31.22, - 9.33, 21.12I =1 TO 10X (I) II=1 TO 10Y (I) I=0I=1 TO 10=S + X (I) ^ 2-N * Y (I) I=M * S T= raquo ;; T
END
Рис. 2.6 Блок-схема програми на обробку масивів
Приклад 8
Знайти суму елементів кожного рядка масиву C (4,5) .uickBASIC - програма для прикладу 8 (див. блок - схему циклічного обчислювального процесу із застосуванням двовимірного масиву на рис. 2.7):
REM LR - 4-2, m=13, n=5C (4,5), S (4) 2, 4, 6, 8, 10-1, - 3.4, - 6, 7, 9-2, - 4, 6, - 8, - 101, 3, 5.1, 12, 15I=1 TO 4J=1 TO 5C (I, J) J, II=1 TO 4 (I)=0J= 1 TO 5 (I)=S (I) + C (I, J) JS (I); I: PRINT
Використання операторів OPEN, CLOSE, INPUT # і PRINT #.
Оператор OPEN п озволяет відкривати файли для читання і запису. Загальний вигляд:
OPEN File.name FOR {режим} AS {номер}
File.name - ім'я файлу
режим - спосіб доступу до файлу
номер - ціле число 1-255, яке потім використовується, щоб визначити потрібний файл для запису/читання.
Режими: - послідовна запис у файл, починаючи з кінця файлу, тобто додаток;