Другие языки программирования и технологии

объясните пожалуйста тупому челу что означают операторы read и readln в pascal. Только прошу что бы понятно было.

Evgenii R
Evgenii R
513
В дополнение.
read и readln отличаются тем, что read оставляет в буфере ввода код окончания строки и следующий оператор ввода начинает читать поток ввода с этого кода, а readln удаляет из входного потока этот код. Следующая процедура ввода начнёт ввод данных со следующей строки.
АУ
Александр Уфимцев
51 590
Лучший ответ
по readln курсор переводится на следующую строку

по read - нет.. . продолжает в этой же строке

writeln и write - то же самое
До Ник
До Ник
98 886
Для ввода данных с клавиатуры или из файла. Числа или строка, введенные с клавиатуры, после нажатия клавиши Enter переводятся в двоичный вид и засылаются в указанные в этих операторах переменные. На время ожидания ввода с клавиатуры выполнение программы приостанавливается. Из файла нужные значения читаются сразу же.
Руслан Джумаев
Руслан Джумаев
91 919
смотри вот:
writeln('введите число а'); // ввели число а
readln(a); // чтение а с клавиатуры
ДЧ
Денис Чжан
17 877
Это две процедуры. Их можно использовать как для чтения символов с клавиатуры, так и для чтения из файла. Все зависит от того, как оформить (написать) эти процедуры.
Предположим что вам надо считывать ввод с клавиатуры. Но в начале надо поставить какую либо задачу для ее решения.
Задача: надо ввести с клавиатуры данные о человеке и положить их в переменные.
Данные:
- Фамилия
- Имя
- Отчество
- день рождения
- месяц роджения
- год рождения
Создаем 6-ть переменных, в которых будет хранится инфо о человеке.
...
var
Name1, Name2, Name3: String[20];
day, month, year: Word;
...
Далее, чтобы считывать с клавиатуры эти данные и выводить их на экран, а потом помещать в наши переменные, мы используем процедуру Read два раза.
...
Read(Name1, Name2, Name3);
Read(day, month, year);
...
Чтобы каждая процедура Read все правильно воспринимала, надо вводить данные через пробел, таким образом мы отделяем слова и они раздельно помещаются в три переменные Name1, Name2, Name3. После ввода трех переменных надо нажать "Enter" и тогда первая процедура Read закончит свою работу и управление в программе перейдет ко второй процедуре Read.
После ввода данных во все шесть переменных, результат на экране будет таким -
Иванов Иван Иванович 20 07 2003 и это выглядит не очень красиво, но если мы будем использовать процедуру ReadLn, тогда результат станет другим -
Иванов Иван Иванович
20 07 2003
Т. е. при процедуре Read ввод на экране происходит в одну строку, а при использовании ReadLn, при нажатии "Enter" ввод следующих данных во второй процедуре ReadLn происходит на новой строке.
Так понятно?

Похожие вопросы