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

ОРГАНИЗАЦИЯ ОБРАБОТКИ ДАННЫХ

В Турбо Паскале нет специальных операторов ввода-вывода, а рассматриваемые сегодня операторы обеспечивают обращение к стандартным процедурам обмена информацией ПК с внешним миром: в современных ЭВМ вводом-выводом данных управляют специальные программы, которые включаются в состав программного обеспечения.


------------- с клавиатуры

 

----------------- на экран монитора

 

Посредством процедур ввода-вывода обеспечивается резервирование определенной области ОП процессора для записи туда данных извне при вводе и для вывода во внешнюю среду.

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 только тем, что после вывода сообщения или значений переменных курсор переходит в начало следующей строки.