русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Урок № 25. Стандартные процедуры и функции при работе с файлами.


Дата добавления: 2014-09-02; просмотров: 765; Нарушение авторских прав


Чтение и запись - две самые распространенные операции, выполняемые при работе с файлами. Для их осуществления применяются специальные функции файлового ввода/вывода.

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

1. Объявить файловую переменную необходимого типа.

2. При помощи функции AssignFile связать эту переменную с требуемым

файлом.

3. Открыть файл при помощи функций Append, Reset, Rewrite.

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

5. Закрыть файл при помощи функции СloseFile.

Для контроля за текущей позицией в файле применяются две основные функции. Функция EOF(F) возвращает значение True, если достигнут конец файла. Функция EOLN(F) аналогично сигнализирует о достижении конца строки. Естественно, в качестве параметра в функции необходимо передавать файловую переменную.

Процедура Seek(var F; N: Longint); - обеспечивает смещение текущей позиции на N элементов. Размер одного элемента в байтах зависит от типа данных файла (от типизированной переменной).

Erase(f) - удаляет файл

FilePos(f) - возвращает текущую позицию чтения/записи в файл

Flush(f) - сбрасывает кэшированные файловые операции на диск

Rename(f, 'MyNewFileName.txt') - переименование файлов

Truncate(f) - файл обрезается до текущей позиции чтения/записи.

 

Пример 1. Дан текстовый файл с набором символов. Проверить, есть ли в файле сочетание символов «abcdef», входящих в строку.

Program Stroki;

label l1;

Var

t,K:string;

i,l:integer;

f:text;

Begin

assign(f,'c:\str.txt');

reset(f);

readln(f,t);

l:=0;

for i:=1 to length(t) do

begin

k:=copy(t,i,6);

if k='abcdef' then l:=1;



end;

if l=1 then writeln('sochetanie "abcdef" vhodit v stroky')

else write('sochetanie "abcdef" ne vhodit v stroky');

readln;

end.

Пример 2.Имеется файл, содержащий массив из 10 вещественных чисел. Найти и вывести на экран все отрицательные элементы и сумму их квадратов.

program pr1;

var

X:array[1..10] of real;

i:integer;

Summa:real;

f:text;

begin

Summa:=0;

assign(f,'c:\tyh\ins.txt');

reset(f);

i:=1;

while not eof(f) do

begin

readln(f,X[i]);

if x[i]<0 then

begin

Summa:=Summa+X[i]*X[i];

writeln('x[',i:2,']=',' ',X[i]:8:3, ' Summa= ',summa:8:3);

i:=i+1;

end;

end;

readln;

close(f);

end.

 

Пример 3. Дан файл с именем «shisla.txt», содержащий целые числа. Проверить, является ли файл упорядоченным (отсортированным).

program hhh;

var

f:text;

n,i,K:integer;

begin

assign(f,'shisla.txt');

reset(f);

readln(f,N);

K:=N;

while not eof(f) do

begin

readln(f,N);

if K>N then

begin

writeln('file ne uporyadochen');

exit;

end

else

K:=N;

end;

writeln('file uporyadochen');

readln;

close(f);

end.

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

program t2;

label l1;

type

sotryd1=record

fam:string[8];

godrog:integer;

mes:integer;

den:integer;

end;

var

f1,f:text;

sotryd:sotryd1;

i:integer;

begin

assign(f,'a:\ishod.txt');

reset(f);

assign(f1,'a:\vish.txt');

append(f1);

writeln(f1,'Список сотрудников, родившихся в год быка: ');

while not eof(f) do

begin

with sotryd do readln(f,fam,godrog,mes,den);

for i:=1 to 10 do

begin

if sotryd.godrog=1901+i*12 then

begin

writeln(f1,sotryd.fam,sotryd.godrog);

goto l1;

end;

l1: end;

end;

writeln(f1,'Список сотрудников, родившихся осенью');

reset(f);

while not eof(f) do

begin

with sotryd do readln(f,fam,godrog,mes,den);

if (sotryd.mes=9) or (sotryd.mes=10) or (sotryd.mes=11) then

writeln(f1,sotryd.fam,sotryd.mes);

end;

close(f);

close(f1);

end.

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

program F_stud;

type

strud=record

name:string[8];

Age:integer;

Membbibl:boolean;

N_zachetki:integer;

Gruppa:string[4];

end;

var f:file of stud;

student:stud;

begin

AssignFile(f, 'c:\MyFile.rec');

Rewrite(f);

student.Name := 'Vitaly'; // или readln(student.name);

student.Age := 17; // или readln(student.Age);

student.Membbibl := True; // или readln(student.Membbibl);

student.N_zachetki := 12345; // или readln(student.N_zachetki);

student.gruppa := ‘2T2’; // или readln(student.gruppa);

Write(f, student);

Closefile(f);

End.

 



<== предыдущая лекция | следующая лекция ==>
Нетипизированные файлы | ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ ПАСКАЛЬ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.497 сек.