В чем состоит разница при выполнении команды READLN (a,b) и READ (a,b)

0 голосов
49 просмотров

В чем состоит разница при выполнении команды READLN (a,b) и READ (a,b)


Информатика (21 баллов) | 49 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Паскаль "не умеет" читать числа напрямую. В случае "текстового ввода" он читает всё вводимое, как последовательность символов, которую затем анализирует и преобразует в соответствии со списком переменных в операторе ввода и их типом.
Завершается текстовый ввод в Паскале всегда нажатием клавиши Enter, посылающей последовательность символов с десятичными кодами 13 и 10 (CR - "возврат каретки" и LF- "перевод строки"), либо считыванием этих кодов из файла.
"Команда" Realln (на самом деле это не команда, а процедура) считывает и удаляет последовательность символов с кодами 13, 10, а Read - оставляет эти коды не считанными. Если после Read будет еще один оператор ввода, читающий СИМВОЛЬНЫЕ данные (string, char), то оставшиеся необработанными после предыдущего Read символы с кодами 13,10 будут восприняты, как вводимые, что неверно.

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

(142k баллов)