Структура Pascal-програми
Заголовок |
Program <імя програми>; |
Розділ підключення зовнішніх модулів |
Uses <модуль1>, … <модульN>; |
Розділ опису міток |
Label <список міток>; |
Розділ опису констант |
Const <опис констант>; |
Розділ опису користувацьких типів даних |
Type <опис типів даних>; |
Розділ опису змінних |
Var <опис змінних>; |
Розділ опису підпрограм |
<опис процедур і функцій>; Procedure <імя>; <тіло процедури>; Function <імя>; <тіло функції>; |
Розділ виконуваних операторів |
BEGIN <оператори>; END. |
Структура типів даних
Прості (скалярні)
Впорядковані
Цілі
Логічні
Символьні
Перераховні
Інтервальні (тип-діапазон)
Дійсні
Дата/час (TDateTime)
Variant
Невпорядковані (Дійсні)
Складені (структуровані)
Масиви
Стрічки
Множини
Записи
Файли
Об"єкти, класи
Вказівники
Процедурний тип
Стандартні функції роботи із даними впорядкованого типу
Ord(x) - повертає порядковий номер елемента
Pred(x) - повертає попередній до вказаного елемент: Ord(Pred(x)) = Ord(x)-1
Succ(x) - повертає наступний до вказаного елемент: Ord(Succ(x)) = Ord(x)+1
Odd(x) - повертає істинне значення у випадку непарного порядкового номера елемента
Характеристика цілочисельних типів даних
Імя типу |
Діапазон представлення |
Об'єм памяті |
Byte |
0..255 (28 - 1) |
1 Byte |
ShortInt |
-128..127 |
1 Byte |
Word |
0..65535 (216 - 1) |
2 Byte |
SmallInt |
-32768..32767 |
2 Byte |
LongWord |
0 .. 232 - 1 |
4 Byte |
LongInt, Integer |
-231..231 - 1 |
4 Byte |
Int64 |
0 .. 264 - 1 |
8 Byte |
Арифметичні операції над цілими числами
додавання: +
віднімання: -
множення: *
ділення:
div - операція цілочисельного ділення 9 div 4 = 2
mod - операція знаходження остачі 9 mod 4 = 1
/ - результатом звичайного ділення є значення дійсного типу (навіть, якщо якщо і можливе цілочисельне ділення 8 / 4 = 2.0
Стандартні функції роботи із цілими числами
Sqr(x) = x2
Abs(x) = |x|
Odd(x) = повертає значення True, якщо значення аргументу x непарне
Стандартні процедури роботи із цілими числами
Inc(x) <=> x:=x+1
Inc(x,i) x:=x+i
Dec(x) x:=x-1
Dec(x,i) x:=x-i
Характеристика дійсних типів даних
Імя типу |
К-сть значущих цифр |
Діапазон представлених абсолютних значень |
Об'єм памяті, байт |
Single |
7...8 |
1.5x10-45... 3.4x1038 |
4 |
Double |
15...16 |
5.0x10-324... 1.7x10308 |
8 |
Real |
15...16 |
5.0x10-324... 1.7x10308 |
6 |
Extended |
19...20 |
3.4x10-4951... 1.1x104932 |
10 |
Comp |
19...20 |
-263... +263-1 |
8 |
Currency |
19...20 |
-... +922 337 203 685 477.5807 |
8 |
Дійсні числа можуть бути записані як у формі з фіксованою, так із плаваючою крапкою.
Наприклад:
Числа у формі з фіксованою крапкою: 1.5; 600; -0.0041; -99.54
Числа у формі з плаваючою крапкою: 1.50E00; 6.00E02; -4.10E-03; -9.954E-01
Стандартні функції роботи із дійсними числами (всі повертають дійсні значення)
Abs(x) = |x|
Sqr(x) = x2
Sqrt(x) = √x
Int(x) = [x]- ціла частина числа: Int(0.3)=0; Int(-2.9)=-2.0
Frac(x) = {x} - дробова частина числа: Frac(0.3)=0.3; Frac(-2.9)=-0.9
Pi = π = 3.141592653
Sin(x) = sin(x) - повертає синус кута, заданого в радіанах
Cos(x) = cos(x) - повертає косинус кута, заданого в радіанах
ArcTan(x) = arctan(x) - повертає арктангенс (результат в радіанах)
Exp(x) = ex
Ln(x) = ln(x)
Варто зауважити, що деякі операції відсутні, але їх можна отримати через вже існуючі:
Піднесення числа до степеня: z = ab => ln z = b ln a = > z = e b ln a z := Exp(b*Ln(a));
Логарифм: z = logab = > z = ln b / ln a z := Ln(b) / Ln(a);
Тангенс: z = tg x = > z = sin x / cos x z := Sin(x) / Cos(x);
Функції приведення дійсних значень до цілого типу даних
Trunc(x) - Повертає лише цілу частину від x
Round(x) - повертає значення, заокруглене до найближчого цілого
Підпрограми роботи із псевдовипадковими числами
Randomize - процедура, яка ініціалізує генератор псевдовипадкових чисел
Random(x) - повертає ціле випадкове значення в інтервалі [0..x-1]
Random - повертає дійсне випадкове значення в інтервалі [0..1]
X=a+(b-a)*random;-якщо потрібно знайти випадкове число з [a, b].