Что выполняет программа readln

Используется, чтобы читать из консоли (console).

Используется, чтобы читать строку текста из текстового файла с данными. Вы должны использовать AssignFile, чтобы назначать файл для операций — чтения / записи; и открыть файл до процедуры чтения.

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

BlockRead Читает блок записей данных из нетипизированного двоичного файла

BlockWrite Записывает блок записей данных в нетипизированный двоичный файл

Eof Возвращает true, если позиция курсора находится в конце файла открытого с помощью Reset

File Определяет типизированный или нетипизированный файл

Read Позволяет прочитать данные из двоичного или текстового файла

ReadLn Позволяет прочитать полную строку данных из текстового файла

Reset Открывает текстовый файл для чтения, или двоичный файл для чтения/записи

TextFile Объявляет типа файл для того, чтобы сохранить строки текста

#3 Ввод/Вывод данных в Pascal — Read, Readln, Write, Writeln — отличия, примеры

Write Записывает данные в бинарный или текстовый файл

WriteLn Записывает законченную строку данных в текстовый файл

Источник: www.delphibasics.ru

Основные понятия языка

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

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

Для ввода с клавиатуры определены процедуры read и readln .

read(список); readln[(список)];

В скобках указывается список имен переменных через запятую. Квадратные скобки указывают на то, что список может отсутствовать. Например:

read(a, b, c); readln(y); readln;

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

Ввод значения каждой переменной выполняется так.

  1. Значение переменной выделяется как группа символов, расположенных между разделителями.
  2. Эти символы преобразуются во внутреннюю форму представления, соответствующую типу переменной.
  3. Значение записывается в ячейку памяти, определяемую именем переменной.

Например, при вводе вещественного числа 3.78 в переменную типа real оно преобразуется из четырех символов (3, ‘точка’, 7 и 8) в шестибайтовое представление в виде мантиссы и порядка.

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

Читайте также:
В какой программе можно посчитать количество символов в тексте

Writeln и Readln в Паскале. Как считывать и записывать данные на PascalABC.NET?

Особенность ввода символов и строк состоит в том, что пробельные символы в них ничем не отличаются от всех остальных, поэтому разделителями являться не могут. Например, пусть определены переменные

var a : integer; b : real; c : char;

и в программе есть процедура ввода read(a, b, c) . Допустим, переменной а надо задать значение, равное 2, переменной b — 3,78, а в c записать символ #. Любой вариант расположения исходных данных приведет к неверному результату, потому что после второго числа требуется поставить пробельный символ для того, чтобы его можно было распознать, и этот же символ будет воспринят как значение переменной c .

Правильным решением является ввод чисел и символов в разных процедурах и размещение символов в отдельной строке, например:

readln(a, b); readln(c);

