
- •Глава 3. Структура программы на языке турбо паскаль. Операторы языка.
- •3.1. Структура программы на языке Паскаль
- •Раздел var содержит имена переменных и соответствующие им типы.
- •3.2. Операторы языка Паскаль
- •3.2.1. Оператор присваивания
- •3.2.2. Пустой оператор
- •3.2.3. Оператор обращения к процедуре
- •3.2.4. Организация ввода информации
- •3.2.5. Организация вывода информации
- •3.2.6. Комментарии к программе
- •3.2.7. Организация программ линейной структуры
3.2.4. Организация ввода информации
Для ввода информации используются операторы обращения к процедурам:
а) Read(b1,b2,...,bn);
б) Readln(b1,b2,...,bn);
в) Readln;
где b1,b2,...,bn - имена переменных, подлежащих вводу.
Встретив в тексте программы первый раз оператор ввода, машина приостанавливает исполнение программы и ждет ввода данных с клавиатуры. Вводимые данные и формируют файл Input.
Оператор Read(b1,b2,...,bn) обеспечивает чтение данных из файла Input. При этом исходная информация преобразуется в информацию типа, соответствующего типу переменных, указанных в операторе Read. Переменным b1,b2,...,bn присваиваются значения из файла Input в соответствии с порядком их следования. Действие процедуры Read заканчивается, как только будет исчерпан список переменных b1,b2, ...,bn.
Оператор Readln(b1,b2,...,bn) обеспечивает ввод данных аналогично оператору Read(b1,b2,...,bn), но после ввода значения последней переменной осуществляется переход к началу новой строки файла Input (оставшиеся в предыдущей строке символы игнорируются).
Процедура Readln реализует переход к началу новой строки файла Input, т.е. игнорируются все символы, оставшиеся в текущей строке, и осуществляется переход к чтению данных из следующей.
По стандарту Турбо Паскаля переменные из списка оператора Read могут быть целого, вещественного, символьного типа и типа string.
В Паскале существует разница между вводом числовой и символьной информации.
Ввод числовой информации. Числа вводятся в одной строке через пробел (или пробелы). По окончании ввода нажимаем клавишу ввода. Можно после ввода каждого числа нажимать клавишу ввода. Примеры работы операторов ввода даны в таблице.
Примечание. В таблице и далее в тексте символом ‘’ будем обозначать клавишу ввода.
Запись оператора вызова процедуры ввода |
Ввод данных с клавиатуры (формирование файла Input) |
Значения переменных, полученные в результате исполнения оператора |
Read(A,B,C); Read(A2); |
5 4 74 3.8 |
A=5, B=4 C=74, A2=3.8 |
Read(A,B); Readln(X,Y,Z); Read(M); |
5 6 7 3 5 8 5 1 |
A=5, B=6 X=7, Y=3, Z=5 M=1 |
Read(A,B,C); Readln; Read(K,T); |
0.5 6.2 –7.1 3 48 |
A=0.5, B=6.2, C=–7.1 K=3, T=48 |
Read(A,B,C); Readln; Read(K,T); |
0.5 6.2 –7.1 3 48 |
A=0.5 B=6.2 C=–7.1 K=3 T=48 |
Read(A,B,C); Readln; Read(K,T); |
0.5 6 –7.1 3 48 |
A=0.5, B=6, C=-7.1, переменные K и T значения не получили (см. работу оператора Readln) |
Замечание. При вводе чисел в строку число пробелов между числами произвольно, но лучше заказывать один пробел.
При вводе символьных данных следует учитывать:
1) пробел – это символ;
2) нажатие клавиши ввода присваивает очередной символьной переменной символ пробела, который при вводе числовой информации игнорируется.
Пусть переменные A и B – целого типа, C, D, E – символьного типа. В таблице даны примеры ввода информации.
Запись оператора вызова процедуры ввода |
Ввод данных с клавиатуры (формирование файла Input) |
Значения переменных, полученные в результате исполнения оператора |
Read(C,D,E); |
SNR |
C='S', D='N', E='R' |
Read(C,D,E); |
S N R |
C='S', D=' ', E='N' |
Read(A,B); Read(C,D); |
3 4 WF |
A=3, B=4 C=' ', D='W' |
Read(A,B); Readln; Read(C,D); |
3 4 WF |
A=3, B=4 C='W', D='F' |
Readln(A,B); Read(C,D); |
3 4 WF |
A=3, B=4 C='W', D='F' |
Readln(C); Readln(D,E); Read(C); |
S N5 K |
C=' ' D='N', E='5' C='K' |
Замечание. Такие значения получат переменные, если после каждого оператора ввода будет стоять оператор вывода данных.