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