Var опис змінних
Function Текст функції
Основний блок програми
Опис змінних. Типи даннихПеременная - це область оперативної пам'яті, що займає кілька осередків і має своє ім'я.
Різні типи даних займають в оперативній пам'яті комп'ютера різну кількість осередків (ємність однієї ячейкі- 1 байт). Перед початком обчислень слід повідомити комп'ютера, скільки елементів пам'яті треба зарезервувати під ту чи іншу змінну. Для цього в блоці "VAR" розділу описів програми повинні бути описані всі використовувані змінні, тобто має бути вказано ім'я кожної змінної і типи даних, які будуть зберігатися в цих змінних.
У Турбо-Паскалі прийняті наступні прості типи даних (типи значень констант і змінних):
1. Integer Для зберігання значення у змінній типу integer, в оперативній пам'яті комп'ютера відводиться 2 байти пам'яті. Це може бути ціле число в діапазоні від -32768 до +32767.
2. Real Під значення змінної типу REAL в пам'яті відводиться 6 байт. Змінна типу real - це дійсне число
3. Char - це символьний (літерний) тип, в пам'яті займає 1 байт, діапазон значень-один символ (одна буква, цифра, розділовий знак і т.п.). 4. String - строковий тип, похідний від типу Char. STRING - це рядок символів. У пам'яті рядок займає MAX + 1 байт, де MAX - оголошене максимальну кількість символів в рядку. Наприклад, якщо деяка змінна була описана як змінна типу STRING [80], то в неї можна записати не більше 80 символів, і в пам'яті вона займе 81 байт. Якщо при описі строкової змінної максимальна довжина рядка точно не вказана (слово STRING не супроводжується цілим числом), то змінної автоматично дається максимальна для типу STRING розмірність - 255 символів, що потребують 256 байт пам'яті для зберігання значення.
5. Boolean - це логічний тип даних, займає в пам'яті 1 байт. Мінлива цього типу може зберігати тільки одне з двох можливих значень - True (істина) або False (брехня).
Структуровані типи даних, такі, як масиви, множини, записи, являють собою статичні структури, так як їх розміри незмінні протягом усього часу виконання програми. Часто потрібно, щоб структури даних міняли свої розміри в результаті виконання завдання. Такі структури даних називаються динамічними, до них відносяться стеки, черги, списки, і ін. Опис динамічних структур за допомогою масивів, записів та файлів призводить до неекономного використання пам'яті ЕОМ і збільшує час вирішення завдань.
Стек - динамічна структура даних, додавання компоненти в яку і виключення компоненти з якої виробляється з одного кінця, званого вершиною стека. Стек працює за принципом (Last-In, First-Out) надійшов останнім, обслуговується першим. Зазвичай над стеками виконується три операції:
-запис першої компоненти;
-додавання компоненти в стек;
-вибірка компоненти (видалення).
Черги - динамічна структура даних, додавання компоненти в яку проводиться в один кінець, а вибірка здійснюється з іншого кінця. Черга працює за принципом: (First-In, First-Out)
надійшов першим, обслуговується першим.
Для формування черги і роботи з нею необхідно мати три змінні типу покажчик, перша з яких визначає початок черги, друга - кінець черги, третя - допоміжна.
Файловий ввід-висновок Файлова змінна в Паскалі - це будь-яка змінна файлового типу. У Паскалі є три класи файлів: типізований файл, текстовий файл і не типізований файл.
Перед використанням файлової змінної вона повинна бути пов'язана з зовнішнім файлом за допомогою виклику процедури Assign. Зовнішнім файлом зазвичай є пойменований файл на диску, але він також може являти собою пристрій, наприклад, клавіатуру або дисплей. У зовнішніх файлах зберігається записана в файл ін формація, або вони служать джерелами інформації, яка зчитується з файлу.
Коли зв'язок із зовнішнім файлом встановлена, для підготовки її до операції введення або виведення файлова змінна повинна бути "відкрита". Існуючий файл можна відкрити за допомогою процедури Reset, а новий файл можна створити і відкрити за допомогою процедури Rewrite. Текстові файли, відкриті за допомогою процедури Reset доступні тільки з читання, а текстові файли, відкриті за допомогою процедури Rewrite, доступні тільки по запису.
Типізовані і не типізовані файли завжди допускають як читання, так і запис, незалежно від того були вони відкриті за допомогою процедури Reset або з по міццю процедури Rewrite.
Будь-який файл, являє собою лінійну послідовність елементів, кожен з яких має тип елемента (або тип запису) файлу. Кожен елемент файлу має номер. Перший елемент файлу вважається нульовим елементом. Зазвичай доступ до файлів організовується послідовно, тобто, коли елемент зчитується за допомогою процедури Read або записується за допомогою процедури Write, поточна позиція файлу переміщується до наступного по порядку елементу файлу. Однак до типізованим і Нетипізовані файлів можна організувати прямий доступ за допомогою стандартної процедури Sееk, яка переміщує поточну позицію файлу до заданого елементу. Коли програма завершує обробку файлу, він повинен закриватися за допомогою стандартної процедури Close. Після повного закриття файлу пов'язаний з ним зовнішній файл оновлюється. Потім файлова змінна може бути пов'язана з іншим зовнішнім файлом. Нетипізовані файли являють собою канали введення-виведення рівня, що використовуються в основному для прямого доступу до будь-якого файлу на диску, незалежно від його типу і структури.
Тип запис містить встановлене число елементів або полів, які можуть бути різних типів. Опис типу запис вказує тип кожного поля і ідентифікатор, який іменує поле.
Фіксована частина типу запис містить список фіксованих полів разом з ідентифікатором і типом для кожного поля. Кожне поле містить інформацію, яка завжди відшукується одним і тим же способом.
Діапазон значень множинного типу являє собою потужність безлічі для певного порядкового типу (базового типу). Кожне можливе значення множинного типу є підмножиною можливих значень базового типу.
Мінлива множинного типу може приймати як все значення множини, так і жодного.
Базовий тип не повинен мати більше 256 можливих значень, і порядкові значення верхньої і нижньої межі базового типу повинні не перевищувати діапазону від 0 до 255. У силу цього базовий тип безлічі не може бути коротким цілим (Shortint), цілим (Integer), довгим цілим (Longint) або словом (Word).