русс | укр

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

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

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

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


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

Функция определения достижения конца файла в Паскале


Дата добавления: 2015-07-23; просмотров: 992; Нарушение авторских прав


Eof(<имя_ф_переменной>);

Название этой функции является сложносокращенным словом от end of file. Значение этой функции имеет значение true, если конец файла уже достигнут, т.е. указатель стоит на позиции, следующей за последней компонентой файла. В противном случае значение функции – false.

Изменение имени файла в Паскале

Rename(<имя_ф_переменной>, <новое_имя_файла>);

Уничтожение файла в Паскале

Erase(<имя_ф_переменной>);

 

Уничтожение части файла от текущей позиции указателя до конца в Паскале

Truncate(<имя_ф_переменной>);

Файл Паскаля может быть открыт для добавления записей в конец файла

Append(<имя_ф_переменной>);

 

Пример процедуры Assign Паскаля

Program primer;
Var f1,f2:text;
I,n: integer;
S: string;
Begin
{формируем первый файл}
Assign(f1, ‘file1.txt’); {устанавливаем связь файловой переменной с физическим файлом на диске}
Rewrite(f1); {открываем файл для записи}
Readln(n) {определим количество вводимых строк}
for i:=1 to n do
begin
readln(s); {вводим с клавиатуры строки}
writeln(f1,s); {записываем последовательно строки в файл}
end;
close(f1); {заканчиваем работу с первым файлом, теперь на диске существует файл с именем file1.txt, содержащий введенные нами строки. На этом программу можно закончить, работу с файлом можно продолжить в другой программе, в другое время, но мы продолжим}

{часть вторая: чтение из первого файла и формирование второго}
Reset(f1); {открываем первый файл для чтения}
Assign(f2, ‘file2.txt’); {устанавливаем связь второй файловой переменной с физическим файлом}
Rewrite(f2); {открываем второй файл для записи}

{Дальше необходимо последовательно считывать строки из первого файла, проверять выполнение условия и записывать нужные строки во второй файл. Для чтения из текстового файла рекомендуется использовать цикл по условию «пока не конец файла»}
While not eof(f1) do
Begin
Readln(f1,s);{считываем очередную строку из первого файла}
If (s[1]=’A’) or (s[1]=’a’) then
Writeln(f2,s); {записываем во второй файл строки, удовлетворяющие условию}
End;
Close(f1,f2); {заканчиваем работу с файлами}

{часть третья: выводим на экран второй файл}
Writeln;
Writeln(‘Второй файл содержит строки:’);
Reset(f2); {открываем второй файл для чтения}
While not eof(f2) do {пока не конец второго файла}
Begin
Readln(f2,s);{считываем очередную строку из второго файла}
Writeln(s); {выводим строку на экран}
End;
End.



 

ПРИМЕР:

Информация об авиарейсах содержит следующие данные:

Наименование пункта назначения, номер рейса, время вылета (часы и минуты), цену билета.

Написать программу, в которой:

обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;

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

Программа будет иметь следующий вид:

Program N5;

Uses crt;

label exit;

type

t= record

p,n : string;

c,m : integer;

s:real;

end;

Var

F : file of t;

d : t;

p : string;

s : real;

i:integer;

Begin

Clrscr;

assingn( F,’D:\sss\2.txt’);

reset(f);

Writeln(‘ Хотите заново ввести данные? (Enter – да, Esc – нет)’);

If Readkey =#13 then

Begin

Rewrite(F);

Repeat

Clrscr;

With d do

Begin

Write (‘Пункт назнач.: ______ ’); Readln (р);

Write (‘Номер рейса: ________ ’); Readln (n);

Write (‘Время (часы_минуты):___ ’); Readln (c,m);

Write (‘Цена билета: _________ ’); Readln (S);

End;

Write(F,d);

Write (‘Ввод закончен? (Enter – да, Esc – нет) ’);

Until Readkey =#13;

End;

Clrscr;

Reset (f);

Write (‘Введите пункт назначения: ’); readln (р);

While not EOF(F) do

Begin

Read (F,d);

If d.p= p then

Begin

i:= i+1;

s:=s+d.s;

End;

End;

If i<> 0 then s:=s / i else

Begin

Writeln(‘ Результат ’);

Writeln(‘ -------------------- ’);

Writeln(‘ По вашему запросу ничего не найдено!’);

goto exit;

end;

reset(F);

writeln(‘Результат:’);

witeln(‘ --- ’);

While not EOF(F) do

Begin

Read (f, d);

If (d.s > s) and (d. p= p) then

Begin

Write (‘Пункт назнач.: ______ ’, d. p);

Write (‘Номер рейса: ________ ’, d. n);

Write (‘Время (часы_минуты):___ ’, d. c, ‘ ‘, d. m);

Write (‘Цена билета: _________ ’, d. s:0:2);

Witeln(‘ ---’);

End;

End;

Exit;

close(f);

readkey;

end.

В результате работы программы на дисплей будет выведено соответствующее сообщение: «Хотите заново ввести данные? (Enter – да, Esc – нет)» и в зависимости от ответа на это сообщение произойдет либо вывод результата, либо пользователь заново будет набирать исходные данные.



<== предыдущая лекция | следующая лекция ==>
Запись в файл Паскаля | 


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


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

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

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


 


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

 
 

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

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