четвер, 11 січня 2018 р.

Дійсний тип

Дійсний тип

Якщо дані, можуть приймати дробові (не цілі) значення, або їх значення може перевищувати значення типу 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-010.3721
–1.23400000000000E-02-0.01234

Приклади запису дійсних чисел

Якщо числа дуже маленькі або великі, їх можна записувати у вигляді мантиси та порядку. Символ E можна писати маленький або великий, знак + можна не писати, незначущі нулі теж можна не писати.
ЧислоЗапис числа у програмі або при вводіСкорочений запис
0.000055.0000000000E-055e-5
10-71.0000000000E-071e-7
1081.0000000000E+081e8

Приклади виводу на екран дійсних чисел

ПрограмаРезультат роботи
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.
Помилка! Для цілих чисел
   не можна
   вказувати
кількість знаків
  після крапки

Немає коментарів:

Дописати коментар