Новые книги

Это книга о русской блогосфере, написанная как документальный роман-френдлента. Ее герои — самые известные, яркие и успешные блогеры Рунета: Антон Носик, Рустем Адагамов, Артемий Лебедев, Линор Горалик, Марта Кетро, Максим Кононенко, Сталик Ханкишиев, Вера Полозкова — восемь человек, которые стали такими, какие они есть, во многом благодаря интернету и которые сделали интернет таким, каким мы знаем его сегодня. Эти восемь человек — во всех смыслах первые лица русской блогосферы — рассказывают о том, как открыли для себя Всемирную паутину, как обустроили ее и приспособили для жизни. Нам, читающим эту френдленту, решать, как в ней жить сегодня.
IoT – инструмент, который поможет бизнесу вырваться вперед. Мачей Кранц рассказывает об инновационной технологии и особенностях внедрения ее в разные отрасли. Эта книга научит вас использовать IoT, предсказывать грядущие перемены и разрабатывать уникальные стратегии, способные обеспечить вашему бизнесу и карьере процветание.

10. Операторы ввода и вывода



10. Операторы ввода и вывода

   Рассмотрим организацию  ввода и вывода данных с терминального уст-

ройства. Терминальное устройство - это устройство, с которым работает

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

   Для ввода и вывода данных используются стандартные процедуры ввода

и вывода Read и Write, оперирующие стандартными последовательными файлами

INPUT и OUTPUT.

   Эти файлы разбиваются на строки переменной длины,  отделяемые друг

от друга признаком конца строки.  Конец строки задается нажатием кла-

виши ENTER.

   Для ввода исходных данных используются операторы процедур ввода:

 

         Read(A1,A2,...AK);

         ReadLn(A1,A2,...AK);

         ReadLn;

 

   Первый из них реализует чтение К значений исходных данных и  прис-

ваивание этих значений переменным А1,  А2,  ...,  АК. Второй оператор

реализует чтение К значений исходных данных, пропуск остальных значе-

ний до начала следующей строки, присваивание считанных значений пере-

менным А1,  А2, ..., АК. Третий оператор реализует пропуск строки ис-

ходных данных.

   При вводе исходных данных  происходит  преобразование  из  внешней

формы представления во внутреннюю, определяемую типом переменных. Пе-

ременные, образующие  список ввода, могут принадлежать либо к целому,

либо к   действительному,  либо к символьному типам.  Чтение исходных

данных логического типа в языке ПАСКАЛЬ недопустимо.

   Операторы ввода  при чтении значений переменных целого и

действительного типа пропускает пробелы,  предшествующие числу.  В то

же время эти операторы не пропускают пробелов,  предшествующих значе-

ниям символьных переменных,  так как пробелы  являются  равноправными

символами строк. Пример записи операторов ввода:

 

         var rV, rS: Real;

             iW, iJ: Integer;

             chC, chD: Char;

         ................

         Read(rV, rS, iW, iJ);

         Read(chC, chD);

 

   Значения исходных данных могут отделяться друг от друга  пробелами

и нажатием клавиш табуляции и Enter.

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

операторы:

 

         Write(A1,A2,...AK);

         WriteLn(A1,A2,...AK);

         WriteLn;

 

   Первый из этих операторов реализует вывод значений переменных  А1,

А2,...,АК в   строку экрана.  Второй оператор реализует вывод

значений переменных А1,  А2,  ...,  АК и переход к  началу  следующей

строки. Третий   оператор реализует пропуск строки и переход к началу

следующей строки.

   Переменные, составляющие список вывода, могут относиться к целому,

действительному, символьному или булевскому типам. В качестве элемен-

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

и строки.

   Вывод каждого  значения в строку экрана происходит в соот-

ветствии с шириной поля вывода,  определяемой конкретной  реализацией

языка.

   Форма представления значений в поле вывода соответствует типу  пе-

ременных и выражений:  величины целого типа выводятся как целые деся-

тичные числа,  действительного типа - как  действительные  десятичные

числа с десятичным порядком,  символьного типа и строки - в виде сим-

волов, логического типа - в виде логических констант TRUE и FALSE.

   Оператор вывода  позволяет  задать  ширину поля вывода для каждого

элемента списка вывода.  В этом случае

элемент списка вывода имеет вид А:К, где

А - выражение или строка,  К - выражение либо константа целого  типа.

Если выводимое значение занимает в поле вывода меньше позиций, чем К,

то перед этим значением располагаются пробелы.  Если выводимое значе-

ние не помещается в ширину поля К,  то для этого значения будет отве-

дено необходимое количество позиций. Для величин действительного типа

элемент списка вывода может иметь вид А:К:М, где А - переменная или выраже-

ние действительного типа,  К - ширина поля вывода,  М  -  число  цифр

дробной части   выводимого значения.  К и М - выражения или константы

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

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

    Пример записи операторов вывода:

        . . . . . . . . . . . .

        var rA, rB: Real;       iP,iQ:Integer;

            bR, bS: Boolean;    chT, chV, chU, chW: Char;

        . . . . . . . . . . . .

        WriteLn(rA, rB:10:2);

        WriteLn(iP, iQ:8);

        WriteLn(bR, bS:8);

        WriteLn(chT, chV, chU, chW);