Вы обратили внимание, что в программе были использованы операторы write и writeln. Английское слово write переводится — писать, а слово writeln происходит как сокращение от двух английских слов write — писать и line — строка.
Кроме операторов write и writeln мы говорим о процедурах вывода информации.
Что же такое процедура?
Понятие процедуры — одно из основных понятий Паскаля. Ему подобна подпрограмма на языке Бейсик.
Процедура — это некоторая последовательность операторов языка Паскаль, имеющая имя и к которой можно обратиться из любого места основной программы, указав ее имя.
Выше мы говорили об операторах вывода информации, хотя в Паскале, в отличие от Бейсика нет операторов вывода информации, а через служебные слова write и writeln происходит обращение к стандартной или встроенной процедуре вывода информации. Стандартная процедура не нуждается в предварительном описании, она доступна любой программе, в которой содержится обращение к ней. Вот почему обращение к write или writeln напоминает оператор PRINT — вывода информации на языке Бейсик.
#3 Ввод/Вывод данных в Pascal — Read, Readln, Write, Writeln — отличия, примеры
Разница между оператором вывода и обращением к процедуре вывода состоит в том, что имя процедуры вывода, как и любой другой процедуры Паскаля не является зарезервированным словом, а, следовательно, пользователь может написать свою собственную процедуру с именем write или writeln. Но это очень редко используется на практике.
Таким образом, операторы write и writeln являются операторами обращения к встроенным процедурам вывода информации.
Обе эти процедуры выводят информацию на экран, если эта информация содержится в виде значений переменных, тогда достаточно в скобках в операторах write или writeln записать имена этих переменных, например: write(a), writeln(f). Если таких переменных несколько, то их записывают через запятую, например: write(a, b, c, d), writeln(e,f, g, h).
Если информацией являются слова, предложения, части слов или символы, тогда она заключается между знаками » ‘ » — апостроф, например:
write(‘Введите длину пути’),
writeln(‘Значение скорости равно’)
Возможен одновременный вывод и символьной информации и значений переменных, тогда в операторе write или writeln они разделяются запятыми, например:
write(‘Значение температуры равно ‘, t),
writeln(‘Скорость равна ‘, v, ‘ при времени движения ‘, t).
Заметьте, в конце слов, перед апострофом оставлен пробел.
Для чего это сделано? Конечно, чтобы следующая числовая информация была разделена со словами пробелом.
В чем состоит отличие в работе процедур write и writeln?
Процедура write требует от следующих процедур ввода или вывода, информацию вводить или выводить ее на ту же строку (в одну строку).
Если в программе указан оператор write и за ним следуют еще операторы write или writeln, то выводимая ими информация будет присоединяться к строке информации первого оператора write.
Например: write(‘Сегодня и завтра будут ‘);
Writeln и Readln в Паскале. Как считывать и записывать данные на PascalABC.NET?
На экран выводится:
Сегодня и завтра будут выходные дни
Пробел между словом «будут» и «выходные» обеспечивается за счет пробела в конце первой строки. Если его не будет, то вывод произойдет слитно:
write(‘Сегодня и завтра будут’);
Сегодня и завтра будутвыходные дни
Еще некоторые примеры: t:=20;
write(‘Время движения равно ‘);
Время движения равно 20 секунд
write(‘Сумма чисел равна ‘);
write(‘, а произведение ‘);
Сумма чисел равна 30, а произведение 216
Процедура writeln обеспечивает для следующих процедур ввода или вывода информации вводить или выводить ее с начала каждой новой строки.
Источник: studopedia.su
Процедура Writeln в Pascal
Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую строку.
Program number2; uses crt; begin clrscr; write (‘Привет. ‘); write (‘Как дела?’); readln end.
В строке №5 и №6 мы выводим на экран два сообщения. Для того чтобы отделить сообщения друг от друга, ставим пробел после слова «Привет» перед закрывающим апострофом.
Записываем программу в Паскале и нажимаем F2 для сохранения.
После запуска программы Ctrl+F9 на экран выводится следующее сообщение.
Как мы видим, на экран вывелось два сообщения: «Привет.» и «Как дела?». Оба этих сообщения вывелись в одной строке. Для того чтобы сообщения выводились на разных строках, вместо оператора Write нам нужно использовать оператор Writeln (от англ. Write Line — записать строку).
Program number2; uses crt; begin clrscr; writeln (‘Привет. ‘); write (‘Как дела?’); readln end.
В строке №5 мы записываем оператор Writeln. Помимо того, что он выводит на экран сообщение, он еще переводит курсор на следующую строку. Поэтому следующее сообщение выводится во второй строке. Фактически оператор Writeln выполняет процедуру Write, а затем переводит курсор на следующую строку.
Дополнение к материалу.
Следует сказать, что оператор «writeln» не является зарезервированным словом в Pascal. Если посмотреть на код, набранный в Pascal, то мы увидим, что оператор «writeln» не выделен белым цветом (как все зарезервированные слова). Он выделен желтым цветом, поскольку является идентификатором. Однако, в отличие от пользовательских идентификаторов, которые программист придумывает сам (например, название программы), оператор «writeln» является стандартным идентификатором. Стандартные идентификаторы связаны с предварительно объявленными объектами и входят в стандартную библиотеку Турбо Паскаля.
Источник: mojainformatika.ru
Readln и Writeln без скобок в Pascal взаимозаменяемы?
То есть, например, когда я ничего не хочу выводить на экран и ничего не ввожу в программу, то в скобках мне писать нечего. Просто read и write без скобок написать нельзя, а вот readln и writeln — пожалуйста. Но тогда у чайника, изучающего паскаль третий день возникает вопрос: а в чём между ними разница?
И к примеру, зачем в приведённой ниже программке отмеченный стрелкой оператор writeln?
Профессиональных проггеров прошу понять и простить за ламмерство и заранее благодарю.
комментировать
в избранное
Julia 93 [10.8K]
4 года назад
На языке Pascal процедура WriteLn аналогична Write, но по завершении вывода текста она переводит курсор в начало следующей строки терминала (добавляются символы с кодами 13 и 10). Если же у WriteLn нет никаких параметров — выполняется только перемещение курсора. В указанном примере WriteLn без параметров используется исключительно в эстетических целях — чтобы отделить исходные данные от результата вычислений.
В принципе можно вместо двух WriteLn в конце программы использовать один:
Источник: www.bolshoyvopros.ru