Read и Readln Какая разница, отличия в Паскаль
![]()
Разница и отличия между процедурами read() и readln()
В предыдущем уроке уже говорили, о потоке ввода и процедуре readln() также, при решении задач мы используем оператор readln() для удержания консоли.
Если совсем кратко
Если совсем кратко — то отличие read() от readln() состоит в том, что:
- read() — читает из потока ввода только те данные, что необходимы для присваивания значений, переданным в эту процедуру аргументам.
- readln() — также как read() заполняет значениями переданные переменные, но затем очищает поток ввода, делает его пустым.
- read() — просто читает значения из потока ввода.
- readln() — читает значения и очищает поток ввода от того, что там осталось.
Влияние на закрытие консоли — удержание консоли
(раздел будет создан).
Key Words for FKN + antitotal forum (CS VSU):
- разница между read и readln
- чем отличаются read и readln
Разница между 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 |
Похожие статьи
/rating_on.png)
/rating_on.png)
/rating_on.png)
(1 оценок, среднее: 5,00 из 5)
Чем read отличается от readln
Приветствую. Сегодня я хотел бы затронуть тему операторов ввода данных.
- read
- readln
Ничего не напоминает? Те, кто внимательно читали предыдущую статью, скажут что эти операторы похожи на операторы вывода. И будут правы! Оператор readln отличается от оператора read только лишь тем, что после ввода данных переводит курсор на следующую строку
Возьмем для примера задачу №1 из первого урока. В ней, если вы помните, длину и ширину прямоугольника мы непосредственно вбивали в код программы. Сейчас мы немного поколдуем над кодом и сделаем так, чтобы эти данные можно было вводить с клавиатуры каждый раз при запуске программы.
Для этого вместо куска кода
A:=5; B:=7;
read (A); read (B);
Попробуйте теперь запустить программу с измененным кодом. На всякий случай напишу весь код:
program perimetr; var A,B,P: integer; begin read(A); read(B); P:=2*(A+B); write(P); end.
Заметили, как теперь при запуске программа ждет ввода данных? И пока ввод не будет осуществлен, она не продолжит выполнение. Но согласитесь, это мы с вами знаем, что при запуске программы нужно ввести значения длины и ширины, а кто-то другой, запустив ее, не догадается до этого. Поэтому нам нужно вывести на экран просьбу, что-то вроде «Введите длину». Для этого используем оператор вывода write. О нем я уже писал в предыдущем уроке.
Ход ваших рассуждений при составлении программы должен быть примерно следующим:
1) Мне нужно попросить пользователя ввести значения ширины прямоугольника. Для этого использую оператор вывода: writeln(‘Введите ширину прямоугольника’);
2) Теперь нужно чтобы программа прочитала это значение. Для этого использую оператор ввода: readln(A);
Здесь немного остановимся. Возможно у вас возник вопрос: «А что значит буква А в скобках?» Так вот, в скобках вы указываете ту переменную, которой будет присвоено значение, введенное с клавиатуры. В нашем случае ширину мы записываем в переменную А, следовательно и в скобках пишем ее.
3) Далее мне нужно попросить пользователя ввести длину. По аналогии с первым пунктом:
writeln(‘Введите длину прямоугольника’);
4) Считываем введенное значение по аналогии со 2-ым пунктом: readln(B);
Вот и все, соберем весь код в кучу:
program perimetr; var A,B,P: integer; begin writeln('Введите ширину прямоугольника'); read(A); writeln('Введите длину прямоугольника'); read(B); P:=2*(A+B); write(P); end.
Запустите программу, посмотрите как она выполняется. На мой взгляд чего-то не хватает. Как думаете? Следует выводить на экран что-то типа «Ответ» или «Периметр language-pascal»>write(P); строку: write(‘Периметр =’);
2) Модернизировать предпоследнюю строчку кода write(P) . Делается это следующим образом: пишем оператор write, открываем круглую скобку, в одинарных кавычках пишем ‘Периметр = ‘, ставим запятую и после нее пишем переменную P. Вот как это будет выглядеть: write(‘Периметр = ‘,P);
Запустите программу, протестируйте ее при разных значениях длины и ширины. Если возникли какие-то вопросы, не стесняйтесь задавать их, контакты для связи со мной находятся здесь. Ну, а если вопросов нет, можете приступать к следующему уроку
© program4you.ru 2015 — 2022
Копирование материалов сайта разрешено только при наличии активной ссылки на данный сайт
В чем разница между READ и READLN в Паскале(DOC)
Read оставляет курсор после чтения значения на той — же строке, а Readln переводит курсор на другую строку и все дальнейшие действия (печать строки, введение нового значения) будут производиться с новой строки.
Остальные ответы
Read — читает
Readln — читает и переходит на новую строку
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.