Сайт Льва Волкова
  
· Первый искусственный спутник Земли весил 83.6 кг. Колибри весит в среднем 1,7 г.
 
      На главную  
 Личное
  Статьи
  Задачи 
 Ссылки
 АТ-531
www.levvol.ru    
 

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

В данном разделе рассмотрим организацию ввода и вывода данных с терминального устройства. Терминальное устройство - это устройство, с которым работает пользователь, обычно это клавиатура и экран (дисплей).

Ввод данных

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

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

Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК.

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

Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.

Не допускается разделение вводимых чисел запятыми!

Процедура ReadLn без параметров просто ожидает нажатия клавиши Enter.

Вывод данных

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

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

Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор, в отличие от первого, не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.

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

Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.

Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций.

Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.

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

var rA, rB: Real;
   iP,iQ:Integer;
   bR, bS: Boolean;
   chT, chV, chU, chW: Char;
begin
  . . . 
  WriteLn(rA, rB:10:2);
  WriteLn(iP, iQ:8);
  WriteLn(bR, bS:8);
  WriteLn(chT, chV, chU, chW);
end.

Две спецификации можно указывать только для вещественных величин:

WriteLn(b:10:5)

В данном случае для b указано две спецификации, что означат, что при выводе под эту вещественую переменную отводится 10 позиций, причем под дробную часть - 5 из этих позиций (еще одну позицию занимает десятичная точка).

Пример. Программа, которая переводит температуру в градуcах по Фаренгейту в градусы Цельсия по формуле:

С=(5/9)(F-32),

где С- температура по Цельсию; F-температура по Фаренгейту.

  Progtam Temperature;
     Var fahr, cels :real;
  Begin
   Write('Введите температуру по Фаренгейту='); Readln(fahr);
   cels:=5/9*(fahr-32);
   Writeln('По Фаренгейту: ',fahr:6:2,' по Цельсию: ',cels:6:2);
   ReadLn;
  End. 
  

вверх страницы

 

[назад] [содержание] [вперед]