Лекция: Вывод данных – обратный процесс, когда данные передаются после обработки из оперативной памяти на внешний носитель.

Как правило внешним носителем является клавиатура (для ввода данных) и монитор (для вывода данных).

а) процедуры Read и ReadLn;

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

Read (список ввода);

Readln (список ввода);

Список ввода должен состоять только из имен переменных.

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

Например: Read(a,b,c)

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

Процедура Readlnтребует завершения ввода последнего параметранажатием клавиши Enter, поскольку считывание данных для следующей процедуры Read (или ReadLn)должно осуществляться с новой строки.

 

б) процедуры Write и WriteLn;

Обеспечивают вывод данных после обработки из оперативной памяти на экран.

Write (список вывода);

Writeln (список вывода);

Список вывода может включать:

· текст, заключенный в апострофы – выводится без изменений;

· константы – выводятся без изменений;

· переменные – выводится значение каждой переменной;

· выражения – выводится результат.

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

Например:

a:=10; b:=12;

WRITELN(‘Сумма чисел ‘,a,’и’,b,’ равна ’,a+b);

На экран будет выведено: Сумма чисел 10 и 12 равна 22

в) форматированный вывод.

При использовании форматного вывода каждый элемент списка может быть представлен в одной из следующих форм: A:w илиA:w:d,

где A — элемент списка вывода; w — целое положительное число, определяющее общую длину поля вывода; d — целое положительное число, определяющее длину дробной части выводимого вещественного числа.

1. Для целых данных (integer и др.) — формат задается одним числом, определяющим число позиций, отводимых на это число. Например:

Writeln(i:5);

выведет на экран значение переменной i, используя для этого 5 позиций. Если переменная i:=34, то на экран будут выведены 3 пустых позиции (они для наглядности показаны знаком подчеркивания) и число 34, т.о. всего 5 позиций: _ _ _ 34.

Если переменная i:=2345666, то данный формат будет просто игнорироваться и все значение переменной отобразиться на экране: 2345666.

2. Для вещественных данных (real и др.) — формат задается либо одним числом, определяющим число позиций, отводимых на это число в экспоненциальной форме; либо двумя числами, первое из которых обозначает общий размер поля, отведенного под это число, второе — число знаков после запятой, т.е. точность. Например: Writeln(p:12);илиWriteln(p:6:2);

Если переменная p:=1234.,6789, то в первом случае на экране появится _1.2346E+004,а во втором 1234.68.

Еще один пример. Пусть значение переменной X равно 123.45678, тогда оператор

Write(X);выведет"_1.23456780000000000E+02"

Write(X:8:2);выведет"_ _123.46"

Write(X:10:5);выведет"_123.45678"

Write(X:10);выведет"_1.235E+02"

Write(X:8);выведет"_1.2E+02"

Write(X:1);выведет"_1.2E+02"

3.Для строковых и символьных данных (string, char) — формат задается одним числом, определяющим число позиций, отводимых на значение этих данных (т.е. на символ или набор символов). Например, для строковой переменной ss:=’СТРОКА’ и для символьной переменной c:=’C’, операторы Writeln(ss:8); Writeln(c:4);выведут на экран _ _ СТРОКА и _ _ _ С

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

Может оказаться полезным, что операторWrite(' ':n)выведет на экран n пробелов. При n=6 будет _ _ _ _ _ _

Если в разобранной выше задаче переписать оператор writeln, который выводит на экран значение времени и скорости троллейбуса, таким образом: writeln(‘ За ’,t:6:2,’ сек. скорость троллейбуса v=’,v:5:1,’ м/с,’);то на экране появится (знак подчеркивания показан для демонстрации пустых позиций форматированного вывода): За _ _1.00 сек. скорость троллейбуса v= _ _1.5 м/c,

2. Составить блок-схему нахождения максимума из трех чисел.

 

еще рефераты
Еще работы по информатике