Приложение B. Стандартни Процедури и Функции
101
Ако f е типизиран файл, то v1, ..., vn трябва да бъдат от типа на компонентите на
този файл. Като всяко v се записва във вътрешно представяне във файла.
Ако f e текстов файл v1, ..., vn са променливи или изрази от тип INTEGER, CARDINAL,
LONGINT, WORD, LONGWORD, CHAR или техни диапазони, както и от тип REAL,
PACKED ARRAY OF CHAR или STRING. Всички параметри се преобразуват от
вътрешно представяне в символно и тогава се записват в текстовия файл. Всеки
параметър v1, ..., vn се записва в една от следните три форми: v, v:w, v:w:f. Тук с v
е обозначен параметъра, с w и f се обозначават аритметични изрази от тип INTEGER,
като третата форма е допустима само за реални параметри. Когато параметъра w е
зададен, той указва дължина на полето (брой позиции), в което е необходимо да се
запише дадения параметър. Ако размера на полето не е указан, подразбира се 0,
което означава, че се използват толкова позиции, колкото е необходимо. Ако w е
зададен и неговата абсолютна стойност е по-малка от големината на v в символно
представяне, то стойността му се игнорира (т.е. използват се толкова позиции,
колкото са необходими). Ако абсолютната стойност на w е по-голяма от броя на
позициите, необходими за представяне на v, то: ако стойността на w е положителна,
то пред символното представяне на стойността на v се записват толкова интервали,
че заедно с представянето на v да заемат w позиции (т.е. прави се изравняване в
дясно); а ако стойността на w е отрицателна, интервалите се записват след
стойността на v (т.е. прави се изравняване вляво).
LONGINT и всички негови диапазони (INTEGER, CARDINAL, ... са също диапазони на LONG-
INT) се превръщат в символно десетично представяне (без водещи нули).
CHAR отпечатва се символът (евентуално и интервали, ако w < -1 или 1 < w).
CHAR ARRAY Едномерен пакетиран масив от символи (PACKED ARRAY [xx..xx] OF CHAR)
се отпечатва така, както би се отпечатал низ, който съдържа всичките му
елементи.
STRING отпечатват се последователно всички символи от низа.
LONGWORD и неговите диапазони BYTE и WORD се превръщат в символно
шестнадесетично представяне (със водещи нули), т.е. числото се записва в
шестнадесетична бройна система със съответно 8, 2 и 4 символа.
REAL  Ако v е реален параметър, w е общата дължина на полето, в което трябва да бъде
отпечатана стойността. Ако не е зададено f, то реалното число се отпечатва в
експоненциален вид: sd.ddddE±±ee, където s е знак минус при отрицателно число
или интервал при положително; d е цифра от мантисата на реалното число, броят на
цифрите е w-6; ±± е знакът '+' или '-' в зависимост от знака на порядъка
(експонентата); ee е десетично представяне на порядъка. Ако е зададен параметър
f, то числото се отпечатва с фиксирана точка - f цифри за дробната част (след
десетичната точка), останалото (w-f) за цялата част, точката и знака. Незначещите
водещи нули пред цялата част и незначещите следващи нули след дробната част не
се отпечатват (с изключение на първата 0 от дробната част). Ако зададения брой
цифри за дробната част е по-малък от необходимия, числото се закръглява при
отпечатването. Минималната стойност на w при отпечатване в експоненциален вид е
8 (символният вид е sd.dE±±ee). Ако се зададе стойност, по-малка от 8, използва се
8. Максималната стойност за w е 15 (символният вид е sd.ddddddddE ±±ee).
Примери:
writeln(124, ',', byte(124):4, ',', word(124): -6);
<<  <  GO  >  >>

Вернуться к началу сайта