Вывад даных розных тыпаў
Працэдура запісу Write выконвае вывад даных у радок і не закрывае яго, але на дысплеі, калі дайшлі да мяжы, радок разрываецца і ёсць пераход на наступны радок. Калі гэта быў апошні радок экрана, то адбываецца зрух (прагортка) экрана. Вывад можа ісці ў бесфарматным варыянце ці ў фарматным. У аператарах вываду
Write(y1, …, yn); Writeln(y1, …, yn);
параметры y1, …, yn могуць мець тры варыянты запісу:
Е (бесфарматны вывад)
Е:F (фарматны вывад)
Е:F:d (фарматны вывад толькі для сапраўдных даных!).
Тут Е, F, d – выразы. Е – той выраз, што выводзім (просты выпадак – імя пераменнай дазволенага тыпу). Цэлалікавы выраз F паказвае, колькі пазіцый можа заняць Е (значыць, агульная шырыня поля). Цэлалікавы выраз d паказвае, колькі пазіцый у полі F стаіць пасля кропкі. Для адлюстравання чарговага значэння Е пры бесфарматным вывадзе на экране ці прынтэры бярэцца некаторы памер экрана па змаўчанні ў залежнасці ад тыпу выразу Е. Выраз Е належыць да наступнага тыпу: цэлалікавы, сапраўдны, Char, String, Boolean. Для масіваў неабходна арганізаваць іх паэлементны вывад, запісы выводзяцца па палях. Вывад мностваў не прадугледжаны.
Вывад сімвалаў
Сімвал займае адну чарговую пазіцыю ў бесфарматным варыянце.
VAR c : Char;
…
c:='a';
Write(c);Writeln; {вынік a}
Write(c, c, c); {вынік aaa}
У бесфарматным варыянце фармат задаецца канструкцыяй Е: F, дзе Е – той выраз, што выводзім (просты выпадак – імя пераменнай дазволенага тыпу), F – цэлалікавы выраз. Калі F – цэлае дадатнае значэнне, тады інфармацыя прыціскаецца да правага краю поля даўжыні F.
Write(c:3);
Writeln(c:3, c:4, c:5);
{вынік: aaaa},
дзе – прабел.
Калі F – цэлае адмоўнае значэнне, тады інфармацыя выраўноўваецца па левым краі і потым ігнаруюцца астатнія пазіцыі.
Writeln(c:-3, c:2); {вынік: aa}
Вывад радковых даных
Значэнне радковых даных пры бесфарматным вывадзе адлюстроўваецца ў файле без абмежавальных апострафаў.
Калі на дысплеі значэнне данага дасягнула правага краю экрана, яно працягваецца без перарыву ў наступным радку экрана з першай пазіцыі.
Фарматны вывад мае такі ж сэнс, як і пры вывадзе сімвала: задаём шырыню поля вываду канструкцыяй E:F, дзе Е – той радковы выраз, што выводзім (просты выпадак – імя радковай пераменнай). Калі шырыні не хапае для даўжыні радка, фармат ігнаруецца; калі фармат дадатны і большы за бягучую даўжыню радка, значэнне выраўноўваецца па правым краі, калі ж адмоўны – па левым.
VAR S, S1 : STRING[10]; … S:='аб'; S1:='се';
{бягучая даўжыня – 2}
Writeln(S, S1); {абсе}
Writeln(S:12, S1:-13); {абсе}
Writeln(S:-12, S1:13); {абсе}
Вывад лагічных значэнняў
У тэкставы файл пападае інфармацыя: радок true ці false. Фарматны вывад задаецца таксама, як і для радка сімвалаў.
Вывад цэлалікавых значэнняў
Дадатны лік выводзіцца без знака, адмоўны – са знакам «–». Колькасць пазіцый абмяжоўваецца велічынёй данага і займае роўна столькі месца, колькі ў значэнні данага будзе дзесятковых лічбаў:
a := 123;
Write (a); {123}
Writeln(-15, 123, -150); {-15123-150}
У фарматным варыянце задаецца канструкцыя E:F, дзе Е – той выраз, што выводзім (просты выпадак – імя цэлалікавай пераменнай), F – цэлалікавы выраз, які рэгулюе шырыню поля вываду, як і для радка сімвалаў.
Калі значэнне даных не ўмяшчаецца ў адведзенае поле, тады F ігнаруецца і данае зойме столькі пазіцый, колькі патрабуе яго значэнне.