====== Форматированный вывод на экран ======
Рассмотрим форматированный вывод на экран с помощью процедур //Write// и //WriteLn//.
Окончание //ln//-означает, что курсор должен перейти на начало следующей строки. Таким образом, эти функции почти идентичны.
===== Вывод строк =====
Write (Str : x);
Параметр //x// означает, что строка будет занимать //x// ячеек и выравниваться по правому краю.\\ Если его не указать, то строка выведется с выравниванем по левую сторону и будет занимать количество ячеек, равное длине строки.
== Пример вывода с параметром x = 20 для строки 'тест' : ==
тест
== Пример вывода с параметром x = 20 для строки 'ещё тест' : ==
ещё тест
== Пример вывода без параметра x для строки 'тест' : ==
тест
== Пример вывода без параметра x для строки 'ещё тест' : ==
ещё тест
===== Вывод целых чисел =====
== Общий формат : ==
Аналогично со строками, //x// означает вывод числа с выравниванием по правую сторону.
Write (Num : x);
=== Вывод с выравниванием x = 10 ===
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
===== Одномерный массив A (M) целых чисел =====
writeln;
{ Выводит числа с промежутком в 4 позиции один от другого, выравнивая по правому краю }
for i:=1 to M do write (A[i] : 4);
== Пример вывода: ==
-10 3 14 -87
===== Матрица A (MxN) из вещественных чисел =====
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