Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_ лекций по Паскалю_ИиКТ.doc
Скачиваний:
12
Добавлен:
24.09.2019
Размер:
2.85 Mб
Скачать

Чтение из файла

Чтение из файла выполняется при помощи инструкций READ и READLN, которые в общем виде записываются так:

read (ФайловаяПеременная, СписокПеременных) ;

readln (ФайловаяПеременная, СписокПеременных) ;

где ФайловаяПеременная  переменная типа TEXT ; СписокПеременных  имена переменных, разделенные запятыми.

Конец файла и конец строки

Как определить, прочитана последняя строка, или, другими словами, достигнут конец файла ?

Для этого нужно проверить значение, возвращаемое функцией EOF (End Of File  конец файла).

EOF (файловая переменная) - проверяет достигнут ли конец файла. Если конец файла достигнут, то функция EOF возвращает true, в противном случае  false.

Как определить, прочитаны ли все символы в строке ?

Для этого нужно проверить значение, возвращаемое функцией EOLN (End Of Line  конец строки).

EOLN (файловая переменная) - проверяет достигнут ли конец строки в файле. Если конец строки достигнут, то функция EOLN возвращает true, в противном случае - false.

Имеются еще две функции:

  1. SeekEOF(F)  конец строки;

  2. 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.

Приведенная программа  это ядро будущей программы, выполняющей все поставленные задачи. Она может быть оттранслирована и выполнена. И хотя на первый взгляд она не выполняет никакой полезной работы, с ее помощью может быть проверена логика работы разрабатываемой программы.