Рассмотрим форматированный вывод на экран с помощью процедур 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


2010-11-12 • Просмотров [ 1385 ]