Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Для работы с текстовыми файлами





Процедура

assign (f:text; name:string);

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

Имя файла на диске состоит из идентификатора, содержащего не более 8 символов, за которым следует расширение – последователь­ность до трех разрешенных символов, отделяемое от имени точкой.

Например, assign(fD:\USER1\ X. txt¢) – связь файловой переменной с файлом X.txt из папки USER1 на диске D.

Процедура открытия файла f для чтения

reset (f:text);

Чтение начинается с первого элемента файла f.

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

Процедура открытия файла для записи

rewrite (f:text);

Запись начинается с первого элемента файла f. Если ранее в этот файл были записаны какие-либо элементы, то они становятся недоступными, т. е. файл считается пустым.

Процедура rewriteдопускает, что открываемый файл не существует, в этом случае она создает файл с заданным именем.

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

Процедура

close (f:text);

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

Логическая функция

eof (f:text ): boolean;

(End Of File) получает значение true, если достигнут признак конца файла и false, признак конца файла не достигнут. Признак конца файла возникает при закрытии файла.

Логическая функция

eoln (f:text):boolean;

(End Of Line) анализирует текущее положение конца строки в текстовом файле f, открытом для чтения. Еoln(f) возвращает значение true, если следующей операцией будет прочитан признак конца строки (символ #13) или конца файла (символ #26) и false во всех прочих случаях. Функция как бы предчувствует результат предстоящего чтения и анализирует его. Необходимость в eoln(f) возникает всякий раз, когда заранее неизвестно, где встретится конец строки.

Функции еof(f) и еoln(f) можно использовать в логических выражениях и, в частности, в операторах цикла, например:

while not eof(f) do

begin

.............

end.

Пока не достигнут конец файла (логическое выражение not eof (f) имеет значение true, т. к. eof (f) – false), повторяется циклическая часть программы, заключенная в операторные скобки begin … end.

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

Процедура

readln(f:text; s:string);

обеспечивает чтение из внешнего файла, с которым связана файловая переменная f, текущей строки и присваивание значения этой строки переменной s. После выполнения чтения указатель файла устанавливается на первый символ следующей строки.

Процедура

read (f:text; ch:char);

обеспечивает чтение из внешнего файла, с которым новая переменная f, текущего символа и присваивание значения этого символа переменной ch. После выполнения чтения указатель файла устанавливается на следующий символ строки.

Процедура

readln(f:text);

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

Запись в файл. Под записью файла понимается вывод результатов оперативной памяти машины на диск, т. е. создание нового файла на внешнем устройстве.

Процедурa

writeln (f:text, s:string);

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

Процедура

write (f: text; ch:char);

выполняет запись значения символа ch в элемент внешнего файла, на который установлен указатель файла. После выполнения записи указатель файла устанавливается на следующую позицию.

Процедура

writeln(f:text);

записывает признак конца строки в элемент файла, на который установлен указатель файла.

Примеры выполнения задания 9

Дан текстовый файл abc.txt. Удалить из каждой строки файла abc.txt все пробелы и расположить символы строки в обратном порядке.

Результат записать в файл def.txt.

Примечание. Формирование текстового файла с исходными данными abc.txt можно выполнить в любом текстовом редакторе, в том числе и в редакторе Турбо Паскаля.

Порядок создания файла:

- войти в редактор Турбо Паскаля;

- набрать несколько строк текста (в конце последней строки обязательно нажать Enter);

- сохранить под именем: abc.txt.

program lab6;

uses crt;

var s: string;

f, g: text;

n,k,i:integer;

begin clrscr;

assign (f, ¢abc.txt¢);

assign (g, ¢def.txt¢);

reset (f); {открыть файл abc.txt на чтение}

rewrite (g); {открыть файл def.txt на запись}

while not eof (f) do

begin readln (f, s); {текущая строка файла запишется в ОЗУ в ячейку, отведенную под переменную s }

п:= pos(¢ ¢); {позиция первого по порядку пробела}

while n > 0 do

begin

delete(s, n, 1); {удаление пробела в позиции п }

п:= pos(¢ ¢);

end;

{формирование новой строки s 1 из символов строки s,

расположенных в обратном порядке}

k:=length(s);

for i:= 1 to k do

s 1[ i ]:= s [ k +1- i ];

{запись строки s 1 в файл g }

writeln(g, s 1);

end; close(f); close(g);

end.


 

Тема 10

Работа с комбинированными типами данных

(записями)

Общие сведения

Достаточно часто приходится обрабатывать данные об объектах, состоящих из элементов различных типов. Например, для такого объекта, как абитуриент, можно при описании использовать следующие характеристики

 

Фамилия Имя Отчество Год рождения Гражданство Телефон Факультет
Иванов Сергей Петрович   Россия   ФАВТ

 

Для описания подобных объектов в Турбо Паскале используется специальный тип данных – запись.

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

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

Описание записи начинается со служебного слова record, затем следует список полей с указанием их типов. Заканчивается описание записи словом end:

Record имя поля 1: тип поля 1;

имя поля 2: тип поля 2;

...................

имя поля N: тип поля N

end;

Если типы нескольких полей совпадают, то имена полей перечисляются через запятую.

Рассмотрим примеры.

Представить комплексные числа А и В в виде записей (re + im *i), где re, im – вещественные числа, а также описать дату (число, месяц, год).

type comp = record

re, im: real

end;

data = record

day: 1..31;

month: 1..12;

year: integer

end;

var a, b: comp; dt: data;







Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.