Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Паскаль. Процедуры ввода-вывода
Для ввода и вывода числовой и текстовой информации в языке Паскаль предусмотрены следующие процедуры: ввод: вывод: где f - файловая переменная, указывающая логическое имя файла; P1, P2,... Pn - список ввода-вывода. Если в процедурах ввода-вывода первым параметром стоит логическое имя файла, то это означает, что поток данных будет приниматьсяы (Read) или направляться (Write) на конкретное физическое устройство компьютера, связанное в данный момент с логическим именем этого файла. Если имя файловой переменной опущено, то считается, что ввод сопряжен с логическим файлом Input (под ним подразумевается клавиатура с " эхом" ввода на экране), а вывод - с логическим файлом Output (что соответствует выводу на экран). Имена Input и Output являются предопределенными в системной библиотеке (модуле System). Таким образом, вызов процедуры Read(a, b) полностью эквивалентен вызову Read(Input, a, b), а вызов процедуры Write(b, c) - вызову Write(Output, b, c). Процедуры ввода информации Read/ReadLn. Синтаксис вызова: P1, P2,..., Pn - имена переменных, значения которых будут считаны (введены) из файла f. Тип переменных при вводе из текстового файла (в том числе с клавиатуры) может быть только целым, вещественным, символьным, строковым или совместимым с ними. Сложные структурированные типы (такие, как массив или запись) могут быть введены только по элементам. Например: VAR Когда вводятся числовые значения, два числа считаются разделенными, если между ними есть хотя бы один пробел, или символ(ы) табуляции (#9), или символ(ы) конца строки (#13). Так, при выполнении процедуры Read(i, l) (см. выше) можно ввести значения с клавиатуры несколькими способами: 156 23 [Enter] или 156 [Enter] 23 [Enter] При вводе с клавиатуры ввод всегда должен завершаться нажатием клавиши Enter, ибо именно она заставляет программу принять введенные буквы или цифры. При вводе с клавиатуры особой разницы между Read и ReadLn нет. Для текстовых файлов процедура ReadLn (Read Line) считывает значения в текущей строке и переводит позицию на начало следующей строки, даже если в текущей строке остались непрочитанные данные. Процедуры вывода информации Write/WriteLn. Синтаксис вызова: Эти процедуры выводят список значений P1, P2,..., Pn в текстовый файл f. Если файл не указан, то вывод осуществляется на экран. Значения, как и при вводе, могут иметь лишь целые, вещественные, символьные и строковые типы, а также производные от них. Структурированные данные (например, массив) должны вводится по элементам. Выводить можно также значение логического типа Boolean, например CONST Процедура Write напечатает на экране: TRUE... FALSE. Процедура Write выводит данные в текущую строку и не закрывает ее, т.е. следующие данные запишутся в ту же строку. Формально во внешнем файле (на диске) размер строки не ограничен. Исключение составляет вывод на экран. Если выводимый текст " уперся" в правую границу экрана, то он на этом месте разрывается и продолжается с начала следующей строки. Процедура WriteLn (Write Line) выводит строку данных и закрывает ее: помещает в конец строки символ конца строки #13 (точнее два символа: #10 - конец строки и #13 - " перевод каретки"). При выводе на экран курсор автоматически устанавливается в первую позицию следующей строки. Список вывода процедуры Write может содержать константы, переменные, выражения, вызовы функций - лишь бы они имели соответствующие типы и были разделены запятыми: Write(2+5);
|