Змінна – іменована область в пам’яті, яка доступна для читання та запису в ходы виконання програми.
В мові Паскаль змінні оголошуються в блоці var. Декілька змінних одного типу можуть бути оголошені одним рядком, при цьому імена змінних розділяються комами.
var
variableName : variableType;
x, y, z : integer;
Приклад програми з використанням змінних:
{$CODEPAGE UTF8}
program Variables;
var
userName : string;
x, y, z : integer;
begin
write('Enter your name: ');
readln(userName);
writeln('Hello ', userName);
write('x = ');
readln(x);
write('y = ');
readln(y);
z := x + y;
writeln('z = ', x,' + ', y, ' = ', z);
writeln('Press Enter to Exit...');
readln;
end.
Для читання даних з консолі використовується процедура readln.
Основні типи даних Pascal
- boolean - логічний тип, може приймати значення True(Істина) або False(Хибність);
- integer - ціле число;
- real - дійсне число, або число з плаваючою комою;
- char - символьний тип даних, може містити один символ;
- string - рядок, послідовність символів.
Цілі типи даних мови програмування Free Pascal
| Тип | Діапазон значень | Розмір в байтах |
|---|---|---|
| Byte | від 0 до 255 | 1 |
| ShortInt, Int8 | від -128 до 127 | 1 |
| SmallInt, Int16 | від -32768 до 32767 | 2 |
| Word | від 0 до 65535 | 2 |
| Cardinal | від 0 до 4294967295 | 4 |
| Integer, LongInt, Int32 | від -2147483648 до 2147483647 | 4 |
| LongWord | від 0 до 4294967295 | 4 |
| Int64 | від -9223372036854775808 до 9223372036854775807 | 8 |
| QWord | від 0 до 18446744073709551615 | 8 |
Дійсні числа
| Тип | Діапазон | Значащих цифр | Розмір в байтах |
|---|---|---|---|
| Single | від 1.5e-45 до 3.4e38 | 7-8 | 4 |
| Real, Double | від 5.0e-324 до 1.7e308 | 15-16 | 8 |
| Extended | від 1.9e-4932 до 1.1e4932 | 19-20 | 10 |
| Comp | від -2e64+1 до 2e63-1 | 19-20 | 8 |
| Currency | від -922337203685477.5808 до 922337203685477.5807 | - | 8 |
“E” - показує степінь в числах з плаваючою крапкою. Вираз 3.6e5 еквівалентний математичному запису 3.6*105.
Символьні та рядкові типи даних
| Тип | Діапазон значень | Розмір в байтах |
|---|---|---|
| Char | 1 символ | 1 |
| WideChar | 1 символ Unicode | 2 |
| String, ShortString | рядок довжиною до 225 символів | залежить від довжини |
| AnsiString | не обмежено по довжині | залежить від довжини |
| WideString | не обмежений по довжині Unicode рядок | залежить від довжини |
Для рядків можна не вказувати довжину, тоді вони приймають значення 255 символів:
var
s1 : string[12]; // рідок довжиною 12 символів
s2 : string; // рядок довжиною 255
Логічні типи
| Тип | Розмір в байтах | Значення для True | Значення для False |
|---|---|---|---|
| Boolean | 1 | 1 | 0 |
| ByteBool | 1 | Будь-яке ненульове значення | 0 |
| WordBool | 2 | Будь-яке ненульове значення | 0 |
| LongBool | 3 | Будь-яке ненульове значення | 0 |