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