У своїй роботі програміст завжди стикається з таким поняттям, як величина. Що ж таке величина? З точки зору програмування величини — це дані, що обробляються програмами.
Мова Паскаль інтерпретує дані, як константи або змінні. Як перші, так і другі визначаються ідентифікаторами (іменами), за допомогою яких можна звертатися для одержання відповідних значень.
Константами називаються елементи даних, яким присвоюються значення в описовій частині програми, й у процесі виконання програми їх змінювати заборонено.
Для визначення констант служить зарезервоване слово const.
Формат опису.
Const < ідентифікатор > = < значення константи >;
Приклад:
Const Max=1000;
Vxod='сегмент 5';
Є ряд констант, до значень яких можна звертатися без попереднього опису. Наприклад:
Ідентифікатор
Тип
Значення
Опис
True
Boolen
True
Істина
False
Boolen
False
Хибність
Maxint
integer
Максимальне ціле
Змінні, на відміну від констант, можуть змінювати свої значення в процесі виконання програми. Кожна змінна і константа належать до визначеного типу даних. Тип констант визначається компілятором автоматично. Тип змінних обов'язково вказується перед тим, як їх використати. Для опису змінних призначено зарезервоване слово var.
Формат опису:
Var <ідентифікатор> : <тип даних>;
Приклад:
Var Sum1, Sum2 : real;
Тип даних - це діапазон значень, що можуть приймати об'єкти програми, і сукупність операцій, які дозволяється виконувати над цими значеннями. Усі типи даних у мові програмування Паскаль розділяються на дві групи: скалярні (прості), структуровані (складені).
Скалярнітипи у свою чергу підрозділяються на стандартні та типи користувача. Стандартні типи пропонуються користувачам розроблювачами системи Turbo Pascal. Типи користувача - розроблюються самим програмістом.
До стандартних скалярних типіввідносяться наступні типи: цілі, дійсні, літерні, булівські.
Величини цілих типів можуть бути подані як у десятковій, так і в шістнадцятковій системах. Якщо число представлене в шістнадцятковій системі, перед ним без проміжку записується знак $. Діапазон зміни шістнадцяткових чисел від $0000 до $FFFF.
Цілі типи даних являють собою значення, що можуть використовуватися в арифметичних виразах. Стандартні цілі типи зведені в таблицю:
Тип
Діапазон
Необхідна пам'ять (байт)
Byte
0...255
Shortint
-128... 127
Integer
-32768... 32767
Word
0... 65535
Longint
-2147483648 ... 2147483647
Дійсні типи даних являють собою дійсні значення, що використовуються в арифметичних виразах і займають у пам'яті від 4 до 10 байт. У програмі мовою Паскаль допускається представлення дійсних значень у вигляді як із плаваючою, так і з фіксованою точкою.
Дійсні десяткові числа з фіксованою точкою записуються за звичайними правилами арифметики. Єдине, що відрізняє цей формат від математичного, це те, що ціла частина від дробової відокремлюється десятковою точкою, а не комою.
Якщо десяткова точка відсутня, число вважається цілим. Перед числом може знаходитися знак «+» або «-». Якщо знак відсутній, за замовчуванням число вважається додатнім.
Дійсні десяткові числа у форматі з плаваючою точкою подаються в наступному (експоненціальному) вигляді:
mЕ + р,
де т - мантиса (ціле або дробове число з фіксованою десятковою точкою), Е - означає «десять у степені», р - порядок (ціле число).
Взагалі мантиса має бути нормалізованою, тобто представленою у вигляді числа, що належить діапазону від 0 до 1 (це означає, що точка завжди знаходиться перед першою цифрою числа). Однак можна записати мантису у вигляді будь-якого дробового числа зфіксованою точкою. Нормалізація при цьому виконується системою автоматично. Приклад:
Число v форматі з плаваючою крапкою
Значення числа
0.4500Е+02
0.45*102 = 45
--2.600Е05
--2.6*105 = -260000
+0.45670Е-02
0.4567*10-2 = 0.004567
Стандартний найчастіше використовуваний дійсний тип даних наведений у таблиці:
Тип
Діапазон значень
Мантиса (кількість значущих цифр)
Необхідна пам'ять
Real
2.9*10Е-39.. 1.7*10Е38
11-12
Літерний (символьний) тип може набувати значень кодової таблиці комп'ютера. Символьній змінній в пам'яті виділяється один байт, тому вона можна зберегти тільки один символ ASCII таблиці.
Булівськийтип подається двома значеннями: True (істина) або False (хибність). Цей тип застосовується в логічних виразах і виразах відношення.
Структуровані типиу своїй основі мають один або кілька скалярних типів даних. До структурованих типів даних відносяться рядки, масиви, файли, записи і т.д. їх ми будемо вивчати пізніше.
Змінні і константи всіх типів використовуються увиразах.
Вираз задає порядок виконання дій над елементами даних і складається з операндів (констант, змінних, звертань до функцій), круглих дужок і знаків операцій. Круглі дужки ставляться, як і в математиці, для керування порядком виконання операцій. Якщо дужки відсутні, операції виконуються в залежності від їх пріоритетів, про що буде сказано далі.
У мові Паскаль є такі операції: арифметичні; відношення (порівняння); логічні. Операції можуть бути унарними та бінарними.
У першому випадку операція відноситься до одного операнду і завжди записується перед ним, у другому операція виражає відношення між двома операндами і записується між ними.
Арифметичні операції задають арифметичні дії у виразах над значеннями операндів цілих та дійсних типів.
Найчастіше використовуються арифметичні операції, що подані в наступній таблиці:
Операція
Дія
Тип операндів
Тип результату
Бінарні
+
Додавання
Цілий
Цілий
Дійсний
Дійсний
-
Віднімання
Цілий
Цілий
Дійсний
Дійсний
*
Множення
Цілий
Цілий
Дійсний
Дійсний
/
Ділення
Цілий
Дійсний
Дійсний
Дійсний
Div
Ділення націло
Цілий
Цілий
Mod
Залишок від ділення
Цілий
Цілий
Унарні
+
Збереження знака
Цілий
Цілий
Дійсний
Дійсний
-
Заперечення знака
Цілий
Цілий
Дійсний
Дійсний
Операції відношення виконують порівняння двох операндів і визначають значення виразу є істинним або хибним. Результат завжди має булівський тип одного з двох значень: True (істина) або False (хибність).
Операція
Назва
Вираз
Результат
=
Дорівнює
А=В
True, якщо А дорівнює В
<>
Не дорівнює
А<>В
True, якщо А не дорівнює В
>
Більше
А>В
True, якщо А більше В
<
Менше
А<В
True, якщо А менше В
>=
Більше або дорівнює
А>=В
True, якщо А більше або дорівнює В
<=
Менше або дорівнює
А<=В
True, якщо А менше або дорівнює В
Результатом виконання логічного (булівського) виразу є логічне значення True або False. Список логічних операцій наведений у наступній таблиці:
Операція
Дія
Вираз
А
В
Результат
not
Логічне
заперечення
not A
True
False
False
True
and
Логічне
«І»
A and В
True
True
True
True
False
False
False
True
False
False
False
False
or
Логічне
«АБО»
A or В
True
True
True
True
False
True
False
True
True
False
False
False
Виконання кожної операції відбувається з урахуванням її пріоритету. Значення пріоритетів зазначені в наступній таблиці:
Операція
Пріоритет
Вид операції
Not, унарні «—»і «+»
перший (вищий)
Унарна операція
*, /,div, mod, and
другий
Операції типу множення
+, -,or
третій
Операції типу додавання
=, <>, <, >, <=, >=
четвертий (нижчий)
Операції відношення
Арифметичні вирази у якості операндів можуть містити імена функцій. З поняттям функції ми будемо знайомитись пізніше в курсі програмування, але стандартні функції (cos, sin, х2та інші) вам знайомі з курсу математики, і їх використання у курсі інформатики відрізняється тільки правилами запису (синтаксису). Так, на відміну від математики, в програмуванні аргумент функції обов'язково береться в круглі дужки. Нижче поданий список цих функцій, де літерами X та І позначені відповідно: X - цілі та дійсні типи, І - тільки цілі.
Abs(X)— обчислення абсолютного значення (модулю) X. Тип результату збігається з типом параметра.
АrсТап(Х)— обчислення кута, тангенс якого дорівнює X, значення кута подано в радіанах і може знаходитися в діапазоні від -π/2до π/2. Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на число 180/ π.Результат має дійсний тип.
Cos(X)— обчислення косинуса X, параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну слід значення кута помножити на число 180/ π. Результат має дійсний тип.
Ехр(х)— обчислення значення експоненти аргументу (Ех). Результат завжди має дійсний тип.
Frac(X) — знаходження дробової частини X. Результат має дійсний тип.
Int(Х)— знаходження цілої частини X (дробова частина відкидається). Результат має дійсний тип.
Ln(x)— обчислюється натуральний логарифм аргументу. Результат має дійсний тип. За допомогою функцій Ехрта Lпможна обчислити довільний степінь числа наступним чином: ab=Exp(b*Ln(a)).
Pi — повертає значення числа π(3.1415926).
Sin(X)— обчислення синуса X. Параметр задає значення кута в радіанах. Для перетворення значення кута з радіанної міри в градусну слід значення кута помножити на число 180/ π. Результат має дійсний тип.
Sqr(X)— піднесення до квадрату значеннях. Тип результату збігається з типом параметра.
Sqrt(X)— обчислення квадратного кореня з Х. Тип результату дійсний.
Random— генерує значення випадкового числа з діапазону від 0 до 0.99. Тип результату дійсний.
Random(P)— генерує значення випадкового числа з діапазону від 0-до Р-1. Тип результату цілий. Щоб випадкові числа були «більш випадковими», необхідно періодично змінювати базу генерації. Для цього використовується процедураRandomize, що дозволяє при кожному новому запуску програми отримувати різні випадкові числа.