ПАСКАЛЬ: МАСИВИ
Вихідними даними програми є послідовність вихідних дійсних сталих. Перша з них є результатом нормалізації першої вхідної сталої. Кожна наступна подає нормалізований результат застосування операції, заданої знаком, до чисел, що подаються попередньою вихідною сталою та наступною вхідною. Нормалізоване подання числа – це стала вигляду
[ '+' | '-' ] Ц1 '.' Ц { Ц } 'E' [ '+' | '-' ] Ц [ Ц ],
де метасимвол Ц1 позначає цифри від 1 до 9.
Створити та використати модуль, що задає обробку чисел у їхньому нестандартному поданні.
Варіанти наборів знаків:
а) +, -; б) *, /; в) +, -, *, /.28. Написати програму створення за p-ковим поданням натурального числа (послідовність p-кових цифр) q-кового, де p, q – числа з множини {2, 3, ... , 36}. Довжина вхідної послідовності не більше 50 цифр. Значення p та q відповідно
1) 2 та 8; 2) 8 та 2; 3) 2 та 16;
4) 16 та 2; 5) 8 та 16; 6) 16 та 8;
7) задається як вхідне та 10; 8) 10 та задається як вхідне; 9) задаються як вхідні.
29.* Натуральні k та m, де 1 k
4. Матриці та багатовимірні масиви
Розглянемо прямокутну таблицю з m n однотипиних елементів як послідовність із m рядків, у кожному з яких n елементів. Послідовності певної довжини подаються в мовах програмування масивами. Отже, виникає поняття "масив, елементами якого є масиви", або двовимірний масив. Якщо елементи прямокутної таблиці самі є послідовностями або таблиці утворюють послідовність певної довжини, то виникає поняття тривимірного масиву тощо.
Означення багатовимірних масивів та зображення їх елементів у мові Паскаль опишемо за допомогою простого прикладу. Позиція в грі "хрестики-нулики на полі 3 3" подається квадратною таблицею з символів 'x', '0' або ' ' (пропуск). Пронумеруємо клітинки поля, як у шахах – літерами 'a', 'b', 'c' по горизонталі та числами 1, 2, 3 по вертикалі. Тоді рядки таблиці можна подати масивами типу
type Row = array [ 'a' .. 'c' ] of char;
Таблицю можна розглянути як послідовність трьох рядків і подати масивом типу
type Table = array [ 1 .. 3 ] of Row;
Партія, тобто послідовність позицій, має довжину не більше 9, і може подаватися масивом таблиць:
type Game = array [ 1 .. 9 ] of Table;
Масиви типу Table мають два виміри: номер рядка та номер символу в ньому; масиви типу Game – три: номери таблиці, рядка та символу. Вимір 1..9 у типі Game називається зовнішнім, вимір 'a'..'c', що нумерує символи в рядках, – внутрішнім.
Тип Game можна задати еквівалентним виразом, не означаючи імен типів Row і Table, а саме: