Чем отличается write от writeln паскаль

Write и writeLn — операторы вывода, применяемые в языке программирования Pascal (Паскаль). Всего две буквы разницы — а результат отличается. Оба служат для инициализации обращения к процедуре вывода информации на экран, на печать или в файл. На практике применяются оба, друг друга не исключают.

Определение

Оператор write инициализирует процедуру вывода информации на экран в одну строку.

Оператор writeLn инициализирует процедуру вывода информации на экран в одну строку с переводом курсора на следующую строчку.

Сравнение

Таким образом, разница между write и writeLn заключается не только в паре лишних букв, но и в дополнительной строке, отображаемой на экране. Это можно использовать для форматирования текста и улучшения его читабельности. Оператор write вынуждает следующие процедуры, выводящие информацию, использовать ту же самую строку, то есть текст получается неделимым. Оператор writeLn требует от следующих процедур вывода перехода к курсору, установленному на строку ниже. Ln в названии — от слова line — линия.

Процедуры Write и WriteLn выполняют вывод информации в устройство стандартного вывода. В консольных приложениях этим устройством может быть консоль (то есть экран), в графических приложениях – файл на диске.

Эти процедуры выполняют одно и то же действие. Отличие между ними только одно: процедура WriteLn после завершения вывода выполняет перевод строки. А процедура Write записывает данные подряд – без перевода строки.

Синтаксис для вывода на консоль:

procedure Write(Args : Arguments);

Синтаксис для вывода в файл:

procedure Write(var F: Text; Args : Arguments);

Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:

Читайте также:  Преобразователь напряжения для газового котла

Причём, как уже было сказано, при выводе на консоль эти переменные могут быть разных типов. Также можно использовать и константы:

Если требуется перевод строки, то лучше использовать функцию WriteLn вместо Write:

Но можно использовать, например, символы перевода строки в конце списка аргументов:

При записи в файл можно работать как с типизированными файлами, так и с текстовыми файлами.

Если F (см. синтаксис) – это типизированный файл, то переменные, передаваемые как параметры (Args) должны иметь такой же тип, какой указан для файла F. Нетипизированные файлы использовать не допускается. Если параметр F не указан, то предполагается, что вывод выполняется на стандартное устройство (экран-консоль).

Если файл F имеет тип Text, то все необходимые преобразования будут выполнены таким образом, что выходная переменная будет в удобочитаемом формате. Это преобразование выполняется для всех числовых типов. Строки и типы PChar выводятся точно так, как они находятся в памяти.

При выводе на консоль целые числовые значения выводятся в обычном числовом формате. А вещественные числовые значения по умолчанию выводятся в научной нотации.

Чтобы выводить целые числа в поля фиксированной ширины или вещественные числа с фиксированным количеством знаков после запятой, используется специальный формат вывода. Но об этом в данной статье я говорить не буду, так как уже рассказывал об этом здесь.

Если во время выполнения процедуры Write/WriteLn происходит ошибка, то генерируется ошибка времени выполнения. Такое поведение не всегда приемлемо (например, во время чтения/записи файла). Поэтому в каких-то случаях генерацию ошибок отключают. Сделать это можно с помощью директивы компилятора .

Primary tabs

Forums:

В этом уроке мы рассмотрим инструкции (стандартные процедуры ввода/вывода):

Read и Readln

Инструкция read предназначена для ввода с клавиатуры значений переменных (исходных данных). В общем виде инструкция выглядит следующим образом:

Читайте также:  Dt window mos ru feedback history

где переменнаяы — имя переменной, значение которой должно быть введено с клавиатуры во время выполнения программы.

Приведем примеры записи инструкции read:

При выполнении инструкции read происходит следующее:

  1. Программа приостанавливает свою работу и ждет, пока на клавиатуре будут набраны нужные данные и нажата клавиша Enter.
  2. После нажатия клавиши Enter введенное значение присваивается переменной, имя которой указано в инструкции.

Например, в результате выполнения инструкции

и ввода с клавиатуры строки 21, значением переменной Temperat будет число 21.

Одна инструкция read позволяет получить значения нескольких переменных. При этом вводимые числа должны быть набраны в одной строке и разделены пробелами. Например, если тип переменных а, b и с — real, то в результате выполнения инструкции

и ввода с клавиатуры строки:

переменные будут иметь следующие значения:

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

и ввода с клавиатуры строки

переменные получат следующие значения:

. Инструкция read (С); присвоит переменной с значение 18.

Readln

Инструкция readln отличается от инструкции read тем, что после выделения очередного числа из введенной с клавиатуры строки и присваивания его последней переменной из списка инструкции readln, , и следующая инструкция read или readln будет требовать нового ввода.

Например, в результате выполнения инструкции

и вводе с клавиатуры строки

перемнные получат следующие значения:

После чего программа будет ожидать ввода нового числа, чтобы присвоить его переменной с.

Перед каждой инструкцией read или readln следует располагать инструкцию write, для того чтобы .

Write и Writeln

  • Write() — выводит на экран все переданные значения (аргументы передаются через запятую — это могут быть переменные или литералы разных типов).
Читайте также:  Восстановление закладок в яндекс браузере
  • Writeln() — выводит на экран все переданные значения и переводит курсор на новую строку.
  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Adblock detector