Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оператор ввода



Любая программа обладает возможностью обмена информацией с внешними устройствами. В качестве внешних (терминальных) устройств могут быть дисплей, дисковод с дисками, печатающее устройство, телетайп, перфоратор и т. д. В этой главе ограничимся лишь изложе­нием ввода данных с клавиатуры дисплея в память ЭВМ и выводом данных из памяти на экран дисплея (функции ввода и вывода будут дополнены в гл. 13).

Клавиатура и дисплей - стандартные устройства ввода и вывода,
Для ввода и вывода данных в языке ПАСКАЛЬ предусмотрены стандартные встроенные программы, которые называются процедурами. Процедура ввода вызывается с помощью оператора ввода READ, процедура вывода — с помощью оператора вывода WRITE.

Необходимо отметить, что ввод и вывод данных зависят от конкрет­ной реализации ЭВМ. Рассмотрим ДВК.

Оператор ввода служит для ввода данных в процессе выполнения программы. При этом значения вводимых данных присваиваются пе­ременным. Данные могут быть разбиты на отдельные строки.. Призна­ком конца строки является нажатие клавиши ВК.

Различают три вида оператора ввода:

а) READ (a1, a2, а3,..., аn) — каждое вводимое значение присваивается последовательно переменным a1, a2, а3,..., аn.

б) READLN (а1, а2, а3,..., аn) — каждое вводимое значение при­сваивается последовательно переменным а1, а2, а3,..., аn, после чего
происходит переход на новую строку (следующий оператор ввода будет вводит данные с новой строки);

в) READLN - переход на новую строку при вводе данных. Последовательно расположенные операторы вида а) и в) эквива­лентны одному оператору б).

В языке ПАСКАЛЬ допускается вводить целые, действительные и символьные данные. Логические данные вводить не разрешается. Суще­ствует различие между вводом числовых и символьных данных, поэтому рассмотрим ввод этих данных отдельно.

Ввод числовых данных. Числовые данные, целые и действительные, должны разделяться пробелом (пробелами) или возвратом каретки ВК. Пробелы и ВК игнорируются перед числом.

Пример ввода:

VAR A,B,C:REAL;

K,T:INTEGER;

...

READ(A,B,C);

READLN;

READ(K,T);

После набора на экране дисплея всей программы и запуска ее на выполнение происходит останов машины при встрече READ (А, В, С). На клавиатуре ЭВМ необходимо набрать три действительных числа, затем с новой строки (выполняется оператор READLN) - два целых тела соответственно оператору READ (К, Т). Например,

0.5 6.23 - 7.1 ВК

3 48 ВК

Здесь ВК означает конец вводимой строки данных(см.приложение1). При этом переменные получат следующие значения:

А = 0.5, В = 6.23, С = - 7.1, К = 3, Т =48,

и выполнение программы продолжится.

Числа можно отделять друг от друга не только пробелами, но и ВК, например:

0.5 ВК

6.23 ВК

- 7.1 ВК

3 ВК

48 ВК

т. е. каждое число вводится с новой строки.

Однако будет ошибкой ввод чисел в одну строку:

0.5 6.23 -7.1 3 48 ВК

гак как после выполнения оператора READ (А, В, С) выполняется оператор перехода на новую строку READLN и четвертое число (3) должно быть набрано только с новой строки. Рассмотренные три оператора ввода

READ(А,В,С);

READLN;

READ(К,Т);

полностью эквивалентны следующим двум операторам:

READLN(А,В,С);

READ(K,T);

Необходимо отметить, что оператор ввода позволяет в процессе выполнения программы вводить любые другие значения данных. При этом программа не изменяется, а переменные принимают другие значения, например:

8.45 6.0 3.2 ВК
16 45 ВК

Ввод символьных данных. Ввод символьных данных имеет особенности. Поскольку пробел, как и любой символ языка ПАСКАЛЬ, отно­сится к символьным данным, символьные данные вводятся сплошной строкой в соответствии с оператором ввода. Напомним, что одной пере­менной можно присвоить значение только одного символа.

Пусть имеется фрагмент программы:

VAR А,В,С:CHAR;

...

READ(А,В,С);

Если после набора на экране дисплея всей программы и запуска ее на выполнение ввести данные в виде

SNR ВК

то переменные А, В, С получат следующие значения:

A='S', B = 'N', C = 'R'.

При вводе данных в виде

S N R ВК

переменные получат значения

A='S', В = ' ’, С = 'N'.

Другая особенность ввода символьных данных заключается в том, что нажатие клавиши ВК воспринимается как символ пробела.

Пример: необходимо задать переменным значения

А = 3, В = 4, С = 'W’, D = 'F'.

При выполнении фрагмента программы

VAR A,B:INTEGER;

C,D:CHAR;

...

READ(A,B);

READ(C,D);

и вводе данных в виде

3 4 BK

WF BK

переменные получат значения А=3, В=4, С =’ ’ (символ ВК - конец первой строки, воспринимается как пробел) D = 'W’.

Для правильного ввода символьных данных рекомендуется перед каждым оператором ввода символьных данных ставить оператор перехода на новую строку READLN, чтобы их ввод осуществлялся всегда с новой строки. Например,

READ(А,B);

READLN;

READ(C,D);

В этом случае переменные получат правильные значения:

А = 3, В = 4, С = 'W, D = 'F'.

Если даже оператор ввода символьных данных стоит первым в про­грамме, все равно необходимо перед ним ставить оператор READLN.





Дата публикования: 2014-11-02; Прочитано: 862 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...