Рассмотрим форматированный вывод на экран с помощью процедур Write и WriteLn. Окончание ln-означает, что курсор должен перейти на начало следующей строки. Таким образом, эти функции почти идентичны.
Write (Str : x);
Параметр x означает, что строка будет занимать x ячеек и выравниваться по правому краю.
Если его не указать, то строка выведется с выравниванем по левую сторону и будет занимать количество ячеек, равное длине строки.
тест
ещё тест
тест
ещё тест
Аналогично со строками, x означает вывод числа с выравниванием по правую сторону.
Write (Num : x);
writeln (12 : 10);
12
writeln (12);
12
Появляется дополнительный параметр y, означающий количество знаков (цифр) после точки, которые мы хотим вывести. Например, с точностью y = 3 знаков. Его можно не указывать в случае, когда вы хотите вывести число в «научном» виде.
Write (Num : x : y);
writeln (12.304 : 10);
1.2E+0001
writeln (12.304 : 10 : 2);
12.30
writeln; { Выводит числа с промежутком в 4 позиции один от другого, выравнивая по правому краю } for i:=1 to M do write (A[i] : 4);
-10 3 14 -87
type arr= array[1..P,1..Q] of real; procedure ShowMatrix(var A: arr; M,N: integer); var i,j: word; begin Writeln; For i:=1 to M do begin Writeln; { переход на следующую строку } for j:=1 to N do Write (A[i,j]:8:2); end; end;
29.33 28.00 20.67 23.33 19.00 10.33
type TDataBook=record Name: string[30]; Phone: string[10]; Street: string[30]; Gender: Char; {(M)ale/(F)emale} end; const Rec=3; { Count of Records } var DataBook: TDataBook; A: Array[1..Rec] of TDataBook; i: word; begin With DataBook do begin for i:=1 to Rec do with A[i] do begin writeln; write('Name: '); readln(Name); write('Phone: '); readln(phone); write('Street: '); readln(street); write('Gender [(M)ale/(F)emale]: '); readln(gender); end; Writeln; writeln ('Name':30, 'Phone':10, 'Street':30, 'Gender':7); for i:=1 to Rec do with A[i] do writeln (Name:30, Phone:10, Street:30, Gender:2); end; writeln('Press Enter.'); readln; end.
Name Phone Street Gender Ivan 2-3-4 Lenina M Peter 3-4-5 Vyazov M Vika 4-5-7 Duby F