Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Ввод и вывод данных
Для ввода и вывода информации используются файлы. При выполнении программ на Паскале автоматически открываются два файла со специальными именами INPUT и OUTPUT. Файл INPUT обеспечивает ввод символов с клавиатуры, а файл OUTPUT вывод символов на экран.
Для ввода данных используются процедуры READ и READLN, а для вывода - WRITE и WRITELN. У компьютера есть и другие устройства ввода-вывода дисководы, принтер и др. К каждому из них можно обратиться путем определения соответствующих файлов.
Процедуры ввода-вывода имеют следующий формат:
READ(<файловая переменная>,<список ввода>);
READLN(<файловая переменная>,<список ввода>);
WRITE(<файловая переменная>,<список вывода>);
WRITELN(<файловая переменная>,<список вывода>);
В качестве файловой переменной для ввода данных с клавиатуры используется INPUT, а для вывода на экран OUTPUT. Список ввода включает имена переменных, которым будут присвоены введенные данные. Список вывода включает имена переменных, содержимое которых будет выведено на экран. Для ввода данных с клавиатуры можно использовать как процедуру READ, так и READLN.
При вводе числовых данных с клавиатуры с помощью процедуры READ введенные символы запоминаются в буфере и передаются программе только после нажатия на клавишу ENTER. Так как вводимые символы отображаются эхо-повтором на экране, то до момента нажатия на клавишу ENTER их можно удалять или изменять. Процедура READ хорошо приспособлена для ввода числовых данных. Она игнорирует все пробелы и символы конца строк, воспринимая остальные символы как вводимые данные. При этом пробелы и символы конца строк выступают как разделители данных.
Рассмотрим работу программ READ_IN.PAS и READ_RE.PAS.
Однако эти особенности процедуры READ существенно усложняют ввод символьных и строковых данных.
Рассмотрим работу программ READ_CH.PAS и READ_ST.PAS.
Процедура READLN может вводить данные любого типа, поэтому для ввода данных с клавиатуры предпочтительнее использовать именно ее.
Рассмотрим работу программ READLN_I.PAS, READLN_R.PAS, READLN_C.PAS, READLN_S.PAS.
Как только программа подходит к оператору READLN, компьютер приостанавливает свою работу и ждет ввода с клавиатуры соответствующих данных. После окончания ввода данных следует обязательно нажать клавишу [ENTER]. Только после этого вводимые данные присвоятся соответствующим переменным. Если при вводе в строке было введено больше данных, чем параметров в списке ввода, то лишние данные будут игнорироваться. При последующем появлении в программе новой процедуры READLN, вводить данные для нее придется снова.
Если же при вводе данных с помощью процедуры READ в строке было введено больше данных, чем параметров в списке ввода, то оставшиеся лишние данные могут использоваться последующими процедурами READ.
Числовые данные (целые или вещественные) можно вводить в одной строке, разделяя пробелом. Если происходит ввод значений символьных или строковых переменных, то разделять их пробелом нельзя, т.к. пробел сам является обычным символом. В этом случае следует обязательно использовать процедуру READLN и после каждого введенного символа (для символьной переменной) или строки символов (для строковой переменной) нажимать клавишу [ENTER].
Для вывода на экран можно использовать процедуры WRITE или WRITELN. Отличие их заключается в том, что после процедуры WRITE курсор остается в той же строке после последнего выведенного символа, а после процедуры WRITELN он переводится в начало следующей строки.
На экран можно вывести любой текст, заключив его в (апострофы), например WRITELN(Программа разработана студентом гр. 232 Ивановым А.Р.).
Если в переменных X и Y хранятся целые числа, то вывести их на экран можно с помощью процедуры WRITELN(X,Y). Если в переменных X и Y хранятся соответственно значения 5 и 13, то после этой процедуры на экране будет 513, т.е. эти значения выведутся слитно. Чтобы не путаться в выведенных значениях их лучше разделить пробелом: WRITELN(X, ,Y). Можно сделать более полный комментарий: WRITELN(X=,X, Y=,Y). В этом случае на экране появится: X=5 Y=13.
Рассмотрим работу программы WRITE1.PAS.
В некоторых случаях требуется, чтобы выводимое значение занимало определенное число позиций. Оно задается через двоеточие после соответствующей переменной: WRITELN(X=,X:3, Y=,Y:3). Тогда под каждое значение на экране отведется по три позиции и в результате будет выведено: . Но если при выводе значение какой-то переменной не умещается в трех позициях, то будет выделено столько позиций, сколько нужно для вывода.
При выводе вещественных чисел они выводятся в экспоненциальной форме (форме с плавающей запятой) с мантиссой и порядком, например 2.1345678912E+01. Можно ограничить общее число выводимых символов, указав его после двоеточия, например WRITELN(X:9). Тогда на экране в девяти позициях будет выведено значение вещественной переменной X , например .
Первая позиция будет отводиться под знак мантиссы.
Чтобы вывести вещественное число в форме с фиксированной запятой необходимо после общего числа выводимых символов поставить еще двоеточие и указать после него число разрядов, отводимых под дробную часть. Так после оператора WRITELN(X:7:3) на экране будет выведено: