Добавил:
sofyvits@ya.ru на позитиве Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
497
Добавлен:
10.01.2016
Размер:
919.04 Кб
Скачать

Процедура write

Операторы вывода допускают использование указания о ширине поля, отводимого под значение выводимой величины, в явном виде. Ширина поля вывода определяется типом устройства, использующимся в данной ЭВМ. Форма представления выводимых переменных определяется типом переменных: значения величин целого типа выводятся в обычной форме; значения величин действительного типа – в виде нормализованного числа действительного типа с порядком: значения логического типа – в виде логических значений TRUE и FALSE; значения символьных переменных – в виде соответствующих символов.

Общий вид записи операторов при выводе значений целого типа:

write(b:m); writeln(b:m); ,

где b – имя выводимой переменной; m – константа или выражение целого типа, отводимое под значение.

Например:

write(dd:6,ir:8);

Значения переменных dd и ir размещаются в одной строке и занимают соответственно шесть и восемь позиций. Каждое значение размещается в отведенном поле и занимает крайние правые позиции. При этом незаполненные позиции остаются свободными, образуя пробелы. Если значение переменной не размещается в отведенном поле, то увеличивается число позиций.

При выводе значений действительного типа с фиксированной точкой указывается ширина поля, отводимая под все значение и под дробную часть числа. Общий вид записи операторов выглядит следующим образом:

write(b:m:n);writeln(b:m:n);

где m – поле, отводимое под запись значения; n – часть поля, отводимого под дробную часть числа.

Например:

write(a:8:3);

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

Если при выводе действительных значений не указывается количество позиций, отведенных под дробную часть числа, то результат получается в нормализованном виде с десятичным порядком.

Можно задавать количество пробелов. Для этого необходимо записать оператор вывода в виде

write(‘ ‘:q); ,

где q – константа целого типа, указывающая число пробелов.

Пример размещения информации при выводе:

program task;

const

pi = 3.141592;

t = 401;

w = true;

sim = ‘D’;

begin

writeln(‘pi=‘,pi:8:6);

writeln(t:6,’ ‘:6,w:4,’ ‘:6,sim:1)

end.

Информация выводится в две строки в виде:

pi=3.141592

401______true______D

_ обозначение пробела.

Процедура ввода

Для ввода данных в языке Паскаль предусмотрены стандартные встроенные программы (процедуры) – READ и READLN. Оператор ввода служит для ввода данных в процессе выполнения программы. Процедура READ используется в виде:

а) read (a1, a2, a3, ..., an) – каждое вводимое значение присваивается последовательно переменным a1, a2, a3, ..., an;

б) readln (a1, a2, a3, ..., an) – каждое вводимое значение присваивается последовательно переменным a1, a2, a3, ..., an, после чего происходит переход на новую строку (следующий оператор ввода будет вводить данные с новой строки);

в) readln – переход на новую строку при вводе данных.

Логические данные в Паскале вводить не разрешается.

При вводе числовые данные должны разделяться пробелом или символом окончания ввода (клавиша <Enter>).

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

var a, b, c : real;

k, t : integer;

. . .

read (a, b, c);

readln;

read (k, t);

После набора на экране дисплея всей программы и запуска ее на выполнение происходит останов машины при встрече read(a, b, c). На клавиатуре ЭВМ необходимо набрать три действительных числа, затем с новой строки (выполняется оператор readln) – два целых числа соответственно оператору read(k, t). Например,

0.5 6.23 –7.1

3 48

При этом переменные получат следующие значения: a = 0.5, b = 6.23, c = –7.1, k = 3, t = 48, и выполнение программы продолжится.

Числа можно отделять друг от друга не только пробелами, но и символом окончания ввода (клавиша <Enter>), то есть каждое число вводится с новой строки.

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

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

var a, b, c : char;

. . .

read( a, b, c);

Данные вводятся в виде: SNR. Переменные a, b, c получат следующие значения:

a = ‘S’, b = ‘N’, c = ‘R’.

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

С вводом данных связана стандартная функция EOLN. Она принимает значение true, если достигнут конец строки; в противном случае – значение false.

Соседние файлы в папке Лекции Информатика и программирование