Ввод данных c клавиатуры
Процедура Read обеспечивает ввод с клавиатуры числовых данных, символов, строк и т.д. для последующей их обработки программой. Форматы процедуры ввода:
Read (аI, а2,...,аn) ;
Readln (аI, а2,...,аn) ;
Read (аI, а2,...,аn) ;
где аI, а2,...,аn – список ввода допустимых типов данных;
Элементы списка ввода могут принадлежать целому, действительному или символьному типам. Ввод данных логического типа с клавиатуры в языке Pascal недопустим.
Значения аI, а2,...,аn набираются минимум через один пробел на клавиатуре и отображаются на экране. После набора данных для одной процедуры Read нажимается клавиша ввода Enter.
Получив инструкцию read или readln,компьютер переходит в режим ожидания ввода пользователем с клавиатуры значений, которые будут по
очереди присваиваться переменным, стоящим в списке ввода. Когда все
переменные примут определенные пользователем значения, выполнение программы будет продолжено с оператора, следующего за read\readln.
При использовании оператора Read курсор после ввода значений остается в строке ввода.
В отличие от оператора read,оператор readln после ввода значений всех переменных осуществляет переход на следующую строку.
Оператор readln без списка ввода реализует переход на другую строку.
При вводе данных происходит их преобразование из внешней формы представления во внутреннюю форму, определяемую типом переменных. Операторы ввода при чтении значений переменных целого и действительного типа пропускает пробелы, предшествующие числу. В то же время эти операторы не пропускают пробелов, предшествующих значениям символьных переменных, так как пробелы являются равноправными символами строк.
Значения переменных должны вводится в строгом соответствии с синтаксисом языка Pascal. Если соответствие нарушено, то возникают ошибки ввода - вывода. Сообщение об ошибке имеет вид: I/O error XX, где ХХ-код ошибки.
Если в программе имеется несколько процедур read, данные для них вводятся потоком, т.е. после считывания значений переменных для одной процедуры read данные для следующей процедуры read набираются в следующей строке, что и для предыдущей, до окончания строки, затем происходит переход на следующую строку.
Пример 4.1. Программа, в которой данные вводятся с клавиатуры
Program Prog4_1;
Uses WinCrt;
Var
a,b,s1:integer;
c,d,s2:integer;
Begin
read(a,b);
s1:=a-b;
read(c,d);
s2:=c*d;
writeln('Результат');
writeln(s1,' ', s2);
end.
Набираем на клавиатуре и после набора нажимаем Enter.
43 23 Еnter
56 68 Enter
Результат
20 3808
Дата добавления: 2015-01-13; просмотров: 971;