Описати масив можна двома способами

2. Обробка масивів;

3. Матриці - двовимірні масиви;

4. Строкові змінні і рядкові константи;

5. Вбудовані функції для обробки рядків.

1. Одновимірні масиви

В математиці поряд з безліччю, часто розглядають впорядковані набори чисел (наприклад координати точки в двовимірному, тривимірному просторі). Впорядковані двійки, трійки і т.д. чисел в мові Паскаль зручно задавати за допомогою масивів довжини 2, 3 і т.д.

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

У розділі опису змінних ми можемо описати масив таким чином:

Var A: Array [n1..n2] Of базовий тип;

Тут А - назва масиву;

Array - службове слово (англ. Масив).

n1, n2- відповідно номер першого і останнього елемента масиву.

Базовий тип - будь-який з уже вивчених типів.

Кількість елементів масиву дорівнюватиме n2-n1 + 1.

Var Massiv: Array [1..20] Of Real;

означає, що отриманий масив буде складатися з 20 дійсних чисел, перше з яких буде мати номер 1, останнє - 20. Наш масив буде мати назву Massiv.

Опис масиву полягає в створенні нового оригінального типу. Для того щоб програміст міг створювати свої нові типи даних в Паскалі існує розділ опису типів Type. Цей розділ знаходиться між розділом опису констант і розділом опису змінних.

<Имя типа>= Array [n1..n2] Of Базовий тип;

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

Mas = Array [10..19] Of Integer;

В даному випадку ми спочатку описали новий тип Mas - масив з десяти цілих чисел з номерами від 10 до 19, потім описали змінну B типу Mas. Мінлива В - змінна типу Mas.

Щоб звернутися до якогось елементу масиву, необхідно вказати ім'я масиву та в квадратних дужках номер елемента. В [5], A [i] і т.д. Номером елемента може бути будь-який целочисленное вираз.

Зауваження: номерами елементів можуть бути не тільки вираження типу Integer, але так само і типу Char, перерахування та діапазони.

2. Обробка масивів

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

Для введення масиву з клавіатури може бути використаний цикл такого вигляду: нехай у нас є масив з ім'ям А, що складається з n елементів, тоді:

For i: = 1 To n Do Read (A [i]);

В цьому випадку, користувач вводить через пробіл n елементів масиву.

Введення даних в масив відбувається наступним чином: спочатку значення лічильника циклу дорівнює 1; виконується операція read (A [1]); після чого лічильник циклу стає рівним 2; виконується операція Read (A [2]) ... і т.д. до значення i = n включно.

Для виведення масиву на екран використовується наступний цикл:

For i: = 1 To n Do Write (A [i]);

В даному випадку на екран в один рядок будуть виведені всі n елементів масиву, після чого курсор переміститься на рядок вниз.

Як вже було сказано для обробки масивів використовуються цикли.

Нехай є масив М, що складається з n елементів з номерами від 1 до n. Знайти Суму елементів масиву, вивести її на екран.

For i: = 1 To n Do Sum: = Sum + M [i];

Writeln ( 'Сума елементів масиву =', Sum);

3. Матриці - двовимірні масиви

В математиці дуже поширене таке поняття, як матриця. Матриця - це таблиця з коефіцієнтів A = (aij). Елементи матриці утворюють стовпці та рядки. Перший індекс (i) вказує номер рядка, другий (j) - номер стовпця, на перетині яких знаходиться елемент aij.

Визначимо деякі дії над матрицями.

1. 1. Дві матриці рівні, якщо рівні всі елементи, які стоять в однакових місцях.

3. 3. Твором матриці A = (aij) на число L називають матрицю, у якій кожен елемент дорівнює добутку відповідного елемента матриці А на число L.

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

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

Array [n1..n2, m1..m2] Of Базовий Тип;

n1, n2 - початкове і кінцеве значення першого індексу;

m1, m2 - початкове і кінцеве значення другого індексу.

Взагалі, ми можемо описати не тільки двовимірні, а й трьох-, чотирьох-, ... -мірні масиви, для цього необхідно вказати через кому початкові і кінцеві значення для кожного індексу.

Для введення і для виведення двовимірних масивів використовуються два вкладених циклу:

Для обробки двовимірних масивів також використовуються два вкладених циклу.

Знайти твір масиву А на число L.

4. Строкові змінні і рядкові константи

Дані строкового типу, також як дані символьного, числового, логічного типів, підрозділяються на змінні, константи і вирази.

Строкові константи - це послідовність символів, укладених в апострофи, наприклад, 'Приклад', 'АВС 1А'.

Строкові константи, також як і числові, можуть бути описані в розділі опису констант.

Const Str = 'РЯДОК';

Змінні строкового типу описуються за допомогою службового слова String:

де String - службове слово;

S1, s2 - змінні строкового типу;

N - максимальна довжина рядка (від 0 до 255).

Строковим змінним можна присвоювати значення строкових змінних і строкових констант. Крім того, ми можемо звернутися до окремого символу в рядку. Для цього, після імені змінної, в квадратних дужках необхідно вказати його номер, як це робилося з символьними масивами. Окремий елемент рядка - символьна константа, ми можемо присвоїти йому значення символьної константи, або символьної змінної.

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

При роботі з рядками часто доводиться складати рядок з двох і більше рядків, додавати до рядка будь-які символи і т.д. Для цього в Паскалі передбачена така операція, як конкатенація рядків (зчеплення). Для позначення конкатенації в Паскалі використовується знак «+».

Str1: = Str1 + '1' + Str2 + 'asd';

Рядки можна порівнювати. Порівняння рядків відбувається зліва направо для першого неспівпадаючі символу

5. Вбудовані функції для обробки рядків

Для обробки строкових даних використовується ряд стандартних процедур і функцій. Розглянемо їх. При цьому Str, Str1, Str2 - змінні типу String, i, j - вирази типу integer;

Length (Str) - функція, що обчислює довжину змінної Str. Результат функції має цілочисельний тип.

Delete (Str, i, j) - Процедура, яка видаляє з рядка Str підрядок довжиною j, починаючи з позиції i.

Insert (Str1, Str2, i) - Процедура, яка вставляє в рядок Str1 рядок Str2, починаючи з позиції i.