;students.dat';
n = 5; {кількість предметів за останню сесію}
Type st = record
n_group: integer; {Номер групи}
n_sp: integer; {Номер у групі за списком}
fam: string; {прізвище} p> im: string; {ім'я} p> ot: string; {батькові} p> god_r: integer; {Рік народження}
oc: array [1 .. n] of integer; {оцінки за останню сесію}
end;
Var t: array [1 .. 30] of st;
i, ch, j: integer; p> h: file of st;
begin
write ('Введіть кількість студентів у групі: '); readln (ch);
for i: = 1 to ch do begin
writeln ('Відомості про ', i,' студента ');
write ('Номер групи: '); readln (t [i]. n_group);
write ('Номер в групі за списком: '); readln (t [i]. n_sp);
write ('Прізвище: '); Readln (t [i]. Fam);
write ('Ім'я: '); Readln (t [i]. Im);
write ('батькові: '); Readln (t [i]. Ot),
write ('Рік народження: '); readln (t [i]. god_r);
writeln ('Оцінки за останню сесію: ');
for j: = 1 to n do begin
case j of
1: write ('Математика: '); p> 2: write ('Фізика: '); p> 3: write ('Хімія: '); p> 4: write ('Культурологія: '); p> 5: write ('Історія: '); p> end;
readln (t [i]. oc [j]); p> if not ((T [i]. Oc [j]> 0) and (t [i]. Oc [j] <= 5)) then begin
writeln ('Невірно введена оцінка! Повторіть введення. '); p> j: = j-1;
end;
end;
writeln;
end;
Assign (H, fname);
{$ I-}
reset (h);
If Ioresult <> 0 then rewrite (h);
{$ I +}
for i: = 1 to ch do write (h, t [i]);
close (h);
writeln ('Дані занесені в файл ', fname);
readln;
end.
Завдання 3. У ГИБДД є наступна інформація про автомобілі та їх власників:
а) марка машини;
б) номер машини;
в) Прізвище власника.
Необхідно організувати пошук кількості автомобілів певної марки. Інформацію про автомобілях та їх власників оформити у вигляді записів, збережених у файлі. Введення даних у запис і збереження запису у файлі
Program N10_1;
Uses Crt;
Const fname = 'spisok.dat';
{Файл, в який проводитиметься запис}
Type Person = record
marka: string; p> number: string; p> familia: string; p> end;
Var auto: array [1 .. 5] of person;
i: integer;
h: file of person;
begin
Clrscr;
auto [1]. marka: = 'Мерседес'; p> auto [1]. number: = '235 '; p> auto [1]. familia: = 'Іванов'; p> auto [2]. marka: = 'Мерседес'; p> auto [2]. number: = '289 '; p> auto [2]. familia: = 'Петров'; p> auto [3]. marka: = 'Волга'; p> auto [3]. number: = '365 '; p> auto [3]. familia: = 'Сидоров'; p> auto [4]. marka: = 'Жигулі'; p> auto [4]. number: = '896 '; p> auto [4]. familia: = 'Кузнєцов'; p> auto [5]. marka: = 'Вольво'; p> auto [5]. number: = '957 '; p> auto [5]. familia: = 'Тимофєєв'; p> Assign (H, fname);
{$ I-}
reset (h);
If Ioresult <> 0 then rewrite (h);
{$ I +}
for i: = 1 to 5 do begin
write (h, auto [i]); p> end;
writeln ('Дані занесені в файл ', fname);
write ('Натисніть Enter ');
readln;
end. p> Виконання завдання
Program N10_2;
Uses Crt;
Const fname = 'spisok.dat';
Type Person = record
marka: string; p> number: string; p> familia: string; p> end;
Var auto: array [1 .. 5] of person;
i, j, l, q: integer; p> h: file of person;
s: string;
f: boolean;
begin
Clrscr;
Assign (H, fname);
Reset (h);
i: = 0;
While Eof (h) = False do begin
i: = i +1;
Read (h, auto [i]); p> end;
Close (h);
writeln ('Інформація, лічена з файлу ', fname);
writeln;
q: = i;
for j: = 1 to q do begin
with auto [j] do begin
gotoxy (1, wherey); p> write (marka); p> gotoxy (15, wherey); p> write (number); p> gotoxy (20, wherey); p> writeln (familia); p> end;
end;
writeln;
write ('Введіть цікаву для Вам марку автомобіля: ');
readln (s);
writeln;
l: = 0;
for j: = 1 to q do begin
with auto [j] do begin
if marka = s then begin
l: = l +1;
gotoxy (1, wherey); p> write (number); p> gotoxy (10, wherey); p> writeln (familia); p> end;
end;
end;
writeln ('Кількість автомобілів даної марки - ', l);
write ('Натисніть Enter &...