9 Июнь 2008

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

const n=5;
type
sved=record
marka:string[10];
l_sil:integer;
P_mest:integer;
end;
var
F:File of sved;
avto:sved;
i,kol:integer;

Procedure marka;
begin
assign(F,’avto.dat’);
reset(f);
writeln(’vvedite marku’);
readln(marka);
kol:=0;
while not (eof(f)) do
begin
read(F,avto);
if avto.marka=marka then
kol:=kol+1;
end;
close(f);
end;

Procedure zapolnenie;
begin
assign(F,’avto.dat’);
rewrite(F);
for i:=1 to n do
begin
writeln(’vvedite marku avto’);
readln(avto.marka);
writeln(’vvedite kol-vo loshd sil’);
readln(avto.l_sil);
writeln(’vvedite kol-vo posad mest’);
readln(avto.p_mest);
writeln(F,avto);
end;
end;

begin
zapolnenie;marka;
writeln(kol-vo mashin zadannoi marki -,kol);
readln;
end.

Вопрос 6. Типизированные файлы. Использование типа Record.

Под файлом понимают именованная область внешней памяти компьютера (HDD, дискета и т.д.).

Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что дает возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компонент одного типа. В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкость устройств внешней памяти.

Файловый тип можно задать одним из трех способов:

<имя> = File of <тип>;

<имя> = TextFile;

<имя> = File;

Здесь <имя> - имя файлового типа, File of - зарезервированные слова (файл, из); TextFile – имя стандартного типа текстовых файлов; <тип> - любой тип Delphi, кроме файлов.

Например:

Type

Product = record

Name: Satring;

Code: Word;

Cost: Comp

End;

F: File of Product;

В зависимости от способа объявления можно выделить три вида файлов:

1. Типизированные (Задаются предложением File of…)

2. Текстовые файлы ( определяются типом TextFile);

3. Нетипизированные файлы (определяются типом File)

Доступ к файлам

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

Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре AssignFile:

AssignFile (<ф.п.>, <имя файла>);

Здесь <ф.п.> - файловая переменная (правильный идентификатор, объявленный в программе как перемена файлового типа); <имя файла> - текстовое выражение, содержащие имя файла и, если необходимо, путь к ниму.

Инициализировать файл означает указать для этого файла направление передачи данных. Для чтения файла инициализируется с помощью стандартной процедуры Reset.

Reset (<ф.п.>); Здесь <ф.п.> - файловая переменная связанная раннее процедурой AssignFile с уже существующим файлом. При выполнение этой процедуры дисковый файл подготавливается к чтению информации. В результате специальная переменная-указатель, связанная с этим файлом, будет указывать на начало файла, то есть на компонент с порядковым номером 0.

Следующая процедура инициирует запись информации в файл, связанный с файловой переменной <ф.п.>: Rewrite (<ф.п.>);

Следующая процедура инициирует запись в ранние существующий текстовый файл для его расширения, при этом указатель файла устанавливается в его конец: Append (<o.i.>).

Процедура Append применима только к текстовым файлам.

© Проект «Студенты-Программеры»., 2008. Все права защищены.
Перепечатка материалов только при наличии активной ссылки на источник.
Powered by WordPress