Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая по КП. Вариант 8

.doc
Скачиваний:
10
Добавлен:
16.12.2013
Размер:
112.13 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ УПРАВЛЕНИЯ

им. С.Орджоникидзе

ИНСТИТУТ БИЗНЕСА В СТРОИТЕЛЬСТВЕ И УПРАВЛЕНИЕ ПРОЕКТОМ

КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

Курсовая работа по

компьютерной подготовке.

Вариант №8

Выполнила:

Проверил: Седун В.Н.

Москва, 2002г.

Содержание:

Вариант №8.

Исходные данные о предприятиях. Для каждого предприятия задано: код, название, количество выпускаемой продукции, данные о расходе каждого из К ресурсов в виде: план и факт. Число исходных данных не определено.

1. Основная программа (program vchib)……………………………………………стр.3

  1. Модуль (unit modchib)………………………………………………………..…..стр.4

  2. Процедура создания рамки (procedure ramka)…………………………………...стр.5

  3. Процедура создания файла (procedure prc_1;)…………………………………...стр.6

  4. Процедура чтения созданного файла (procedure prc_2)……………………….. стр.7

  5. Процедура. Справка о предприятиях, которые не допустили перерасхода ни одного ресурса (procedure prc_3)……………………………………….…………………стр.8

  6. Процедура. Справка о средних арифметических значениях расходов каждого ресурса (procedure prc_4)…………..…...………………………………………... стр.9

  7. Процедура Справка о 5-ти предприятиях с наибольшем расходом 1 ресурса (procedure prc_5)…………..…...…………………………………………………стр.10

  8. Процедура. Справка о предприятиях, заданных кодами (procedure prc_6)………………………………………………………………………………стр.11

  9. Процедура. Справка о заданном ресурсе (procedure prc_7)……………….…...стр.12

  10. Процедура дополнения новыми записями созданного файла (procedure prc_8)……………………………………………………………………………….стр.13

  11. Процедура изменения поля «Количество продукции» (procedure prc_9)….……………………………………………………………………………стр.15

  12. Процедура чтения текстового файла.( procedure text1;)….…………………….стр.17

program vchib;

uses crt, printer;

var

w:integer;

d:char;

{$I a:\ramka.pas}

{$I a:\prc_1.pas}

{$I a:\prc_2.pas}

{$I a:\prc_3.pas}

{$I a:\prc_4.pas}

{$I a:\prc_5.pas}

{$I a:\prc_6.pas}

{$I a:\prc_7.pas}

{$I a:\prc_8.pas}

{$I a:\prc_9.pas}

{$I a:\text1.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':prc_1;

'2':prc_2;

'3':prc_3;

'4':prc_4;

'5':prc_5;

'6':prc_6;

'7':prc_7;

'8':prc_8;

'9':prc_9;

'*':text1;

'0':w:=0;

end;

end;

writeln (' E N D ');

readln; end.

unit modchib;

interface

procedure prc_1;

procedure prc_2;

procedure prc_3;

procedure prc_4;

procedure prc_5;

procedure prc_6;

procedure prc_7;

procedure prc_8;

procedure prc_9;

procedure text1;

implementation

{$I a:\prc_1.pas}

{$I a:\prc_2.pas}

{$I a:\prc_3.pas}

{$I a:\prc_4.pas}

{$I a:\prc_5.pas}

{$I a:\prc_6.pas}

{$I a:\prc_7.pas}

{$I a:\prc_8.pas}

{$I a:\prc_9.pas}

{$I a:\text1.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 prc_1;

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 prc_2;

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 prc_3;

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 prc_4;

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 prc_5;

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 mesto<>0 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 prc_6;

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 vkod<>0 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 prc_7;

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 prc_8;

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 prc_9;

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;

17