1. Правила запису формул (арифметичних виразів) мовою програмування
Turbo Pascal
Вираз задає порядок виконання дій над елементами даних і складається з операндів (констант,
змінних, звертань до функцій), круглих дужок і знаків операцій.
Круглі дужки ставляться, як і в математиці, для керування порядком виконання операцій. Якщо дужки
відсутні, операції виконуються в залежності від їх пріоритетів, про що буде сказано далі.
Операції в мові Паскаль підрозділяються на:
· арифметичні
· відношення (порівняння)
· логічні
Операції можуть бути унарними та бінарними. У першому випадку операція відноситься до одного
операнду і завжди записується перед ним, у другому операція виражає відношення між двома
операндами і записується між ними.
Арифметичні операції задають арифметичні дії у виразах над значеннями операндів цілих та дійсних
типів. Найбільш часто використовуються арифметичні операції, що подані в наступній таблиці:
Математичний запис
Алгоритмічний запис
(запис мовою Pascal)
: (ділення) /
· (множення) *
≤ <=
≥ >=
√ Sqrt
= := (присвоїти)
≠ < >
х3
x*x*x
xn
Exp(n*ln(x))
x1 X1
Операція Дія Типи операндів Тип результату
Бінарні
+ Додавання Цілий Дійсний Цілий Дійсний
– Віднімання Цілий Дійсний Цілий Дійсний
* Множення Цілий Дійсний Цілий Дійсний
/ Ділення Цілий Дійсний Цілий Дійсний
Div Ділення націло Цілий Цілий
mod
Залишок від
ділення
Цілий Цілий
Унарні
+ Збереження знака Цілий Дійсний Цілий Дійсний
– Збереження знака Цілий Дійсний Цілий Дійсний
Операції відношення виконують порівняння двох операндів і визначають, значення виразу є
істинним або хибним. Результат завжди має булівський тип і приймає одне з двох значень: True (істина)
або False (хибність). Всі операції відношення зведені в наступну таблицю:
Операції Назва Вираз Результат
= Дорівнює А=В True, якщо А дорівнює В
< > Не дорівнює А<>В True, якщо А не дорівнює
> Більше A>B True, якщо А більше В
< Менше A<B True, якщо А менше В
>=
Більше або
дорівнює
A>=B True, якщо А більше або дорівнює В
<=
Менше або
дорівнює
A<=B True, якщо А менше або дорівнює В
Результатом виконання логічного (булівського) виразу є логічне значення True або False.
Операндами служать дані тільки булівського типу. Список логічних операцій наведений у таблиці:
2. Операція Дія Вираз А В Результ.
not
Логічне
заперечення
not A
True
False
False
True
and
Логічне
"ТА"
A and B
True True False
False
True False
True False
True False False
False
or
Логічне
"АБО"
A or B
True True False
False
True False
True False
True True True
False
Виконання кожної операції відбувається з урахуванням її пріоритету. Значення пріоритетів
зазначені в наступній таблиці:
Операція Пріоритет Вид операції
Not, унарні "-" і "+" Перший (вищий) Унарна операція
*, /, div, mod, and Другий
Операції типу
множення
+, -, or Третій
Операції типу
додавання
=, <>, <, >, <=, >=
Четвертий
(нижчий)
Операції відношення
Арифметичні вирази у якості операндів можуть містити імена функцій. З поняттям функції ми
будемо знайомитись пізніше в курсі програмування, але стандартні функції (cos, sin, x2 та інші) Вам
знайомі з курсу математики і їх використання у курсі інформатики відрізняється тільки правилами
запису (синтаксису). Так, на відміну від математики, в програмуванні аргумент функції обов'язково
береться в круглі дужки. Нижче поданий список цих функцій, де літерами Х та І позначені відповідно:
Х - цілі та дійсні типи, І - тільки цілі.
Abs(X) - обчислення абсолютного значення (модулю) Х. Тип результату збігається з типом параметра.
ArcTan(X) - обчислення кута, тангенс якого дорівнює Х, значення кута подано в радіанах і може
знаходитися в діапазоні від -p/2 до p/2. Для перетворення значення кута з радіанної міри в градусну
необхідно значення кута помножити на число 180/p. Результат має дійсний тип.
Cos(X) - обчислення косинуса Х, параметр задає значення кута в радіанах.
Для перетворення значення кута з радіанної міри в градусну необхідно значення кута помножити на
число 180/p. Результат має дійсний тип.
Exp(x) - обчислення значення експоненти аргументу (ex
). Результат завжди має дійсний тип.
Frac(X) - знаходження дробової частини Х. Результат має дійсний тип.
Int(X) - знаходження цілої частини Х (дробова частина відкидається). Результат має дійсний тип.
Ln(x) - обчислюється натуральний логарифм аргументу. Результат має дійсний тип. За допомогою
функцій Exp та Ln можна обчислити довільну степінь числа наступним чином: ab=Exp(b*Ln(a)).
Pi - повертає значення числа p (3.1415926).
Sin(X) - обчислення синуса Х. Параметр задає значення кута в радіанах. Для перетворення значення
кута з радіанної міри в градусну необхідно значення кута помножити на число 180/p. Результат має
дійсний тип.
Sqr(X) - піднесення до квадрату значення Х (x2
). Тип результату збігається з типом параметра.
Sqrt(X) - обчислення квадратного кореня з Х. Тип результату дійсний.
Random - генерує значення випадкового числа з діапазону від 0 до 0.99. Тип результату дійсний.
Random(P) - генерує значення випадкового числа з діапазону від 0 до P. Тип результату цілий. Щоб
випадкові числа були "більш випадковими", необхідно періодично змінювати базу генерації. Для цього
використовується процедура Randomize, що дозволяє при кожному новому запуску програми
отримувати різні випадкові числа.
Для величин перелічувальних типів (всі цілі, літерний та булівський) існують також декілька
зручних стандартних функцій та процедур, наведених нижче:
Dec(x,[dx]) - процедура зменшує значення змінної Х на величину DX, а якщо параметр DX не заданий -
на 1.
Inc(x,[dx]) - процедура збільшує значення змінної Х на величину DX, а якщо параметр DX не заданий -
на 1.
Pred(X) - функція, що визначає попереднє значення для даного типа. Наприклад, Pred(5)=4,
Pred(True)=False, Pred('B')='A'.
Succ(X) - функція, що визначає наступне значення для даного типа. Наприклад, Succ(5)=6,
3. Succ(True)=False, Succ('A')='B'.
Odd(X) - число перевіряється на парність. Аргументом цієї функції може бути тільки число типу
longint, а результат дорівнює true, якщо аргумент парний, і false - в протилежному випадку.