Особенность создания файла
Процедура Справка о 5-ти предприятиях с наибольшем расходом 1 ресурса (procedure prc5). Writeln (' Справка о средних арифметических значениях расходов каждого ресурса'); Writeln (' Справка о предприятиях недопустивших перерасход ни одного ресурса'); Writeln (' Справка о предприятиях не доп. перерасход ни одного ресурса…3 '); Writeln (' — Код — Название предприятия — кол-во — 1 ресурс — 2 ресурс… Читать ещё >
Особенность создания файла (реферат, курсовая, диплом, контрольная)
Задание
Исходные данные о предприятиях. Для каждого предприятия задано: код, название, количество выпускаемой продукции, данные о расходе каждого из К ресурсов в виде: план и факт. Число исходных данных не определено.
- 1. Основная программа (program vchib)
- 2. Модуль (unit modchib)
- 3. Процедура создания рамки (procedure ramka)
- 4. Процедура создания файла (procedure prc1;)
- 5. Процедура чтения созданного файла (procedure prc2)
- 6. Процедура. Справка о предприятиях, которые не допустили перерасхода ни одного ресурса (procedure prc3
- 7. Процедура. Справка о средних арифметических значениях расходов каждого ресурса (procedure prc4)
- 8. Процедура Справка о 5-ти предприятиях с наибольшем расходом 1 ресурса (procedure prc5)
- 9. Процедура. Справка о предприятиях, заданных кодами (procedure prc6)
- 10. Процедура. Справка о заданном ресурсе (procedure prc7)
- 11. Процедура дополнения новыми записями созданного файла (procedure prc8)
- 12. Процедура изменения поля «Количество продукции» (procedure prc9)
- 13. Процедура чтения текстового файла.(procedure text1;)
Ответ
program vchib;
uses crt, printer;
var.
w:integer;
d:char;
{$I a: amka. pas}.
{$I a: prc1.pas}.
{$I a: prc2.pas}.
{$I a: prc3.pas}.
{$I a: prc4.pas}.
{$I a: prc5.pas}.
{$I a: prc6.pas}.
{$I a: prc7.pas}.
{$I a: prc8.pas}.
{$I a: prc9.pas}.
{$I a: ext1. pas}.
begin.
ramka;
clrscr; w:=1;
while w=1 do.
begin.
clrscr;
writeln (' Меню: ');
writeln (' ~~~~~~');
writeln;
writeln (' Создание файла…1');
writeln (' Чтение файла…2');
writeln (' Справка о предприятиях не доп. перерасход ни одного ресурса…3 ');
writeln (' Справка о средних ариф. значениях расходов каждого ресурса…4 ');
writeln (' Справка о 5 предприятиях с мах вып. плана по 1 ресурсу…5 ');
writeln (' Справка о предприятиях заданых кодами…6 ');
writeln (' Справка о предприятиях заданных ресурсом…7');
writeln (' Дополнение новыми записями…8 ');
writeln (' Изменение поля «количество продукции» …9 ');
writeln (' Просмотр текстового файла…*');
writeln (' Выход…0 '); writeln;
write (' Ваш выбор: ');
d:=readkey;
case d of.
'1':prc1;
'2':prc2;
'3':prc3;
'4':prc4;
'5':prc5;
'6':prc6;
'7':prc7;
'8':prc8;
'9':prc9;
'*':text1;
'0':w:=0;
end;
end;
writeln (' E N D ');
readln; end.
unit modchib;
interface.
procedure prc1;
procedure prc2;
procedure prc3;
procedure prc4;
procedure prc5;
procedure prc6;
procedure prc7;
procedure prc8;
procedure prc9;
procedure text1;
implementation.
{$I a: prc1.pas}.
{$I a: prc2.pas}.
{$I a: prc3.pas}.
{$I a: prc4.pas}.
{$I a: prc5.pas}.
{$I a: prc6.pas}.
{$I a: prc7.pas}.
{$I a: prc8.pas}.
{$I a: prc9.pas}.
{$I a: ext1. pas}.
begin.
end.
procedure ramka;
var i, w: integer;
begin.
textbackground (1);
clrscr;
window (2,1,79,25);
textbackground (0);
textcolor (2);
clrscr;
gotoxy (19,3);
write ('Государственный Университет Управления');
gotoxy (12,4);
write ('Институт бизнеса в строительстве и управление проектом');
gotoxy (8,6);
write ('Кафедра компьютерных технологий');
gotoxy (16,9);
write ('КУРСОВАЯ РАБОТА по компьютерной подготовке');
gotoxy (40,12);
write ('Выполнила:');
gotoxy (40,13);
write ('студентка гр.1.1');
gotoxy (40,14);
write ('Чибисова В.В.');
gotoxy (35,17);
write ('Вариант 8');
gotoxy (10,19);
write ('Для продолжения нажмите любую клавишу…');
gotoxy (5,2);
write ('г');
for i:= 6 to 70 do write ('=');
write ('');
for i:= 3 to 18 do.
begin.
gotoxy (5,i);
write ('¦');
gotoxy (71,i);
writeln ('¦');
end;
gotoxy (5,18);
write ('L');
for i:= 5 to 69 do write ('=');
write ('-');
readln;
end;
procedure prc1;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
i:integer;
begin.
clrscr;
writeln;
Writeln;
writeln (' Создать файл ');
writeln;
write (' Введите имя файл — ');
readln (fif);
assign (lif, fif);
rewrite (lif);
writeln;
write (' Код предприятия — ');
readln (z.kod);
while z. kod 0 do.
with z do.
begin.
write (' Название предприятия — ');
readln (naz);
write (' Количество выпускаемой продукции — ');
readln (kol);
for i:=1 to k do.
begin.
writeln (' Введите расход ', i,' ресурса');
write (' План — ');
readln (pl[i]);
write (' Факт — ');
readln (f[i]);
end;
write (lif, z);
write (' Код предприятия или 0 — ');
readln (kod);
end;
writeln (' Файл ', fif,' создан');
writeln (' Записей: ', filesize (lif));
close (lif);
readln;
end;
procedure prc2;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
i:integer;
begin.
clrscr;
writeln;
writeln (' Чтение файла. ');
writeln;
write (' Введите имя файла — ');
readln (fif);
assign (lif, fif);
reset (lif);
writeln;
writeln (' |************************************************************************| ');
writeln (' | Код | Название предприятия | кол-во | 1 ресурс | 2 ресурс | 3 ресурс |');
writeln (' | | |продукции| планфакт | планфакт | планфакт |');
writeln (' |************************************************************************|');
while not eof (lif) do.
with z do.
begin.
read (lif, z);
write (' |', kod:3,'|', naz:15,' | ', kol:5,' | ');
for i:= 1 to k do.
write (pl[i]: 4,'', f[i]:4,' | ');
writeln;
end;
writeln;
writeln (' Файл: ', fif:10,' прочитан');
writeln (' Кол-во записей: ', filesize (lif):4);
close (lif);
readln;
end;
procedure prc3;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
i, ff: integer;
begin.
clrscr;
writeln;
writeln;
writeln (' Справка о предприятиях недопустивших перерасход ни одного ресурса');
writeln;
write (' Введите имя файла — ');
readln (fif);
assign (lif, fif);
reset (lif);
writeln;
writeln (' |************************************************************************| ');
writeln (' | Код | Название предприятия | кол-во | 1 ресурс | 2 ресурс | 3 ресурс |');
writeln (' | | |продукции| планфакт | планфакт | планфакт |');
writeln (' |************************************************************************|');
while not eof (lif) do.
with z do.
begin.
read (lif, z);
ff:=1;
for i:= 1 to k do.
if pl[i] < f[i] then ff:=0;
if ff=1 then.
begin.
write (' |', filepos (lif):3,'| ', naz:15,' | ', kol:5,' | ');
for i:= 1 to k do.
write (pl[i]: 4,'', f[i]:4,' |');
end;
writeln;
end;
close (lif);
readln;
end;
procedure prc4;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
i:integer;
m:real;
rr:array [1.k] of real;
begin.
clrscr;
writeln;
writeln;
writeln (' Справка о средних арифметических значениях расходов каждого ресурса');
writeln;
write (' Введите имя файла — ');
readln (fif);
assign (lif, fif);
reset (lif);
writeln;
writeln;
writeln (' |*******************************|');
writeln (' | 1 ресурс | 2 ресурс | 3 ресурс |');
writeln (' |*******************************|');
m:=0;
for i:= 1 to k do.
rr[i]: =0;
while not eof (lif) do.
with z do.
begin.
read (lif, z);
for i:= 1 to k do.
rr[i]: =rr[i] + f[i];
m:=m+1;
end;
for i:= 1 to k do.
begin.
rr[i]: =rr[i]/m;
write (' | ', rr[i]: 4:1,' | ');
end;
m:=1;
close (lif);
writeln;
readln;
end;
procedure prc5;
const k=3; t=5;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
best:array [1.t] of zap;
lif:file of zap;
fif:string[20];
j, i, d, mesto: integer;
begin.
clrscr;
writeln;
writeln;
writeln (' Справка о 5-ти предприятиях с мах расходом 1 ресурса');
writeln;
write (' Введите имя файла — ');
readln (fif);
assign (lif, fif);
reset (lif);
writeln; writeln;
writeln (' |*******************************************************************|'); модуль файл код дисковый.
writeln (' | номер | Код | Название предприятия | кол-во | мах расход 1 ресурс |');
writeln (' |*******************************************************************|');
for i:= 1 to t do.
best[i]. f[1]:=0;
while not eof (lif) do.
begin.
with z do.
begin.
read (lif, z);
mesto:=0;
for i:= t downto 1 do.
if z. f[1] > best[i]. f[1] then mesto:=i;
if mesto0 then.
begin.
for i:= t downto mesto+1 do.
best[i]. f[1]:=best[i-1].f[1];
best[mesto]: =z;
end;
end;
end;
for i:= 1 to t do.
with best[i] do.
writeln (' | ', i:3,' |', kod:3, ' | ', naz:15,' | ', kol:4,' | ', f[1]: 10,' |');
writeln; writeln;
close (lif);
readln;
end;
procedure prc6;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
i, vkod, ff: integer;
begin.
clrscr;
writeln;
writeln (' Справка о предприятии заданные кодами');
writeln;
write (' Введите имя файл — ');
readln (fif);
assign (lif, fif);
reset (lif);
write (' Введите код предприятия — ');
readln (vkod);
writeln;
while vkod0 do.
begin.
seek (lif, 0);
while not eof (lif) do.
with z do.
begin.
read (lif, z);
if vkod=kod then.
begin.
writeln (' *****************************************************************|');
writeln (' |Код| Название предприятия | кол-во | 1 ресурс | 2 ресурс | 3 ресурс |');
writeln (' | | |продукци| планфакт | планфакт | планфакт |');
writeln (' *****************************************************************|');
write (' |', vkod:3,'|', naz:15,' |', kol:5,' |');
for i:= 1 to k do.
write (pl[i]: 4,' ', f[i]: 4,' |');
ff:=1.
end;
end;
writeln;
if ff=0 then.
writeln (vkod:5,'- такого кода нет.');
writeln;
write ('Введите код или 0 для выхода — ');
read (vkod);
end;
close (lif);
end;
procedure prc7;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
i, nom: integer;
begin.
clrscr;
writeln;
writeln (' Справка о предприятиях заданные ресурсом');
writeln;
write (' Введите имя файл — ');
readln (fif);
assign (lif, fif);
reset (lif);
writeln;
write (' Введите номер ресурса — ');
readln (nom);
writeln;
writeln (' **********************************************|');
writeln (' | Код | Название предприятия | кол-во | ', nom,' ресурс |');
writeln (' | | | продукци | планфакт |');
writeln (' **********************************************|');
seek (lif, 0);
while not eof (lif) do.
with z do.
begin.
read (lif, z);
begin.
write (' |', kod:3,' |', naz:15,' |', kol:5,' |');
writeln (pl[nom]: 4,' ', f[nom]: 4,' |');
end;
end;
writeln;
writeln;
close (lif);
readln;
end;
procedure prc8;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
i, n: integer;
begin.
clrscr;
writeln;
writeln;
writeln (' Дополнение файла новыми данными. ');
writeln;
write (' Введите имя файл — ');
readln (fif);
assign (lif, fif);
reset (lif);
n:=filesize (lif);
seek (lif, n);
writeln;
with z do.
begin.
write (' Код предприятия — ');
readln (kod);
while kod 0 do.
begin.
write (' Название предприятия — ');
readln (naz);
write (' Количество выпускаемой продукции — ');
readln (kol);
for i:=1 to k do.
begin.
writeln (' Введите расход ', i,' ресурса');
write (' План — ');
readln (pl[i]);
write (' Факт — ');
readln (f[i]);
end;
write (lif, z);
write (' Код предприятия или 0 — ');
readln (kod);
end;
end;
writeln (' Файл ', fif,' дополнен.');
writeln (' Добавлено записей: ', filesize (lif)-n);
close (lif);
assign (lif, fif);
reset (lif);
writeln (' НОВОЕ СОДЕРЖАНИЕ');
writeln;
writeln (' |*******************************************************************| ');
writeln (' | Код | Название предприятия | кол-во | 1 ресурс | 2 ресурс | 3 ресурс |');
writeln (' | | |продукции| планфакт | планфакт | планфакт |');
writeln (' |*******************************************************************|');
while not eof (lif) do.
with z do.
begin.
read (lif, z);
write (' |', kod:3,'|', naz:15,' | ', kol:5,' | ');
for i:= 1 to k do.
write (pl[i]: 4,'', f[i]:4,' | ');
writeln;
end;
close (lif);
readln;
end;
procedure prc9;
const k=3;
type.
zap=record.
kod, kol: integer;
naz:string [15];
pl:array [1.k] of integer;
f:array [1.k] of integer;
end;
var.
z:zap;
lif:file of zap;
fif:string[20];
x, i, n:integer;
vnaz:string [15];
c:boolean;
begin.
clrscr;
writeln;
writeln;
writeln (' Изменение ');
writeln;
write (' Введите имя файл — ');
readln (fif);
assign (lif, fif);
reset (lif);
writeln (' Поиск в базе по полю «Hазвание предприятия» ');
writeln;
write (' Введите название предприятия — ');
readln (vnaz);
x:=0;
while vnaz '0' do.
begin.
c:=true;
writeln;
write (' СТАРОЕ СОДЕРЖАНИЕ ');
writeln;
writeln (' |***********************************************************************| ');
writeln (' | Код | Название предприятия | кол-во | 1 ресурс | 2 ресурс | 3 ресурс |');
writeln (' | | |продукции| планфакт | планфакт | планфакт |');
writeln (' |***********************************************************************|');
seek (lif, 0);
while not eof (lif) do.
with z do.
begin.
read (lif, z);
if vnaz=naz then.
begin.
write (' |', kod:3,'|', naz:15,' | ', kol:5,' | ');
for i:= 1 to k do.
write (pl[i]: 4,'', f[i]:4,' | ');
writeln;
writeln;
writeln (' Введите новое содержание ');
writeln;
writeln (' Название предприятия — ', vnaz);
write (' Kол-во продукции — ');readln (kol);
seek (lif, filepos (lif)-1);
write (lif, z);
x:=x+1;
c:=false;
end;
end;
if c then.
writeln (' Запись с названием предприятия ', vnaz,' не найдено');
write (' Введите название предприятия или 0 для окончания');
readln (vnaz);
end;
writeln (' Файл ', fif,' обработан');
writeln (' Количество записей: ', x);
writeln;
close (lif);
assign (lif, fif);
reset (lif);
writeln (' НОВОЕ СОДЕРЖАНИЕ');
writeln;
writeln (' |*********************************************************************| ');
writeln (' | Код | Название предприятия | кол-во | 1 ресурс | 2 ресурс | 3 ресурс |');
writeln (' | | |продукции| планфакт | планфакт | планфакт |');
writeln (' |*********************************************************************|');
while not eof (lif) do.
with z do.
begin.
read (lif, z);
write (' |', kod:3,'|', naz:15,' | ', kol:5,' | ');
for i:= 1 to k do.
write (pl[i]: 4,'', f[i]:4,' | ');
writeln;
end;
close (lif);
readln;
end;
procedure text1;
var.
nf, nft: string[15];
f, ft: text;
s:string;
p, k: byte;
begin.
clrscr;
repeat.
writeln (' Введите имя дискового файла — ');
write (' (или нажмите ENTER для выхода): ');
readln (nft);
if nft = '' then exit;
assign (ft, nft);
reset (ft);
repeat.
writeln;
writeln (' Вывод файла:');
writeln;
writeln (' 1. Hа экране.');
writeln (' 2. Hа принтер.');
writeln (' 0. Выход из программы.'); writeln;
write (' Ваш выбор: ');
readln (p);
until p in [0.2];
case p of.
0:exit;
1:nf:='con';
2:nf:='prn';
end;
assign (f, nf);
rewrite (f);
clrscr; k:=0;
while not eof (ft) do.
begin.
readln (ft, s);
writeln (f, s);
k:=k+1;
if k=23 then.
begin.
writeln;
writeln (' Hажмите ENTER для продолжения');
readln; clrscr;
k:=0;
end;
end;
if k>0 then.
begin.
writeln (' Hажмите ENTER'); readln;
end;
close (ft); close (f);
until (false).
end;