Дійсний тип
Якщо дані, можуть приймати дробові (не цілі) значення, або їх значення може перевищувати значення типу Longint, то потрібно обирати дійсний тип.
Найменування типу | Діапазон значень | Розмір у байтах |
---|---|---|
Real
| -2.9*10-39 ... 1.7*10+38 |
6
|
Виведення дійсних чисел
Дійсні числа представлені у Паскалі у вигляді мантиси та порядку. Мантиса від порядку відділена символом E.
Наприклад, у числі -1.3586000000E+02 мантиса -1.3586, а порядок +02.
Мантиса завжди задовольняє нерівность 1<= мантиса <10.
Дійсне значення числа: число= мантиса*10порядок
Програма | Результат роботи програми |
---|---|
Program P1; Var x:real; Begin X:=-135.86; Writeln(x); End. | Ця програма надрукує - 1.3586000000E+02 замість -135.86 |
Приклади читання дійсних чисел
Вигляд дійсного числа на екрані монітора | Число |
---|---|
–5.12300000000000E+03 | -5123 |
3.72100000000000E-01 | 0.3721 |
–1.23400000000000E-02 | -0.01234 |
Приклади запису дійсних чисел
Якщо числа дуже маленькі або великі, їх можна записувати у вигляді мантиси та порядку. Символ E можна писати маленький або великий, знак + можна не писати, незначущі нулі теж можна не писати.
Число | Запис числа у програмі або при вводі | Скорочений запис |
---|---|---|
0.00005 | 5.0000000000E-05 | 5e-5 |
10-7 | 1.0000000000E-07 | 1e-7 |
108 | 1.0000000000E+08 | 1e8 |
Приклади виводу на екран дійсних чисел
Програма | Результат роботи |
---|---|
Program P1; Begin Writeln(153.4); End. | 1.5340000000E+02 |
Program P2; Begin Writeln(-0.7); End. | -7.0000000000E-01 |
Program P3; Begin Writeln(2e-1); End. | 2.0000000000E-01 |
Program P4; Begin Writeln(50e2); End. | 5.0000000000E+03 |
Форматований вивід дійсних чисел
Читати такі дійсні числа незручно, тому при виводі дійсні числа форматують.
Writeln(x:n:m);
При виведенні змінній x відводиться всього n позицій, з них m після крапки.
Програма | Результат | Пояснення |
---|---|---|
Program P1; Var x:real; Begin X:=-135.86; Writeln(x:7:2); End. | -135.86 |
Все число займає 7 позицій,
з них 2 позиції після крапки |
Program P2; Var x:real; Begin X:=-135.86; Writeln(x:1:2); End. | -135.86 |
Якщо числу відводиться мало
позицій, воно займає позицій стільки, скільки йому потрібно |
Program P3; Var x:real; Begin X:=-135.86; Writeln(x:9:2); End. | -135.86 | Якщо числу відводиться більше позицій, ніж потрібно воно доповнюється зліва пробілами |
Program P4; Var x:real; Begin X:=-135.86; Writeln(x:1:1); End. | -135.9 | Якщо для числа вказується кількість знаків після крапки менша, ніж є у ньому, то число округлюється |
Program P5; Var x:real; Begin X:=-135.86; Writeln(x:1:3); End. | -135.860 | Якщо для числа вказується кількість знаків після крапки більша, ніж є у ньому, то число справа доповнюється нулями |
Program P6; Var x:real; Begin X:=-135.86; Writeln(x:10:3); End. | -135.860 | Одночасно: справа нулі, зліва пробіли |
Program P7; Var x:real; Begin X:=-135.86; Writeln(x:5); End. | -1.4E+02 | Скорочений вивід у вигляді мантиси та порядку, якщо не вказано кількість знаків після крапки |
Форматований вивід цілих чисел
Програма | Результат | Пояснення |
---|---|---|
Program P1; Var x:integer; Begin X:=54; Writeln(x); End. | 54 | Звичайний вивід |
Program P2; Var x:integer; Begin X:=54; Writeln(x:4); End. | 54 | Число зліва доповнюється пробілами |
Program P3; Var x:integer; Begin X:=54; Writeln(x:4:1); End. | Помилка! | Для цілих чисел не можна вказувати кількість знаків після крапки |
Немає коментарів:
Дописати коментар