Задание
Создать базу данных движения поездов, отправляющихся со станции Ташкент.
Разработать структуру базы данных, каждая запись которой содержит не менее 10 полей.
Подготовить исходные данные для разработанной БД (не менее 15 записей).
Создать разработанную БД на ПК и заполнить её исходными данными.
Посмотреть созданную БД и в случае необходимости внести необходимые корректировки.
Перекопировать исходную БД в БД2. БД2 отсортировать по какому-то признаку и
перекопировать в БД3. Предусмотреть выборку данных из исходной БД по какому-то признаку и
выдачу их на экран. Включить в программу команды, осуществляющие суммирование числовых
полей, вычисление среднего и т.д.
Я смог сделать только вот это, да и то не правильно
uses crt;
const n = 10; { kolichestvo marshrutov poezdov}
type
TRec = record {Bazoviy tip,xranit informaciyu o dannom studente}
name : string; {imya marshruta}
maks : array [1..7] of byte; {vremya otxoda poezdov po dnyam nedeli}
end;
TBase = array [1..n] of TRec;
{ Baza dannix :informaciya o grafike dvijeniya poezdov.}
TFile = file of TBase; { fail dlya zraneniya bazi}
procedure Input(var b : TBase; var f : TFile); { vvod bazi dannix }
var i,j: byte;
begin
(* Imeem massiv zapisey TBase, i-y element massiva soderjit informaciyu ob
i-om marshrute, dlya togo chtobi poluchit' naprimer imya 4 marshruta, nado
obratitsya snachala k 4 zapisi, a posle etogo k nujnomu polyu b[4].name,
ego vremya vo 2 den' nedeli - b[4].maks[2]*)
writeln('Vvod bazi dannix. ');
for i := 1 to n do
with b[i] do begin
writeln('Marshrut N ',i);
write('imya : '); readln(name);
writeln('Vvedite vremya otxoda poezda : ');
for j := 1 to 10 do begin
write('vremya otxoda poyezda v j- den : ');
readln(maks[j]);
end;
writeln;
end;
write(f, b); { zapisivaem bazu dannix v fail }
end;
procedure Print(var b : TBase; var f : TFile);
{ procedura vivoda informacii iz bazi}
(* Pomimo vivoda na ekran, informaciya budet soxranena v peremennuyu base *)
var
i,j : byte;
begin
read(f, b); { Chitaem bazu iz faila}
writeln('Informaciya o graphike dvijeniya poezdov : ');
for i := 1 to n do
with b[i] do begin
writeln('Marsrut N ,i:' );
writeln('Imya : ' + name);
writeln('vremya otxoda poezdov za 7 dney nedeli:');
for j := 1 to 3 do
writeln('vremya otxoda poezda v j- tiy den : ',maks[j]);
writeln;
end;
end;
var
base : TBase;
baseFile : TFile;
begin
clrscr;
assign(baseFile, 'c:\students.db');
rewrite(baseFile); { otkrivaem fail dlya zapisi}
Input(base, baseFile); { Proizvodim zapis' bazi v fail}
writeln('Najmite lyubuyu klavishu ...'); readln; clrscr;
reset(baseFile); { otkrivaem fail dlya chteniya}
Print(base, baseFile); { vivod informacii iz faila}
close(baseFile); { zavershenie raboti, zakrivaem fail}
readln
end.