ються програмістом, використовують для опису даних-індексів у масивах і селектора варіанту в операторі вибору. Для обробки масивів зручно користуватися оператором циклу з параметром, а для обробки файлів - операторами While і Repeat. Записи з варіантами природно обробляти операторами варіанта. Посилальні (динамічні) структури природним чином обробляються рекурсивно [5].
1.2 Типи даних
Дані, з якими працює програма, зберігаються в оперативній пам'яті. Природно, що необхідно точно знати, скільки місця вони займають, як саме закодовані і які дії з ними можна виконувати. Все це задається при описі даних за допомогою типу. Тип даних однозначно визначає: внутрішнє подання даних, а, отже, і діапазон їх можливих значень; допустимі дії над даними (операції і функції).
Наприклад, цілі і речові числа, навіть якщо вони займають однаковий обсяг пам'яті, мають абсолютно різний діапазон можливих значень; цілі числа можна множити один на одного, а, приміром, символи - не можна. Кожен вираз в програмі має певний тип:
Стандартні типи:
логічні
цілі
речові
символьний
строковий
адресний
файлові
Типи, що визначаються програмістом:
Прості:
перелічуваний
інтервальний
адресні
Складові:
масиви
рядка
записи
безлічі
файли
процедурні типи
об'єкти
Стандартні типи не вимагають попереднього визначення. Для кожного типу існує ключове слово, яке використовується при описі змінних, констант і т. Д. Якщо ж програміст визначає власний тип даних, він описує його характеристики і сам дає йому ім'я, яке потім застосовується точно так само, як імена стандартних типів.
Логічні типи. Основний логічний тип даних Паскаля називається boolean. Величини цього типу займають в пам'яті 1 байт і можуть приймати всього два значення: true (істина) або false (неправда). Внутрішнє представлення значення false - 0 (нуль), значення true - 1.
До величин логічного типу застосовуються логічні операції and, or, xor і not. Вони описані нижче. Для наочності замість значення false використовується 0, а замість true - 1.
Таблиця 1
aba and ba or ba xor bnot a000001010111100110111100
Операція and - логічне І raquo ;, логічне множення. Операція or - логічне АБО raquo ;, логічне додавання. Операція xor - так зване виключає АБО, або операція неравнозначности. Логічне заперечення not є унарною операцією. Крім цього, величини логічного типу можна порівнювати між собою за допомогою операцій відносини, перерахованих у таблиці:
Таблиця 2
ОпераціяЗнак операціібольше gt; більше або дорівнює gt;=менше lt; менше або дорівнює lt;=одно=не дорівнює lt; gt;
Результат цих операцій має логічний тип.
Цілі типи. Цілі числа представляються в комп'ютері в двійковій системі числення. У Паскалі визначено кілька цілих типів даних, що відрізняються довжиною і наявністю знака:
Таблиця 3
ТіпНазваніеРазмерЗнакДіапазонintegerцелое2 байтаесть - 32768..32767 (- 215..215-1) shortintкороткое целое1 байтаесть - 128..127 (- 27..27-1) byteбайт1 байтаНет0..255 (0 .. 28-1) wordслово2 байтаНет0..65535 (0..216-1) lonightдлінное целое4 байтаесть - 2147483648..2147483647 (- 231..231-1)
Операції. З цілими величинами можна виконувати арифметичні операції, перераховані нижче. Результат їх виконання завжди цілий (при діленні дрібна частина відкидається).
Таблиця 4
ОперацііЗнак операциисложение+вычитание-умножение*делениеdivостаток від деленіяmod
Крім цього, до цілих величинам можна застосовувати порозрядним операції and, or, xor і not. При виконанні цих операцій кожна величина репрезентується як сукупність двійкових розрядів. Дія виконується над кожною парою відповідних розрядів операндів. Наприклад, результатом операції 3 and 2 буде 2, оскільки двійкове подання числа 3 - 11, числа 2 - 10. Для роботи з цілими величинами призначені також і операції зсуву вліво shl і вправо shr. Зліва від знака операції вказується, з якою величиною буде виконуватися операція, а праворуч - на яке число двійкових розрядів потрібно зруш...