Вывод данных – это процесс их передачи из оперативной памяти на внешний носитель информации или устройство вывода данных.

Вывод данных

 

Вывод, или запись (от англ. write – писать), значения выражения на дисплей осуществляется с помощью процедуры writeln или write.

 

Синтаксис процедуры write:

write (элемент1, элемент2, ..., элементN);

где write – имя процедуры, стандартный

идентификатор;

элемент1, элемент2, ..., элементN – список вывода.

Важно:

Элементом списка вывода может быть целое или действительное число (3, 42, –1732.3), символ (‘a’, ’z’), строка (‘Hellow world’), логическое значение (true), именованная константа, переменная, выражение, обращение к функции (если результатом функции является целый, действительный, символьный, строчный или логический тип).


Действие процедуры:

Все элементы списка вывода процедуры write печатаются в одной строке дисплея в заданном порядке.

 

Курсор остается на той же строке после последнего элемента.

Т.е. процедура не закрывает текущую строку.

 

Формально размер строки не ограничен.

Но если строка символов, которая выводится, имеет длину, превышающую ширину окна дисплея, то символы переносятся на новую строку.

 

Также если вывод символа осуществляется в правом уголке последней строки, то уже отображенные строки символов автоматически сдвигаются кверху.

 

Процедура writeln имеет синтаксис:

writeln (элемент1, элемент2, ..., элементN);

где writeln – имя процедуры, стандартный идентификатор;

элемент1, элемент2, ..., элементN – список вывода.

Действие процедуры: все элементы печатаются в одной строке дисплея в заданном порядке. После этого курсор устанавливается в начало следующей строки.


 

Вызов процедуры вывода после предшествующего вызова writeln отобразит данные в новой строке, в то время как вывод после предшествующего вызова write будет осуществляться в той самой строке, с текущей позиции курсора.

 

Когда распечатываются элементы списка вывода с помощью процедуры write (writeln), между ними пробелы автоматически не вставляются.

Если надо разделить выведенные значения пробелами, то они должны быть указаны в списке вывода непосредственно, например:

 

writeln (a,' ',b,' ',c);

 

Пусть переменные x, y, z, student, flag имеют следующие значения:

x := 3; y := 4; z := 6; student := 'Ivan'; flag := true;

 

Тогда вывод может выглядеть:

Процедуры вывода Результат
writeln (x,y,z);
writeln (x,' ',y,' ',z); 3 4 6
writeln ('Hellow', student); HellowIvan
writeln ('Hellow ', student,'.'); Hellow Ivan.
writeln (flag); true

 


С помощью процедур write, writeln возможно осуществить форматный вывод данных, т.е. представление результатов в нужном для пользователя виде.

 

Для этого после элемента в списке вывода записывают формат – двоеточие и число целого типа, которое означает количество позиций на экране (элемент : m).

Элемент может быть не только целым числом, но и выражением целого типа, константой, переменной, обращением к функции.

 

Т.е. в этом случае процедура вывода выглядит так:

writeln (элемент1: ширина1, элемент2 : ширина2, ..., елементN : ширинаN);

 

Когда ширина поля больше количества символов в элементе вывода, элемент автоматически дополняется начальными пробелами.

Внутри поля значения выравнивается по правой границе поля.

Если ширина поля недостаточная, ОР автоматически увеличивает ее до минимально необходимого размера.


 

Например, для переменных целочисленного типа, которые имеют значения k = 50, L = 3, d = 200, форматный вывод на экран дисплея выглядит следующим образом:

 

Процедуры вывода Результат
writeln (k, L, d)
writeln (k : 2, L : 2, d : 2); 50 3200
writeln (k, L : 2, d : 4); 50 3 200

 

Рассмотренный выше способ задания формата можно использовать для целых и действительных значений, символов, строк и логических выражений[В2] .


 

Но при таком задании формата действительные числа выводятся в экспоненциальной форме (или форме с плавающей точкой). Так для w = 123,45 имеем (пример для Lazarus):

Процедуры вывода Результат Количество позиций на экране
writeln (w); 1. 234500000000000E+002
writeln (w : 9); 1.2E+002
writeln (w : 15); 1. 2345000E+002

 

Если не использовать форматный вывод, то для данных действительного типа на экране выделяется 22 позиции, т.е. число представляется в виде:

,

где Х – число, по модулю меньше, чем 10;

Е – специальный символ;

± – знак «плюс» или «минус».

Это продемонстрировано использованием первой процедуры writeln (w).

Такой способ вывода называют стандартным.


Второй и третий пример использует формат в экспоненциальной форме. Еще вывод такого типа называют выводом с плавающей точкой.

 

Необходимо отметить, что ширину поля для действительных чисел необходимо указывать не меньше 10 (Delphi 6) и 9 (Lazarus).

 

В OP для действительных чисел предусмотрен еще один тип вывода – с фиксированной точкой.

 

В этом случае после поля ширины через двоеточие необходимо указать и второй параметр количество позиций, которые отводятся под дробную часть из общей ширины поля.

 

Если количество цифр, которые выводятся, меньше ширины поля, то значение выравнивается по правой

границе, т.е. слева добавляются пробелы.

Если перед числом, которое означает ширину поля, поставить минус, значения выравниваются по левой границе.


 

Например, переменную w можно вывести на экран таким образом:

Процедуры вывода Результат
writeln (w : 6:2); 123.45
writeln (w : 8:2); 123.45
writeln (w :– 8:2); 123.45
writeln (w : 8:4); 123. 4500

 


Если нужно осуществить пропуск n пустых позиций, то это возможно сделать с помощью спецификации