С.А. Григорьев
Простейший оператор ввода в Паскале - оператор READ, он записывается в виде:
READ(имя,имя,...);
где имя - имена переменных или типизированных констант. Вводимые значения задаются в виде допустимых в Паскале констант и разделяются любым количеством пробелов. Для окончания ввода следует нажать клавишу Enter. Оператор ввода можно записать и как READLN, при вводе числовых переменных они эквивалентны. Кроме того, оператор READLN без списка в скобках можно использовать для организации задержки в работе программы - он будет ожидать нажатия клавиши Enter.
Простейший оператор вывода записывается в виде:
WRITE(выражение,выражение,...);
или
WRITELN(выражение,выражение,...);
Вывести можно любое выражение, если необходимо вывести текст, он заключается в апострофы. Оператор WRITELN отличается от оператора WRITE тем, что после вывода происходит переход на новую строку. Можно использовать оператор WRITELN без списка вывода для пропуска строки. Запишем пример программы, осуществляющей ввод и вывод :
VAR i : Integer;
w : Word;
r : Real;
BEGIN
WRITELN;
{------------- ввод -------------}
WRITE('Введите целое число ');
READ(i);
WRITELN;
WRITE('Введите натуральное число ');
READ(w);
WRITELN;
WRITE('Введите вещественное число ');
READ(r);
WRITELN;
{------------- вывод -------------}
WRITELN('Вы ввели : ',i,' ',w,' ',r,' их сумма=',i+w+r);
WRITELN('Нажмите Enter для выхода');
READLN;
END.
Впервые записав осмысленную программу, остановимся и обсудим ее внешний вид. Даже на таком тривиальном примере мы можем понять некоторые основные правила оформления программы.
1. Организация диалога с пользователем. Прежде чем записать оператор READ, вы обязаны записать
2. Оформление текста программы. Хорошо оформленная программа легко читается и быстрее отлаживается, следует стремиться к "прозрачности" текста, но не к некоторой, вполне субъективной, "красоте". Так, скажем, операторы, выполняющиеся последовательно, следует и записывать строго друг под другом, но не "елочкой" или какой-либо другой фигурой. Средства, используемые для оформления текста, крайне просты и доступны всякому - это пробелы, пустые строки и комментарии.
При выводе чисел можно их форматировать, т.е. управлять формой их представления. Для этого в списке вывода после выводимого выражения можно указывать модификаторы : “:L:d“ - для вещественных значений и “:L” для вещественных и целых. L и d - целочисленные выражения, первое из них определяет, сколько всего позиций отводится для выводимого числа на экране, а второе - сколько выводится цифр после десятичной точки. Если при выводе вещественного числа задан модификатор “:L:d“, то оно выводится с фиксированной точкой, если же задан модификатор “:L” или он отсутствует - то с плавающей точкой. Пусть значение переменной X равно 123.45678, тогда оператор
WRITE(X); выведет " 1.2345678000E+02"
WRITE(X:8:2); выведет " 123.46"
WRITE(X:10:5); выведет " 1.235E+02"
WRITE(X:10); выведет " 1.235E+02"
WRITE(X:8); выведет " 1.2E+02"
WRITE(X:1); выведет " 1.2E+02"
По умолчанию вещественные числа всегда разделяются при выводе пробелами, но если вы выводите подряд несколько целых чисел, не форматируя их и не выводя между ними пробелов, они будут выводиться подряд и сольются в одно число.