Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика, билеты.docx
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
131.51 Кб
Скачать

5.9 Процедуры вывода данных.

75

Процедура (оператор) WRITE предназначена для вывода выражений следующих типов: Integer, Byte, Real, Char, String, Boolean и др.

WRITE ([< имя файла или устройства >,]

<список выражений>);

Если <имя файла> отсутствует, то вывод осуществляется в стандартный файл OUTPUT (на экран дисплея). Если указано < имя файла >, этот файл должен быть описан или подготовлен заранее.

Для вывода на печать используется логическое устройство LST; при этом должен быть подключен стандартный модуль PRINTER (т.е. в начале программы должно быть предложение Uses Printer;).

Оператор WRITE выводит значения выражений из списка на текущую строку до ее заполнения. Если за ним следует оператор вывода, а текущая строка еще не заполнена, то вывод осуществляется на ту же строку.

Например:

X:=5; Y:=10;

WRITE (‘X=’, X);

WRITE (‘ Y=’,Y); На печать:X=5 Y=10

При выводе на печать для величин стандартного типа отводится определенное число позиций, зависящее от реализации Паскаля. Существует возможность задавать ширину поля (число позиций) для выводимой величины.

Оператор вывода с форматом:

WRITE ([< имя файла или устройства >,]R1:N1,R2:N2,…, Rm:Nm);

Здесь - R1,R2,…,R m- выводимые переменные;

N1,N2,…,N m- ширина поля.

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

Вопрос 16

Оператор CASE: формат, порядок выполнения.

Оператор выбора CASE может быть использован вместо условного оператора, если требуется сделать выбор более, чем из двух возможностей.

CASE <селекторное выражение> OF

][ <метка> ,<метка> : <оператор 1> ;

,<метка> . . <метка>

<метка> ,<метка> : <оператор 2> ;

[ ,<метка> . . <метка>

. . . . .

[ <метка> ,<метка> : <оператор n>;

,<метка> . . <метка>

[ ELSE <оператор>]

END;

Селекторное выражение (селектор, переключатель) и метки-константы (метки варианта, метки выбора) должны иметь один и тот же простой тип (кроме вещественного). Метки-константы в отличие от меток программы не требуется описывать в разделе описания меток. Но на них нельзя ссылаться в операторе GOTO. Метки варианта могут быть перечисляемого и интервального типа.

<оператор 1>,<оператор 2>,<оператор n> - простой или составной оператор.

Оператор выбора выполняется следующим образом. Сначала вычисляется селекторное выражение; затем выполняется оператор, метка варианта которого равна текущему значению селектора; после этого происходит выход из оператора CASE на следующий оператор. Если значение селектора не совпадает ни с одной из меток варианта, будет выполнен оператор после ELSE. Если ветвь ELSE отсутствует, то управление передается следующему за CASE оператору.

Например,

cos x , при k=3

sin x , при k=2

Z = e x , при k=1

ln x , при k=0

0 в остальных случаях

CASE K OF

0: Z := LN(X) ;

1: Z := EXP(X) ;

2: Z := SIN(X) ;

3: Z := COS(X)

ELSE

Z := 0

]

]

27

END ; …

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

В следующем примере переменная OTVET получает значение YES или NO в зависимости от введенного значения символьной переменной V. Здесь метки варианта задаются перечислением.

VAR V : CHAR;

OTVET : STRING;

CASE V OF ‘D’, ‘d’, ‘Д’, ‘д’ : OTVET := ‘YES’;

N’, ‘n’, ‘Н’, ‘н’ : OTVET := ‘NO’

ELSE

OTVET := ‘ ‘

END; …

В следующем примере метки выбора заданы интервалом.

VAR V : CHAR;

OTVET : STRING;

CASE V OF ‘A’ . . ‘Z’,’a’ . . ‘z’ : OTVET := ‘буква’;

0’ . . ‘9’ : OTVET := ‘цифра

ELSE

OTVET := ‘специальный символ‘

END; …