Елементи програми – це мінімальні неділимі її часточки, які мають певне значення для компілятора. До них відносяться:
w Зарезервовані слова;
w Ідентфікатири;
w Типи;
w Константи;
w Змінні;
w Мітки;
w Підпрограми;
w Коментарі.
Зарезервовані слова – це англійські слова, що вказують компілятору на необхідність виконання певних дій. Таких слів кілька десятків. Знайомство з ними продовжиться при вивченні інших структурних елементів Delphi. Нам вже кілька з них відомі . Ці слова не можна використовувати в програмі крім їх прямого призначення. Наприклад, не можна використати слово BEGIN для назви константи, мітки, змінної, тощо.
Ідентифікатори - це конструкції, які програміст використовує як імена міток, змінних, процедур, тощо. Ідентифікатори Delphi можуть складатися з латинських літер, арабських цифр та знаку підкреслення.
Типи – це спеціальні конструкції мови, які компілятор розглядає як зразок для створення інших елементів програми. Будь-який тип визначає для компілятора дві речі: обсяг пам’яті, що треба виділити для елемента та набір допустимих дій, які допустимі для елемента.
Константи визначають області пам’яті, які не змінюють своє значення в ході виконання програми. Оголошення імен констант повинно починатись зарезервованим словом CONST. Наприклад:
Змінні пов’язані з змінними областями пам’яті, тобто їх значення в ході виконання програми будуть змінюватись. Розділ оголошень змінних починається з зарезервованого слова VAR. Наприклад, в програмі ї змінні для зберігання значень суми покупки та величина скидки. Можна використати імена TotalSumm і Discount або ObSumma і Skidka.
На мові Delphi кожна змінна перед використанням повинна бути оголошена. В оголошенні визначається тип кожної змінної, з чого компілятор визначить довжину комірку ОП для значення змінної, а також правила її використання. Інструкція оголошення змінної має вигляд: Ім’я : тип; де
· Ім’я — ім’я змінної;
тип — тип даних, для збереження яких використовується змінна.
Розділ оголошень змінних починається з зарезервованого слова VAR.
Стандартні типи даних:
Тип
Діапазон
Формат
Цілі типи даних
Shortint
-128-127
8 біт
Smallint або integer
-32 768 - 32 767
16 біт
Longint
-2 147 483 648 - 2 147 483 647
32 біта
Int64
-263- 263 - 1
64 біта
Byte
0-255
8 біт, беззнаковий
Word
0-65 535
16 біт, беззнаковий
Longword
0 - 4 294 967 295
32 біта, беззнаковий
Дійсні типи
Real
2.9x 10-39-1.7x1038
11-12 позицій
06 байтів
Single
1.5 x 10-45-3.4х 1038
7-8 позицій
04 байтів
Double
5.0x10-324 -1.7x10308
15-16 позицій
08 байтів
Символьні типи
Ansichar
динамічно разміщені в пам’яті рядки, довжина яких обмежена тільки обсягами вільної пам’яті
Widechar
динамічно разміщені в пам’яті рядки, довжина яких обмежена тільки обсягами вільної пам’яті. Кожен символ рядка типа WideString є Unicode-символом.
shortstring або string
Символьний тип, символи в коді ANSI, яким відповідають чисда в діапазоні від 0 до 255
Longstring
Символі в коді Unicode, їм відповідають числа від 0 до 65 535.
WideString
Статично розміщені в пам’яті комп’ютера рядки довжиною від 0 до 255 символов;
Boolean
Логічний тип
Наприклад:Var a,b,c: real; i,k,n: word;
Числа звичайно записуються в десятковій системі числення. Вони можуть бути цілими і дійсними. Для додатних чисел знак (+) може бути відсутнім, як і в математиці: 217 -23 +107 8900.
Дійсні числа записуються з десятковою крапкою: 2.28 -0.02 10.5, чи в нормалізованій формі: 7.9Е9 1.008Е-12 5.0Е-23, де мантиса і порядок числа записуються через латинську літеру Е. (4.7Е-27 ~ 4,7• 10-27).
Delphi допускає запис цілих чисел у 16-ричной системі числення: $7F2 $1A0…
Вираз складаються з констант, змінних, знаків операцій і дужок. Вираз визначає правило обчислення певного значення. Порядок обчислення визначається старшинством (пріоритетом) операцій, що містяться в ньому. На мові Delphi прийнятий наступний пріоритет операцій:
1. унарна операція not, взяття адреси @, обчислення функції;
2. операції *-помножити, /-поділити, div – ціла частина від ділення, mod – виділення залишку від цілочисельного ділення;
3. операції типу додавання +, - , or, xor;
4. операції відносин: =, <, >, <=, >=, <>, in {}.
Вирази входять до складу багатьох операторів мови Delphi, а також можуть бути аргументами вбудованих функцій.
Запис арифметичних виразів на будь-якій мові програмування відрізняється від математичного запису горизонтальним принципом побудови, тобто символи (складові виразу) записуються послідовно один за іншим.
У записі виразу мовою програмування з'являється багато додаткових дужок, тому що посилення пріоритету деяких операцій передбачається в математичному записі за рахунок вертикальності їхнього запису. Також, деякі операції в математиці передбачаються, а знак множення не пишеться між змінними та числами, чого не можна робити при оформленні запису вираження мовою програмування. Зведення в степінь заміняється багаторазовим множенням, чи записується за допомогою деяких стандартних функцій:
Стандартні функції Delphi:
Delphi
Коментарі, матем. форма
Delphi
Коментарі, матем. форма
Sin(x)
Sin x- аргумент в
Round(x)
Округлити до цілих
Cos(x)
Cos x - радіанах
Frac(x)
Дробна частина Х
Arctan(x)
Arctg x -
Ln(x)
Ln X
Abs(x)
| x | - абсол. величина х
Trun(x)
Ціла частина Х
Sqrt(x)
√x – квадр. корень з х
Int(x)
Обнулить дробну частину
Sqr(x)
x2 – квадрат числа
Random
Випадкове дійсне Î(0;1)
Exp(x)
eX – експонента е
Random(n)
Випадкове ціле Î[0;n]
Але як бути, якщо в математичній моделі присутні функції, які відсутні в приведеному переліку? Будьте певні, необхідний мінімум тут присутній. Треба виконати незначні математичні перетворення однієї функції. в іншу. Розглянемо приклади.
sin40°=sin(40∙p/180) ~~sin(40*pi/180);
tg(x+p/4) = ~~sin(x+pi/4)/cos(x+pi/4);
~~ln(x)/ln(2);
~~exp(x*ln(a));
~~ exp(1/n*ln(a));
~~ arctan(sqrt(1-sqr(x))/x);
Функції перетворення даних одного типу в інший найчастіше використовується в інструкціях, що забезпечують введення-виведення інформації. Наприклад, для того, щоб вивести значення змінної типу real, необхідно перетворити число в рядок символів, що відображає це число. Це можна зробити за допомогою функції FloatToStr, яка повертає рядкове відображення дійсного числа, вказаного як аргумент цієї функції.
Таблиця 10.Функції перетворення
Функція
Значення функції
Chr(n)
Символ, код якого дорівнює n
IntToStr (k)
Рядок – відображення цілого k
FloatToStr (n)
Рядок – відображення дійсного n
FloatToStrF(n, fffixed , k,m)
Рядок – відображення дійсного n в форматі: fffixed — формат з фіксованою крапкою; k — точність (загальна кількість символів); m — кількість цифр після десяткової точки.
StrToInt (s)
Ціле – відображення рядка s
StrToFloat (s)
Дійсне – відображення рядка s
Інструкція «Обчислити і присвоїти».
Формат :
По команді процесор виконує наступні дії:
1. Якщо в правій частині є змінні, їхні значення вводяться (читання) з ОП;
2. Якщо праворуч зазначені арифметичні дії, то процесор послідовно виконує їх.
3. Отримане значення записується в ОП в комірку, відведену для змінної, зазначеної в операторі ліворуч.
Наприклад:
a:= 3.056;- в ОП в комірку з умовною адресою а записується число 3,056;
f : = a; - з комірки а значення скопіювати в комірку f.
m : = (6*a-b)/3.8; - з ОП зчитати значення змінних а і b, обчислити вираз і результат записати в ОП в комірку для змінної m.