Материал: Алгоритмический язык Turbo Pascal 7.0. Юршин Е.Д., Рог А.И

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Функция EOF. Логическая функция, тестирующая конец файла. Возрастает – TRUE? Если файловый указатель стоит в конце файла. При записи это означает, что очередной компонент будет добавлен в конце файла, при чтении – это файл исчерпан. Формат обращения:

EOF (<ф.п>): BOOLEAN;

Рассмотрим конкретную программу, в которой осуществляется считывание из исходного файла, содержащего целые числа (по одному числу в строке) и записывает каждое число, вместе с его квадратным корнем и квадратом, в выходной файл.

Program Squ; Var

In File, out File: Text; {входной и выходной файл}

In File Name: String; {имя входного файла} Next Num: Real; {следующие число}

Begin

{Подготовка файлов для записи и считывания} Write (‗Введите имя файла‘);

Readln (In File Name); {ввести имя для IN File}

Assign (In File, In File Name);

Reset (In File); {открытие In File для считывания}

Assign (Out File,‘ Squares.Txt‘);

Rewrite (Out File); {открытие Out File для записи} {Запись в выходной файл «шапки»

будущей таблицы}

Writeln (Out File,‘N‘:10, ‗корень‘:15, ‗квадрат‘:15);

{Считывание каждого числа из входного файла и запись каждой строки в выходной файл.}

While not EOF (In File) do Begin

Readln (In File, Next Num); {Следующие число}

Writeln (Out File, Next Num: 10:2 Sqrt (Next Num):15:2, Sqr (Next Num):15:2);

End;

{закрытие файла} Cloze (In File);

Cloze (Out File);

Writeln (‗Таблица корней и квадратов‘

‗Выведены в файл Squares.txt.‘);

end.

Работа программы (после запуска) начинается со считывания в переменную In File Name, принадлежащую типу String, полного имени файла с входной информацией. После выхода из цикла, файлы закрываются и имя выходного файла (Squares.txt) выводится на экран, чтобы пользователь программы знал, где искать результаты работы программы. Обычно, имея дело с текстовым файлами, программисты используют расширения .TXT(что соответствует TEXT) и .DAT(что соответствует Data). Пробный запуск программы, результаты которого:

<Введите имя файла >Numbers.txt

Таблица корней и квадратов выведена в файл

Squares.txt

Показывает, что программа выводит на экран две строки.

Первая из них представляет собой приглашение, в ответ на которое пользователю следует с клавиатуры ввести внешнее имя файла, содержащего входную информацию(Numbers.txt). А вторая строка выводит имя выходного файла(Squares.txt), которое задает второй оператор Assign в программе.

После открытия файлов, программа записывает в выходной файл заголовок будущей таблицы. Зачем начинается выполнение цикла while, в котором оператор Readl считывает каждое число из файла с входной информацией, а оператор Writeln записывает в следующую строку выходного файла три результата (число, квадратный корень и квадрат). Хотя число (значащих) символов в выводимой строке может варьироваться программа всегда записывает в эту строчку 40 символов, включая символ <eoln> (т.е. если символ меньше в строку добавляется нужное число пробелов).

Заметим, что числа, которые считываются в выходной файл, не выводится на экран дисплея. Кроме того, следует отметить, что внутри цикла нет необходимости выводить на экран приглашение, т.к. элементы данных в этом случае не вводится интерактивно.

Обратим внимание на то, что при использовании функции EOF для управления повторением цикла, никакого предварительного считывания не требуется. Взамен, оператор Readln внутри цикла считывает все строки данных, включая первую. Если файл окажется пустым, цикл While не выполняется и оба файла закрываются. В этом случае выходной файл будет содержать только заголовок таблицы, который туда записаны.

В таблице 4.2.3. показан пример файла с входными данными (левый столбец) и пример выходного файла (три столбца справа).

 

Файл Numbers.txt

Файл Squares.txt

 

 

 

 

 

 

 

 

N

квадратичный корень

 

 

квадрат<eoln>

 

 

 

 

100<eoln>

100.00

10.00

 

 

10000<eoln>

 

 

 

 

4.00<eoln><eof>

4.00

2.00

 

 

16.00<eoln><eof>

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ.

В одном учебном пособии затронут круг вопросов, связанных с изучением дисциплины ―Информатика‖ студентами заочной формы обучения специальностей ― Электромеханика ― и

―Электрофикация и автоматизация сельского хозяйства‖ и может быть полезна студентам других специальностей, различных форм обучения. Основной целью пособия является научить студента самостоятельно составлять элементарные программы на алгоритмическом языке Turbo Pascal с последующей их реализацией на персональном компьютере.

В то же время в данном учебном пособии не приведены основы программирования на других

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

Отсутствует в пособии структура, арифметические и логические основы работы ЭВМ, а также системное программное обеспечение. Кроме того, не представлены средства графического представления информации, материал по работе с различными редакторами(Word, Exсel, Edit) и т.д.

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

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК.

1.Фаронов В.В. Турбо – Паскаль 7.0 начальный курс – М.: ―Нолидж‖, 1997

2.Фаронов В.В. Основы Турбо – Паскаля. – М.: ―МВТУ – ФЕСТОДИДАКТИК‖, 1993.

Источник: https://studfile.net/preview/16565609/