Читаем Песни о Паскале полностью

Куда передавать данныеРекомендуемый способ
Только в процедуру или функцию1) По значению (простые типы) 2) По ссылке CONST (сложные типы)
Только из процедуры и функции1) Через имя функции (одно значение) 2) По ссылке VAR (несколько значений)
В обоих направленияхПо ссылке VAR (любые данные)

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

Встроенные процедуры и функции

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

Текстовые файлы

Напоследок напомню об основных средствах обработки текстовых файлов.

Для чтения из файлов применяют следующие процедуры и функции:


Assign(F, ...) - Связать файловую переменную с файлом

Reset(F) - Открыть файл для чтения

Read(F, ...) - Прочитать часть строки файла

Readln(F, ...) - Прочитать строку файла и перейти к следующей

Eoln(F) - Проверить на конец строки

Eof(F) - Проверить на конец файла

Close(F) - Закрыть файл


Для записи в файл применяют такие процедуры:


Assign(F, ...) - Связать файловую переменную с файлом

Rewrite(F) - Открыть файл для записи

Write(F, ...) - Записать часть строки файла

Writeln(F, ...) - Записать строку файла и перейти к следующей

Close(F) - Закрыть файл


Чтобы связать текстовый файл с клавиатурой (при вводе) или с экраном (при выводе), можно прибегнуть к двум приёмам. Первый состоит в том, чтобы назначить файлу пустое имя.


var F_In, F_Out : Text;

begin

Assign(F_In,’’); Reset(F); { F_In связали с клавиатурой }

Assign(F_Out,’’); Rewrite(F); { F_Out связали с экраном }

. . .

end.


Второй приём заключается в применении специального имени "CON" — от слова Console (оно предусмотрено в MS-DOS и Windows).


Assign(F_In,’Con’); Reset(F); { F_In связали с клавиатурой }

Assign(F_Out,’Con’); Rewrite(F); { F_Out связали с экраном }


В операционных системах MS-DOS и Windows существует несколько специальных имен файлов, вот некоторые из них:


AUX - Первый асинхронный коммуникационный порт

CON - Клавиатура и экран (CONsole)

NUL - Фиктивное устройство (для тестирования)

PRN - Первый параллельный принтер


Аналогичные имена применяют и в UNIX-подобных системах.

Наконец, для действий с текстовыми файлами можно применять две встроенные в язык файловые переменные: INPUT и OUTPUT. Они не нуждаются ни в объявлении, ни в открытии, ни в закрытии файлов:


Readln(Input, S); { - то же самое, что Readln(S) }

Writeln(Output, S); { - то же самое, что Writeln(S) }


Файловые переменные INPUT и OUTPUT можно передавать в качестве фактических параметров внутрь процедур и функций, а также связывать их с дисковыми файлами. Вот пример копирования файла из «MyText.in» в «MyText.out»:


var S: string;

begin

Assign(Input,’MyText.in’); Reset(Input);

Assign(Output,’MyText.out’); Rewrite(Output);

While not Eof do begin

Readln(S);

Writeln(S);

end;

Close(Input); Close(Output);

end.


Что дальше?

Перейти на страницу:

Похожие книги

Сломанная кукла (СИ)
Сломанная кукла (СИ)

- Не отдавай меня им. Пожалуйста! - умоляю шепотом. Взгляд у него... Волчий! На лице шрам, щетина. Он пугает меня. Но лучше пусть будет он, чем вернуться туда, откуда я с таким трудом убежала! Она - девочка в бегах, нуждающаяся в помощи. Он - бывший спецназовец с посттравматическим. Сможет ли она довериться? Поможет ли он или вернет в руки тех, от кого она бежала? Остросюжетка Героиня в беде, девочка тонкая, но упёртая и со стержнем. Поломанная, но новая конструкция вполне функциональна. Герой - брутальный, суровый, слегка отмороженный. Оба с нелегким прошлым. А еще у нас будет маньяк, гендерная интрига для героя, марш-бросок, мужской коллектив, волкособ с дурным характером, балет, секс и жестокие сцены. Коммы временно закрыты из-за спойлеров:)

Лилиана Лаврова , Янка Рам

Современные любовные романы / Самиздат, сетевая литература / Романы