Масиви в мовах Pascal і Basic - Програмування та комп-ри

Міністерство освіти РФ

Середня школа №4

Тема: «Масиви в мовах Pascal та Basic»

учениця 10 «А» класу

З поняттям "масив" доводиться стикатися при вирішенні науково-технічних

та економічних завдань обробки сукупностей великої кількості значень.

Масив - це безліч однотипних елементів, об'єднаних загальним

ім'ям і тих, хто займає в комп'ютері певну область пам'яті.

Кількість елементів у масиві завжди звісно.

У загальному випадку масив - це структурований тип даних, що складається

щий з фіксованого числа елементів, що мають один і той же тип.

Назву регулярний тип (або ряди) масиви отримали за те, що в

них об'єднані однотипні (логічно однорідні) елементи, упор-

дочені (врегульовані) за індексами, що визначають положення

кожного елемента у масиві.

Як елементи масиву можна використовувати будь-який тип даних.

них, тому цілком правомірне існування масивів записів,

масивів покажчиків, масивів рядків, масивів масивів тощо.

Елементами масиву можуть бути дані будь-якого типу, включаючи струк-

Тип елементів масиву називається базовим. Особливістю мови

Паскаль є те, що кількість елементів масиву фіксується при

описі та у процесі виконання програми не змінюється.

Елементи, що утворюють масив, упорядковані таким чином, що кож-

будинку елементу відповідає сукупність номерів (індексів), оп-

ределяющих його місцезнаходження в загальній послідовності. Доступ

до кожного окремого елемента здійснюється шляхом індексування

елементів масиву. Індексиє виразами будь-якого

скалярного типу (частіше цілого), крім речового.

Тип індексу визначає межі зміни значень індексу. Для

опис масиву призначено словосполучення array of (масив з).

Масивом називається сукупність даних, що виконують аналогічні

функції, що позначається одним ім'ям. Якщо за кожним елементом

масиву закріплений тільки один його порядковий номер, такий мас-

Сив називається лінійним, або одновимірним.

Масив у Бейсику

Описувати масив DIM A(N) - це означає надати

вільних осередків у пам'яті ЕОМ для масиву з ім'ям А.

Якщо опис масиву відсутній, то під одномірний

масив виділяється 10 осередків пам'яті.

Кожен елемент масиву у вигляді описується як А(I), де

