Ввод и вывод данных в языке Паскаль осуществляется специальными подпрограммами (процедурами), имеющими имена Read, Readln и Write, Writeln. Для выполнения подпрограммы в основной программе задается имя этой подпрограммы и параметры, с которыми работает подпрограмма (по терминологии программиста – задается вызов процедуры).
Замечание. Оператор вызова любой процедуры* (о понятии процедуры и ее свойствах см. 9) в программе всегда обязательно заканчивается знаком «;» (точка с запятой).
Ввод данных с клавиатуры выполняется с помощью процедуры Read(…), где в скобках задаются переменные, которым присваиваются значения, вводимые с клавиатуры. Например, для ввода значения переменной Х с клавиатуры в программе следует написать Read(x); . При этом следует иметь ввиду, что при выполнении программы:
· на процедуре ввода программа приостанавливается и ожидает задания значений вводимых переменных. Запуск процедуры и дальнейшее выполнение программы осуществляется нажатием клавиши Ввод(Enter);
· при нажатии клавиши Ввод курсор на экране дисплея (монитора) перемещается на начало следующей строки.
Примеры.
Read(A);{приостановка программы, задание значения А, Enter}.
Read(B,C); );{приостановка программы, задание через пробелзначений В и С, Enter}.
Вывод данных на монитор осуществляется процедурой Write(…) или Writeln(…). При выполнении процедуры Write(A) после выдачи на монитор значения переменной А курсор остается на той же строке, а при выполнении процедуры Writeln(А) курсор перемещается в начало следующей строки. Здесь ln – сокращение от line (строка).
Примеры.
Write(C);Write(A,B);{это равносильно одному оператору
Write(C,A,B);}
Writeln(A);Writeln(B,C);{после ваыдачи на экран значения А происходит переход на следующую строку, где и печатаются значения В и С}
В операторах Write и Writeln вместо параметров могут быть константы или выражения, по которым вычисляются значения, выдаваемые процедурой на монитор. Например, следующая процедура в качестве параметра содержит строковую константу-сообщение пользователю: Write(‘Задайте целое число: ’); , а процедура Write(‘C=’,A*B+15); выдает сообщение С=18, если А=1,В=3.
В процедурах Write, Writeln можно задавать форматный вывод, указывая количество позиций, занимаемых параметром, а для вещественного числа – общее количество позиций и в том числе количество позиций для дробной части числа. Например, пусть даны значения А=1024, В=3.25614, Р=’Целое A=’, R=‘Вещественное B=’ и выполняется процедура Write(P,A:10,R,В:7:3); . В строке вывода получим “Целое А= 1024Вещественное В= 3.256”.
Замечания по результату вывода:
1) слово “Вещественное” следует отделить пробелом или запятой, 2) для более точной выдачи числа В увеличить общее количество позиций с 7 до 8 и для дробной части с 3 до 5,
3) количество позиций для А можно уменьшить до 4,
4) с учетом замечаний 1-3 надо задать: Write(P,A:4,’, ‘,R,B:8:5);