Содержание

Форматированный вывод на экран

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