Операторы ввода-вывода
ОРГАНИЗАЦИЯ ОБРАБОТКИ ДАННЫХ
В Турбо Паскале нет специальных операторов ввода-вывода, а рассматриваемые сегодня операторы обеспечивают обращение к стандартным процедурам обмена информацией ПК с внешним миром: в современных ЭВМ вводом-выводом данных управляют специальные программы, которые включаются в состав программного обеспечения.
------------- с клавиатуры
----------------- на экран монитора
Посредством процедур ввода-вывода обеспечивается резервирование определенной области ОП процессора для записи туда данных извне при вводе и для вывода во внешнюю среду.
1. Процедура READ или READLN. Процедура READ предназначена для ввода с клавиатуры значений переменных (исходных данных).
Форма процедуры:
READ (А1, А2, …Аn);
где Ai – имя переменной, значение которой должно быть введено с клавиатуры во время выполнения программы.
Основная функция процедуры ввода заключается в преобразовании данных из внешней формы представления, понятной человеку, во внутреннюю, понятную ЭВМ, и присвоении полученных значений переменным.
При выполнении процедуры READ происходит следующее:
· программа приостанавливает свою работу и ждет, пока на клавиатуре будут набраны данные (в соответствии с наличием и последовательностью написания переменных процедуры)
· после нажатия кнопки <ENTER>введенные значения присваиваются переменным.
Например, процедура READ (Temperat) означает, что после ввода с клавиатуры числа 21 и нажатия кнопки <ENTER> переменной Temperatбудет присвоено значение 21.
Одна процедура READ позволяет получить значения нескольких переменных. При наборе запись вводимых чисел должна соответствовать типу переменных, они набираются в одной строке и разделяются пробелами.
Если в строке набрано больше чисел, чем задано переменных в процедуре READ то оставшаяся часть строки будет обработана следующей процедурой ввода. Например, в результате выполнения процедур
READ (A, B);
READ (C);
При вводе с клавиатуры для первой процедуры строки 10 25 18 переменная C получит значение 18 после выполнения второй процедуры.
Процедура READLN ( LN – аббревиатура от line – строка) отличается от процедуры READтем, что после выделения очередного числа из введенной с клавиатуры строки и присваивания его последней переменной списка процедуры READLN, оставшаяся часть строки данных теряется и следующая процедура READLNили READ будет требовать нового ввода.
2. Процедура WRITE или WRITELN.ПроцедураWRITEпредназначенадля вывода на экран монитора сообщений и значений переменных. При выводе значения переменных преобразуются из внутреннего представления и выводятся на соответствующий внешний носитель.
Формат процедуры WRITE:
WRITE (список имен переменных);
После имени переменной после двоеточия можно поместить описание (формат) поля вывода ее значения. Например, для переменной типа INTEGER – WRITE (C:4), а для переменной типа REAL – WRITE (C:4:5). Если для вещественной переменной в процедуре WRITE задать только одну цифру (ширину поля), то при выводе на экране появится число, представленное в формате с плавающей запятой. Например, для вещественных переменных X1 и X2, получивших в ходе выполнения программы значения соответственно 13.25 и –0.3401, после выполнения процедуры
WRITE (‘X1=’, X1:5:2, ‘X2=’, X2:12)
на экране появится:
X1 = 13.25 X2 = -3.40100E-01
После выполнения процедуры WRITE курсор остается в той позиции экрана, в которую он переместился после выведения последнего символа данной процедуры. Следующая процедура вывода начнет вывод именно с этой позиции.
Процедура WRITELN отличается от процедуры WRITE только тем, что после вывода сообщения или значений переменных курсор переходит в начало следующей строки.