Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика ЗКМЗКЕ_1курс / Основы алг-ции и прог-ие.doc
Скачиваний:
81
Добавлен:
05.06.2015
Размер:
1.88 Mб
Скачать
    1. Процедуры вывода данных.

Процедура (оператор) 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=5Y=10

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

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

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

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

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

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

      1. Особенности вывода вещественных значений.

Если описать переменную вещественного типа, то возможны следующие варианты вывода этой переменной:

1) Write(R);Вывод осуществляется в нормализованном виде (экспоненциальная форма):

2) Write(R:N) ;Вывод в нормализованном виде с выравниванием по правой границе поля длинойN. Минимальное значениеNравно 8. При задании меньшего размера ширины поля компилятор добавляет недостающие разряды до 8.

3) Write(R:N:M) ;Вывод в форме с фиксированной точкой и с М десятичными знаками после точки(0<=M<=24).

Например,

VAR B,d:real;

C:integer;

A:string[10];

. . .

A:=’книга’;

B:=1253E-5;

C:=12;

d:=1253E2;

Write(LST,’B=’,B:10:3,’ C=’,C:8,’ A=’,A:7,’ b1=’,b:8,’ d=’,d:6);

На печать будет выведено (здесь _ означает символ пробел, который на экране не виден):

В=_ _ _ _ _ 0.013_С=_ _ _ _ _ _12_А=_ _книга_B1=_1.3E-02_D=_1.3E+05

Процедура WRITELN имеет аналогичный вид:

WRITELN ([<имя файла или устройства>,]<список выражений>);

При вызове этой процедуры завершается формирование текущей строки файла. Следующий оператор WRITE или WRITELNформирует новую строку. Можно использовать WRITELNбез параметров.

Например, при совместном использовании операторов WRITEи WRITELN можно регулировать вывод по строкам:

Var A,B,C,D,E:integer;

Begin

A:=1; B:=2; C:=3; D:=4; E:=5;

Writeln (‘ A=’,A,’ B=’,B);

Write(‘ C=’,C);

Writeln(‘ D=’,D,’ E=’,E);

End.

На экран дисплея результат будет выведен в двух строках:

_A=1_B=2

_C=3_D=4_E=5

Вывод матрицы A(M,N) целых чисел на экран в виде прямоугольной таблицы можно реализовать следующими операторами:

. . .

For I:=1 to M do

Begin

For J:=1 to N do

Write(A[I,J]:5);

Writeln

End;

Вывод матрицы A(M,N) вещественных чисел на принтер в виде таблицы с одним разрядом после запятой представлен следующей программой:

Uses Printer;

Var A:array[1..10,1..10]of real;

M,N:integer;

Begin

Readln(M,N);

For I:=1 to M do

For J:=1 to N do

Read(A[I,J]);

For I:=1 to M do

Begin

For J:=1 to N do

Write(Lst,A[I,J]:6:1);

Writeln(Lst)

End;

Readkey

End.