I - номер або індекс масиву (0: = array of;

Кожен елемент масиву у вигляді описується як А[I], де

I - номер чи індекс масиву (0В True, якщо хоча б одне значення елемента масиву А

не дорівнює значенню відповідного елемента масиву

А:=В Всі значення елементів масиву присвоюються соответ-

ним елементам масиву А. Значення елементів

масиву залишаються незмінні.

Дії над елементами масиву

вказавши ідентифікатор (ім'я) масиву та індекс елемента у квадратних

дужках. Наприклад, запис Mas[2], VectorZ[10] дозволяє звернути-

ся до другого елементу масиву Mas і десятого елементу масиву

При роботі з двовимірним масивом вказуються два індекси,

n-мірним масивом – n індексів. Наприклад, запис MatrU [4,4] справи-

є доступним для обробки значення елемента, що знаходиться в парі

вертому рядку четвертого стовпця масивуMatrU.

Індексовані елементи масиву називаються індексованими пе-

ремінними і можуть бути використані так само, як і прості пере-

змінні. Наприклад, вони можуть перебувати у виразах як

операндів, використовуватися в операторах for, while, repeat, вхо-

дити як параметри в оператори Read, Readln, Write, Wri-

teln; їм можна надавати будь-які значення, що відповідають їх ті-

Алгоритми сортування одновимірних масивів

Сортування - один з найбільш поширених процесів сучасних

змінної обробки даних. Сортуванням називається розподіл

елементів масиву відповідно до певних правил. Нап-

ример, сортування масиву за зростанням або зменшенням його елементів.

Обмінне сортування (метод "бульбашка").

Алгоритм починається з порівняння 1-го та 2-го елементів масиву.

Якщо 2-й елемент менше 1-го, то вони змінюються місцями. Цей про-

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

всі N елементів не будуть оброблені. За один "прохід" масиву са-

мій великий елемент стане на старше (N-е) місце. Далі алго-

ритм повторюється, причому на р-му "проході" перші (N-p) елементів

порівнюються зі своїми правими сусідами. Якщо на черговому "про-

ході "перестановок не було, то алгоритм свою роботу закінчив. Та-

ким чином, "найлегші" елементи в процесі виконання алго-

ритму поступово "спливають".

Спочатку впорядковуються два перші елементи масиву. Вони утворюють-

ють початкове впорядковане безліч S. Далі на кожному кроці без-

ється наступний по порядку елемент і вставляється в вже впорядкований

чена безліч S так, щоб зліва від нього всеелементи були не

більше, а праворуч - не менше оброблюваного. Місце для вставки

поточного елемента в упорядковане безліч S шукається методом де-

лення навпіл. Алгоритм сортування закінчує свою роботу, коли

елемент, що стоїть на N-му місці, буде оброблений. (Саме таким про-

разом гравці в бридж зазвичай впорядковують свої карти).

Знаходиться найбільший елемент у масиві N елементів (нехай він

має номер р) та змінюється місцями з елементом, що стоїть на N-му

місці, за умови, що N<>p. З решти (N-1) елементів знову

виділяється найбільший і змінюється місцями з елементом, що стоїть на

(N-1)-му місці і т. д. Алгоритм закінчує свою роботу, коли

елементи, що стоять на 1-му та 2-му місцях в масиві, будуть упорядковані-

ні (для цього знадобиться N-1 "прохід" алгоритму). Аналогічно

Цей алгоритм можна застосовувати і до найменших елементів.

Двовимірним називається масив, елемент якого залежить від нього

розташування в рядку та в стовпці. У загальному вигляді елемент матриці

позначається як A(I,J), де А - ім'я масиву,

I - індекс (номер) рядка,

J – індекс (номер) стовпця.

Опис матриці на мові Бейсік

DIM A(I,J) - описати матрицю (двовимірний масив) це означає пре-

доставити вільні осередки в пам'яті ЕОМ для елементів даної мат-

риці. У пам'яті ЕОМ елементи матриці розташовуються по рядках, по-

цьому індекс рядка змінюється повільніше, ніж індекс стовпця.

Прямокутною називається матриця, в якій кількість рядків не

дорівнює кількості стовпців.

Квадратною називається матриця, в якій кількість рядків дорівнює

Опис матриці мовою Паскаль

Матрицю можна поставитидвома способами:

I. : array of array

Співвідношення індексів у квадратній матриці

I=J елементи матриці розташовані на головній

IJ елементи матриці розташовані під головною

I+J=N+I елементи матриці розташовані на побічній

діагоналі (N - кількість рядків або

стовпців у квадратній матриці)

I+JN+I елементи матриці розташовані під побічною

Нижче наведено приклади завдань із масивами мовою Turbo Pascal.

Приклад 1. Введення значень елементів масиву за допомогою генератора

випадкових чисел та виведення їх у рядок.

Для використання випадкових чисел у TP використовуються оператори

random:real – генерує випадкові числа в діапазоні 0. 0.99.

random(i:word):word - генерує випадкові числа в діапазоні

randomize – зміна бази генератора випадкових чисел.

a: array [1..10] of integer;

for i:=1 to 10 do

Приклад 2. Скласти програму заповнення одновимірного масиву, так

щоб його i-ий елемент дорівнював a[i]=(i*i+1)/sin(i).

var a: array [1..10] of real;

for i:=1 to 10 do

Приклад 3. Скласти програму визначення кількості елементів

одновимірного масиву, значення елементів яких менше

заданого дійсного числа t.

var a: array [1..10] of real;

i,k: integer; t:real;

write('Введіть число t=');

for i:=1 to 10 do

write('Введіть значення елемента a(', i, ') = ');

writeln('Сортування масиву за зростанням зроблено:');

for i:=1 to 20 do writeln(x[i]);

writeln('Для виходу введіть будь-яке число.');

Львівський М.Б. Методичний посібник "BOOK" з інформатики для 9-11 класів.