Описати масив можна двома способами
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.