11.02.2021
Новые видео и статья Как найти элемент в документе HTML.
02.02.2021
Новый выпуск журнала Автоматизация и Программирование.
25.01.2021
Новая задача Найти количество нулей в двоичном числе.
10.01.2021
Новый выпуск журнала Автоматизация и Программирование.
08.12.2020
Новые видео и статья Таблицы в HTML.
Процедуры Write и WriteLn
Раздел: Стандартные функции Паскаля
Процедуры Write и WriteLn выполняют вывод информации в устройство стандартного вывода. В консольных приложениях этим устройством может быть консоль (то есть экран), в графических приложениях - файл на диске.
Эти процедуры выполняют одно и то же действие. Отличие между ними только одно: процедура WriteLn после завершения вывода выполняет перевод строки. А процедура Write записывает данные подряд - без перевода строки.
Синтаксис для вывода на консоль:
procedure Write(Args : Arguments);
Синтаксис для вывода в файл:
procedure Write(var F: Text; Args : Arguments);
Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:
var x, y, z : integer; str : string; begin x := 1; y := 2; z := 3; str := ' - Numbers'; Write(x, y, z, str); ReadLn; end.
Причём, как уже было сказано, при выводе на консоль эти переменные могут быть разных типов. Также можно использовать и константы:
Write('Numbers - ', x, y, z, 100);
Если требуется перевод строки, то лучше использовать функцию WriteLn вместо Write:
WriteLn(x, y, z, str); //Выводим данные и переводим строку Write('Numbers - ', x, y, z); //Это будет уже в новой строке
Но можно использовать, например, символы перевода строки в конце списка аргументов:
Write('Numbers - ', x, y, #10#13); //Этот код тоже выполнит //перевод строки Write('Numbers - ', x, y, z); //Это тоже будет уже //в новой строке
При записи в файл можно работать как с типизированными файлами, так и с текстовыми файлами.
Если F (см. синтаксис) - это типизированный файл, то переменные, передаваемые как параметры (Args) должны иметь такой же тип, какой указан для файла F. Нетипизированные файлы использовать не допускается. Если параметр F не указан, то предполагается, что вывод выполняется на стандартное устройство (экран-консоль).
Если файл F имеет тип Text, то все необходимые преобразования будут выполнены таким образом, что выходная переменная будет в удобочитаемом формате. Это преобразование выполняется для всех числовых типов. Строки и типы PChar выводятся точно так, как они находятся в памяти.
При выводе на консоль целые числовые значения выводятся в обычном числовом формате. А вещественные числовые значения по умолчанию выводятся в научной нотации.
Чтобы выводить целые числа в поля фиксированной ширины или вещественные числа с фиксированным количеством знаков после запятой, используется специальный формат вывода. Но об этом в данной статье я говорить не буду, так как уже рассказывал об этом здесь.
Если во время выполнения процедуры Write/WriteLn происходит ошибка, то генерируется ошибка времени выполнения. Такое поведение не всегда приемлемо (например, во время чтения/записи файла). Поэтому в каких-то случаях генерацию ошибок отключают. Сделать это можно с помощью директивы компилятора {$I}.
Подписаться на канал в YouTube
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
![]() |
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее... |