Чем read отличается от readln
Перейти к содержимому

Чем read отличается от readln

  • автор:

Read и Readln Какая разница, отличия в Паскаль

vedro-compota's picture

Разница и отличия между процедурами 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

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

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

Чем read отличается от readln

Приветствую. Сегодня я хотел бы затронуть тему операторов ввода данных.

  1. read
  2. 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.

Добавить комментарий

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