Ввод данных выполняется через буфер — специальную область оперативной памяти. Фактически данные сначала заносятся в буфер, а затем считываются оттуда процедурами ввода. Занесение в буфер выполняется по нажатию клавиши Enter вместе с ее кодом ( #13 #10 ). Процедура read , в отличие от readln , не очищает буфер, поэтому следующий после нее ввод будет выполняться с того места, на котором закончился предыдущий, то есть начиная с символа конца строки.

read(a); < считывается целое >write(‘Продолжить? (y/n) ‘); readln(c);

Чтобы избежать подобной ситуации, следует вместо read использовать readln .

Вывод на экран

При выводе выполняется преобразование из внутреннего представления в символы, выводимые на экран. Для этого определены стандартные процедуры write и writeln .

write(список); writeln[(список)];

Процедура write выводит указанные в списке величины на экран, а writeln вдобавок к этому переводит курсор на следующую строку. Процедура writeln без параметров просто переводит курсор на следующую строку.

Выводить можно величины логических, целых, вещественных, символьного и строкового типов. В списке могут присутствовать не только имена переменных, но и выражения, а также их частный случай — константы. Кроме того, для каждого выводимого значения можно задавать его формат, например:

writeln(‘Значение a = ‘, a:4, ‘ b = ‘, b:6:2, sin(a) + b);

Рассмотрим этот оператор подробно (переменные a и b описаны выше). В списке вывода пять элементов, разделенных запятыми. В начале записана строковая константа в апострофах, которая выводится без изменений, со всеми пробелами. В непосредственной близости от нее будет выведено значение целой переменной a . После имени переменной через двоеточие указано количество отводимых под нее позиций, внутри которых значение выравнивается по правому краю.

Третьим элементом списка является строковая константа, поясняющая расположенное после нее значение переменной b . Для b указаны две форматные спецификации, означающие, что под эту переменную отводится всего шесть позиций, причем две из них — под дробную часть (еще одна позиция будет занята десятичной точкой, итого на целую часть остается три позиции).

Читайте также:
Как изменить место установки программ по умолчанию

Последний элемент списка вывода — выражение, значение которого будет выведено в форме по умолчанию (с порядком):

Значение a = 2 b = 3.78 4.6892974268E+00

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

  • Список вывода разделяется запятыми.
  • Список содержит выражения, а также их частные случаи — переменные и константы логических, целых, вещественных, символьного и строкового типов.
  • После любого значения можно через двоеточие указать формат, то есть количество отводимых под него позиций. Если значение короче, оно ‘прижимается’ к правому краю отведенного поля, если длиннее, поле ‘раздвигается’ до необходимых размеров.
  • Для вещественных чисел можно указать второй формат, указывающий, сколько позиций из общего количества отводится под дробную часть числа. Необходимо учитывать, что десятичная точка также занимает одну позицию. Если второй или оба формата не указаны, вещественное число выводится в форме с порядком.
  • Если форматы не указаны, под целое число, символ и строку отводится минимально необходимое для их представления количество позиций. Под вещественное число всегда отводится 17 позиций, причем 10 из них — под его дробную часть.
  • Форматы могут быть выражениями целого типа.

Теперь наконец-то мы изучили достаточно материала, чтобы с полным пониманием написать первую законченную программу.

Пример. Программа, которая переводит температуру в градусах по Фаренгейту в градусы Цельсия по формуле: С = 5/9 (F – 32), где C — температура по Цельсию, а F — температура по Фаренгейту.

program temperature; var fahr, cels : real; < 1 >begin writeln(‘Введите температуру по Фаренгейту’); < 2 >readln(fahr); < 3 >cels := 5 / 9 * (fahr – 32); < 4 >writeln(‘По Фаренгейту: ‘, fahr:6:2, ‘ в градусах Цельсия: ‘, cels:6:2); < 5 >end.

Для хранения исходных данных и результатов требуется выделить место в памяти. Это сделано в операторе 1. Для переменных fahr и cels выбран вещественный тип real . Оператор 2 представляет собой приглашение ко вводу данных.

Ввод выполняется в операторе 3 с помощью процедуры readln . В операторе 4 вычисляется выражение, записанное справа от операции присваивания, и результат присваивается переменной cels . При вычислении целые константы преобразуются компилятором в вещественную форму. В пятом операторе выводятся исходное и рассчитанное значение с соответствующими пояснениями.

Источник: intuit.ru

Разница между readLn и read

В языке программирования Pascal применяются такие инструкции, как read и readLn. Что они собой представляют?

Что представляет собой инструкция read?

Данная инструкция предназначена для обеспечения ввода с клавиатуры ПК различных значений переменных при использовании языка Pascal. Схема задействования рассматриваемой инструкции выглядит просто: как read («значение переменной»).

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

Читайте также:
Портфель это набор проектов или программ

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

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

Что представляет собой инструкция readLn?

Сущность инструкции readLn заключается в задании в программе условия, при котором:

  • какое-либо число, вводимое в строку, присваивается последней по инструкции переменной;
  • оставшаяся область строки не обрабатывается программой, в то время как следующая инструкция потребует осуществления нового ввода.

Так, можно ввести инструкцию:

readLn (C,D); read (E);

И если после этого с клавиатуры ввести ряд 1 2 3, то переменная C приобретет значение 1, D — 2. Но присвоение определенного значения для переменной E программа осуществлять не будет, пока пользователь не введет новое число.

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

Сравнение

Главное отличие readLn от read заключается в том, что первая процедура предполагает осуществление программой перехода к строке файла, следующей за той, в которой прописаны инструкции. Вторая процедура позволяет программе считать данные, размещенные в следующей строке, только с разрешения пользователя — если он нажмет Enter.

На практике использование инструкции readLn чаще всего осуществляется в целях обеспечения задержки между результатом выполнения приложения и переходом к следующей инструкции. Соответствующая задержка длится до тех пор, пока пользователь не нажмет Enter.

Определив,в чем разница между readLn и read в языке Pascal, зафиксируем выводы в таблице.

Таблица

read readLn
Что общего между ними?
Инструкции read и readLn в целомпредназначены для решения одной и той же задачи — задания условий присвоения значений для тех или иных переменных в языке Pascal
В чем разница между ними?
Данная функция предполагает осуществление программой считывания инструкций со следующей строки файла по факту выполнения инструкций на текущей строке Данная функция предполагает осуществление программой считывания инструкций со следующей строки файла по факту выполнения инструкций на текущей, а также при условии, что пользователь нажмет Enter

Похожие статьи

(1 оценок, среднее: 5,00 из 5)

Источник: thedifference.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru