Чтение из файла выполняется при помощи инструкций READ и READLN, которые в общем виде записываются так:
где ФайловаяПеременная ¾ переменная типа TEXT ; СписокПеременных ¾ имена переменных, разделенные запятыми.
Как определить, прочитана последняя строка, или, другими словами, достигнут конец файла ?
Для этого нужно проверить значение, возвращаемое функцией EOF(End Of File ¾ конец файла).
EOF(файловая переменная) - проверяет достигнут ли конец файла. Если конец файла достигнут, то функция EOF возвращает true, в противном случае ¾ false.
Как определить, прочитаны ли все символы в строке ?
Для этого нужно проверить значение, возвращаемое функцией EOLN (End Of Line ¾ конец строки).
EOLN(файловая переменная) - проверяет достигнут ли конец строки в файле. Если конец строки достигнут, то функция EOLNвозвращает true, в противном случае - false.
Имеются еще две функции:
* SeekEOF(F) ¾ конец строки;
* SeekEONL(F) ¾ конец строки файла.
Для текстовых файлов функции SeekEOFиSeekEOLN имеет смысл использовать при чтении из файла, если количество записей заранее неизвестно. Функция SeekEOLN“видит” конец строки даже, если после последнего символа есть пробелы и табуляции, а функции SeekEOF не мешают “увидеть” конец файла пустые (не содержащие других знаков, кроме пробелов и табуляций) строки после последних данных.
Под структурным программированием понимается метод программирования, обеспечивающий создание программы, структура которой ясна и неразрывно связана со структурой решаемой задачи. В основе метода структурного программирования лежит подход, при котором исходная задача разделяется на несколько достаточно крупных задач, каждая из которых реализуется как отдельная процедура. В свою очередь, подзадача тоже разделится на подзадачи более низкого уровня, также реализуемые как отдельные процедуры. Таким образом, структура программы отражает структуру задачи, для решения которой она предназначена.
Например, задача работы с базой данных может быть разделена на две подзадачи: задачу добавления информации в базу данных и задачу обработки информации базы данных. Задача добавления информации может быть также разделена, например, на три подзадачи: получение информации; проверка непротиворечивости; непосредственное добавление информации в базу.
Метод структурного программирования предполагает использование технологии разработки программы, получившей название “сверху вниз”. Суть метода разработки “сверху вниз” состоит в том, что сначала разрабатывается часть программы, реализующая наиболее общий алгоритм, а решение частных задач откладывается на более поздний срок. Процедуры, предназначенные для решения отложенных задач, заменяются процедурами-заглушками.
Рассмотрим использование метода “сверху вниз” на примере разработки программы работы с базой данных.
На рис. 28 приведен укрупненный алгоритм (верхнего уровня) программы работы с базой данных. Прямоугольники с двойной левой и правой границами изображают подзадачи, которые, как правило, реализуются как процедуры.
Рис. 28. Укрупненная блок-схема алгоритма программы работы с базой данных
Представленному алгоритму соответствует программа:
var
f : text ; { файл базы данных }
sel : integer ; { выбор пользователя }
dbname : string[20] ; { имя файла БД }
procedure append_BD(var f : text ) ; { процедура-заглушка }
begin
writeln(‘Добавление в БД не реализовано. ‘) ;
writeln(‘Нажмите < Enter > для продолжения. ‘) ;
readln ;
end ;
procedure process_BD(var f : text ) ; { процедура-заглушка }
begin
writeln(‘Обработка БД не реализовано. ‘) ;
writeln(‘Нажмите < Enter > для продолжения. ‘) ;
readln ;
end ;
BEGIN { Основная программа }
assign(f, dbname) ;
repeat
writeln(‘База данных’) ;
writeln(‘ 1 ¾ Добавление в БД’) ;
writeln(‘ 2 ¾ Обработка БД’) ;
writeln(‘ 0 ¾ Завершение работы’) ;
writeln(‘Ваш выбор (число 0..3 и < Enter > ) ’) ;
readln(sel) ;
case sel of
1 : append_BD(f) ;
2 : process_BD(f) ;
end ;
until sel = 0 ;
END.
Приведенная программа ¾ это ядро будущей программы, выполняющей все поставленные задачи. Она может быть оттранслирована и выполнена. И хотя на первый взгляд она не выполняет никакой полезной работы, с ее помощью может быть проверена логика работы разрабатываемой программы.