Операторы ввода – вывода
Операторы ввода – вывода данных служат для обмена информацией между внутренней памятью компьютера и внешними устройствами (монитор, клавиатура, принтер, накопители на жестких и гибких магнитных дисках и др.)
Информация, представленная на внешних устройствах, организуется в файлы. Файлы, предназначенные для хранения исходных данных, называются входными. Результаты вычислений (выходные данные) записываются в выходные файлы. В Турбо Паскале определены стандартные устройства ввода (клавиатура) и вывода (экран монитора), для которых имена стандартных файлов не указываются (используются по умолчанию).
Операторы ввода исходных данных с клавиатуры
Общий вид
записи операторов:
READ(<список переменных>);
READLN(<список переменных>);
Переменные в списке перечисляются через запятую.
Операторы ввода обеспечивают чтение данных с клавиатуры, преобразование из внешнего представления во внутреннее и присваивание их значений переменным, указанным в списке.
Оператор READLN отличается от оператора READ лишь тем, что после окончания чтения данных из списка, указанного в операторе READLN, необходимо перевести курсор к чтению следующей строки.
При вводе с клавиатуры значения данных в строке отделяются друг от друга одним или несколькими пробелами. После набора данных в строке необходимо нажать клавишу <ENTER>.
Пример. Пусть в задаче определены следующие исходные данные: a = 4; x = 3,8; y = 1,2×104 ; k = 5; m = 74.
Операторы ввода
read(a, x,y);
read(k,m);
вызывают чтение данных с клавиатуры, набранных следующим образом:
4 3.8 1.2E4 <Enter>
5 74 <Enter>.
Операторы вывода данных на экран
Общий вид
записи операторов:
WRITE(<список выражений>);
WRITELN(<список выражений>);
Выражения в списке перечисляются через запятую. В качестве простейших выражений могут быть константы, переменные, символы, строки.
Операторы вывода преобразуют вычисленные значения выражений, указанных в списке, из внутреннего представления во внешнее и выводят эти значения на экран монитора.
Оператор WRITELN отличается от оператора WRITE лишь тем, что после вывода значения последнего выражения из списка осуществляется автоматический переход курсора к началу следующей строки.
Например, операторы
writeln(‘Выходные данные’);
writeln(‘К =’, 8+5, ‘ y =’, 7/10);
выводят на экран результаты в следующем виде:
Выходные данные
K =13 y =7.0000000000E –01
Управление выводом данных
При стандартной форме вывода вещественные числа отображаются на экране с порядком. Мантисса выводится в нормализованном виде - с одной значащей цифрой в целой части и с десятью цифрами в дробной части. На порядок отводится четыре позиции: первая позиция - под букву Е, вторая позиция - под знак порядка, третья и четвертая позиции – под цифры порядка.
Если программиста не устраивает стандартная форма вывода, то он может использовать форматированный вывод, предусмотренный в Турбо Паскале. При форматированном выводе чисел используются два формата:
а) ширина поля, определяющая число позиций отводимых для вывода всего числа, включая целую, дробную части, знак и десятичную точку;
б) точность
представления вещественного числа, определяющая число позиций в дробной части.
Вещественные числа с указанием формата всегда выводятся в десятичной форме.
Для целых чисел используется только формат ширины поля.
В операторах вывода форматы записываются после выражения и отделяются друг от друга двоеточием.
Например, при записи оператора
writeln(‘K =’, 8+5:3, ‘ y =’, 7/10:5:1);
результаты отображаются на экране в следующем виде:
K = 13 y = 0.7
В приведенном примере форматы 3 и 5 задают ширину поля, формат 1 – точность выводимого числа.
Вывод данных на печать
Для организации вывода данных на печать в Турбо Паскале необходимо вызвать стандартный модуль PRINTER, в котором описан внешний файл печати с именем LST. Для вызова модуля в программе после ее заголовка записывается предложение использования модулей:
USES PRINTER;
Файл LST является нестандартным, поэтому его имя должно быть непосредственно указано в операторе вывода.
Например, оператор
writeln(LST, ‘K =’, 8+5:3, ‘ y =’, 7/10:5:1);
выведет результаты на печать в том же виде, что и на экран монитора.