- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови Turbo Pascal
- •Розділ оголошень і угод
- •Розділ текстів процедур і функцій
- •Розділ основного блоку програми
- •Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля.
- •Функції числових параметрів.
- •Базові управляючі конструкції Турбо-Паскаля Оператори умовного переходу.
- •1. Оператор if.
- •2. Оператор вибору (case)
- •Оператори циклів у Паскалі
- •1. Цикл із післяумовою (Repeat)
- •2. Цикл із предумовою (While)
- •3. Цикл із лічильником або параметром (For)
- •Концепція типів даних. Типи даних в мові Pascal
- •Дійсні типи
- •Бульовий (логічний) тип
- •Символьні і рядкові змінні
- •1. Символьний тип
- •2. Рядковий тип
- •Перерахований та обмежений типи
- •1. Перерахований тип
- •2. Обмежений тип
- •1. Поняття масиву. Одномірні масиви
- •2. Багатомірні масиви
- •3. Сортування і пошук
- •Множинний тип
- •Тип запис
- •Процедури і функції
- •Формальні і фактичні параметри. Механізм параметрів
- •Параметри - значення
- •Параметри-змінні
- •Безтипові параметри
- •Приведення типів.
- •Процедурні типи
- •Рекурсія Рекурсивні визначення
- •Рекурсивні підпрограми
- •Алгоритми з поверненням. Розв’язок задачі про рух коня
- •Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів
- •If підходить тнеn
- •Модулі в Турбо Паскалі
- •Модуль crt
- •1. Керування екраном
- •2. Робота з клавіатурою
- •3. Інші можливості
- •Графіка в Турбо Паскалі
- •1. Включення і вимикання графічного режиму.
- •2. Побудова елементарних зображень
- •3. Виведення текстової інформації.
- •Файли в мові програмування Pascal
- •Установчі і завершальні операції
- •Операції введення-виведення
- •Обробка помилок введення-виведення
- •Переміщення по файлу
- •Спеціальні операції
- •Текстові файли
- •1. Оголошення файлової змінної і прив'язка до файлу на диску
- •2. Читання даних з файлу
- •3. Запис даних у файл
- •Двійкові файли
- •1. Типізовані файли
- •2. Нетипізовані файли
- •Статичні і динамічні змінні
- •Покажчики
- •Стан покажчика
- •Установка розмірів динамічної пам'яті
- •Сумісність і перетворення посилкових типів
- •Динамічні структури даних
- •Динамічні змінні: інші види списків, стек і черга.
- •1. Інші види списків
- •2. Стек і черга
- •Дерева і пошук у деревах
- •1. Визначення й описи структур даних
- •1. Масив
- •2. Список
- •3. Дерево
- •2. Алгоритми
- •1. Лінійний пошук у масиві
- •2. Двійковий пошук
- •3. Лінійний пошук у списку
- •Змішані таблиці
- •Об’єктно-орієнтоване програмування. Що таке об’єктно-орієнтоване програмування
- •Інкапсуляція
- •Спадкування
- •Віртуальні методи і поліморфізм
- •Конструктори, динамічні об'єкти і деструктори
- •Поля і методи: сховані і загальнодоступні
- •Системно- залежні розширення
- •Налагодження змінних
- •Оверлеї
- •Переривання і системні виклики
- •Доступ до пам'яті і портів
- •Перевизначення переривань
Дійсні типи
Ця група типів позначає множину дійсних значень у різних діапазонах. Turbo Pascal підтримує чотири різних дійсних типи. Вони іменуються ідентифікаторами Real, Single, Double, Extended і Соmр і мають наступні характеристики:
Дійсний тип |
Діапазон значень |
Число цифр мантиси |
Розмір пам’яті |
Real |
2.9е-39 ..1.7e38 |
11-12 |
6 байт |
Single |
1.5e-45 .. 3.4e38 |
7-8 |
4 байт |
Double |
5.0e-324 .. 1.7e308 |
15-16 |
8 байт |
Extende |
3.4e-4932 ..1.1e493 |
19-20 |
10 байт |
Comp |
-2e+63 ..+2e+63-1 |
|
8 байт |
ЗАУВАЖЕННЯ:
1. Хоча тип Comp вважається дійсним типом, він містить тільки цілі числа з дуже значного діапазону, що представляються в обчисленнях як дійсні (з нульовою мантисою).
2. Усі дійсні типи, крім real, можуть використовуватися в програмі, узагалі говорячи, тільки якщо в конфігурації персонального комп'ютера мається математичний співпроцесор Intel 8087/80287. Для коректної компіляції програми, що використовує ці типи, необхідно установити директиву компілятора {$N+}. Крім того, можна залучити кошти програмної емуляції апаратних операцій з дісними типами, установивши директиву {$E+}. Якщо ця остання директива встановлена, то програма буде виконуватися правильно незалежно від наявності математичного співпроцесора, хоча її об'єктний код буде трохи великим по розміру.
Дійсні значення можуть зображуватися у формі з фіксованою точкою й у формі з плаваючою точкою. У першому випадку ціла і дробова частини дійсного числа відокремлюються символом '.' (крапка). Обидві ці частини повинні обов'язково бути присутнім, наприклад:
17.384
0.5
Наступні приклади демонструють неправильні форми запису чисел:
.3 (правильно 0.3)
10. (правильно 10.0)
Речовинне число у формі з крапкою, що плаває, записується як пара виду
<мантиса> E <порядок>
Таке позначення розуміється як "мантиса, помножена на 10 у степені, рівному порядку". Наприклад, 7E-2 означає 7 l0-2,- 12.25E+6 чи 12.25E6 позначають 12.25 l06. Мантиса представляється у виді цілого числа або як дійсне з фіксованою точкою; порядок позначається цілим числом; допускаються як додатні, так і від’ємні значення порядку.
Бульовий (логічний) тип
Мається два значення бульового типу, що представляють логічні значення (істина/хиба). Ці значення позначаються за допомогою стандартних ідентифікаторів
true (істина)
false (неправда)
Над значеннями бульового типу припустимі операції порівняння, причому вважається, що
false < true
Описуються в програмі так:
var v1,v2, … vn: boolean;
Крім того, маються чотири стандартні логічні операції, що позначаються службовими словами:
and логічне множення
or логічне додавання
xor додавання по модулі 2 (виключаюче або )
not логічне заперечення (унарная операція)
Ці операції мають звичайний в логійі зміст.
Значення булевского типу займають один байт пам'яті.
Приклад: написати програму виведення на екран таблиі істинності для операції and.
program logik;
uses crt;
var a,b,c:boolean;
begin
clrscr;
for a:=false to true do
for b:=false to true do
begin
c:=a and b;
writeln(a,' and ',b,'=',c)
end;
end.