- •Простыя даныя мовы Pascal і работа з імі Тыпы звестак
- •Канстанты і пераменныя
- •Абсалютныя пераменныя
- •Цэлалікавыя даныя
- •Бітавая арыфметыка
- •Дзеянні бітавай арыфметыкі
- •Сапраўдныя даныя
- •Аперацыі над сапраўднымі данымі
- •Выразы мовы
- •Літарныя даныя
- •Функцыі
- •Булеўскія даныя
- •Даныя адраснага тыпу
- •Даныя карыстальніцкага тыпу
- •Даныя пералічальнага тыпу
- •Даныя інтэрвальнага тыпу
- •Элементарныя сродкі па рабоце з данымі Наданне значэння даным
Сапраўдныя даныя
Даныя гэтага тыпу маюць сваімі значэннямі падмноства сапраўдных лікаў, якія дапушчальны ў камп’ютары, займаюць у памяці ад 4 да 10 байтаў і прадстаўляюцца ў форме з плаваючай кропкай у 2-й с/зл. Колькасць вартасных лічбаў ліку абмежавана, таму значэнні даных сапраўднага тыпу могуць быць прадстаўлены ў машыне недакладна.
У праграме ж на алгарытмічнай мове выявы ліку сапраўднага тыпу могуць быць запісаны як у форме з плаваючай кропкай, так і з фіксаванай, напрыклад Х = 0.0001 ці Х = 1Е–4.
Мы ўжо разглядалі структурныя дыяграмы для запісу значэнняў гэтага тыпу. Абагульніць можна так.
С апраўдны лік:
Парадак:
Адсюль вывад: наступныя лікі няправільныя з пункту гледжання сінтаксісу мовы: .3 (правільна 0.3), 10. (правільна 10.0 ці 10).
Наступная табліца паказвае, якія характарыстыкі маюць сапраўдныя даныя.
Тып |
Дыяпазон модуля |
Колькасць лічбаў мантысы |
Памяць у байтах |
|
Real |
2.9*10–39..1.7*1038 |
11–12 |
6 |
|
Single (просты) |
1.5*10–45..3.4*1038 |
7–8 |
4 |
Патрабуюць праграмнай эмуляцыі апаратных аперацый і выклік супрацэсара. Патрэбны дырэктывы {$E+}, {$N+} |
Double (падвойны) |
5.0*10–324..1.7*10308 |
15–16 |
8 |
|
Extended (пашыраны) |
3.4*10–4932..1.1*104932 |
19–20 |
10 |
|
Comp (цэлалікавыя значэнні) |
–9.2*10+18.. 9.2*10+18 |
19–20 |
8 |
Аперацыі над сапраўднымі данымі
Над сапраўднымі данымі вызначаны арыфметычныя аперацыі, аперацыі адносін і шэраг функцый.
1. Арыфметычныя аперацыі: +, –, *, / (адзін з аперандаў можа быць цэлы, але вынік будзе сапраўднага тыпу).
2. Аперацыі адносін: =, >, <, <>, >=, <= (вынікам будзе true ці false).
Заўвага. Трэба памятаць, што да аперандаў сапраўднага тыпу няварта прымяняць аперацыю адносін «=», бо ўмова можа не выканацца з-за недакладнага ўяўлення сапраўдных лікаў у памяці ПК і непазбежных памылак акруглення пры падліку выразаў гэтага тыпу.
Таму адносіну лепш замяніць адносінай дзе – некаторая малая велічыня – хібнасць акруглення.
3. Матэматычныя функцыі:
У пералічаных функцый аргумент можа быць і даным цэлага тыпу, але вынік, акрамя і – заўсёды сапраўдным.
У стандарце мовы няма аперацыі ўзвядзення ў ступень (за выключэннем ), таму выкарыстоўваюць тоеснасць але тут трэба сачыць за знакам асновы
4. Іншыя функцыі:
– вылічэнне дробнай часткі (fraction – дроб);
– вылічэнне цэлай часткі , адкідванне дробнай;
– вяртае значэнне ліку : 3.141592653897932385 (19 лічбаў);
– генерыруе значэнне выпадковага ліку з дыяпазону ;
– генерыруе значэнне выпадковага ліку з дыяпазону 0..I–1 (цэлалікавы бяззнакавы вынік);
– змена базы генерацыі, каб выпадковыя лікі былі больш выпадковымі. Прымяняецца толькі адзін раз у праграме.
Заўвага. У мове няма некаторых убудаваных функцый, таму можна іх падлічваць, выкарыстоўваючы іншыя звесткі:
, , ,
, , ,
, , ,
, .