Контрольная работа: Автоматизований облік надходження, зберігання і збуту продукції на товарній базі
Контрольная работа: Автоматизований облік надходження, зберігання і збуту продукції на товарній базі
Автоматизований
облік надходження, зберігання і збуту продукції на товарній базі
Вступ
Обіг продукції – це дійова
економіка. Для того щоб розвиватися економіка повинна рухатися, а як вона
рухається завдяки обороту повару та грошей. Створити програму за допомогою якої
можливо прослідкувати обіг на складі, за певний період
Я вибрав
мову програмування Turbo Pascal, з метою закріплення своїх навиків з
програмування, а також вважаю що ця мова є найбільш доцільною за даних обставин.
1. Основна частина
1.1 Неформальна
постановка задачі
Розробити
програму – «товарна база» для збереження та перегляду, а також автоматизованої
обробки інформації що надає користувач.
ü
Введення і збереження інформації в файлі:
o
Назва товарної бази
o
ПІБ власника товарної бази
o
Надходження товару;
o
Продаж товару
o
Зберігання товару.
ü
Автоматизований аналіз по всім видам товару
o
Сума по всім видам товару з надходження
o
Сума по всім видам товару з продажу
o
Сума по всім видам товару з зберігання
ü
Можливість редагування даної бази
ü
Можливість перегляду всіх існуючих документів
o
Перегляд скороченого варіанту бази
o
Перегляд повного варіанту даних, які занесені до бази
ü
Можливість видалення всієї бази.
ü
Зручний інтерфейс для користувача
ü
Швидкість та простота роботи в даній програмі
Вихідні
дані:
Позначимо
сукупність всіх даних, які будуть заноситись до бази даних через множину А,
таким чином А={А1,А2,А3}, Аі – множина
всієї продукції що стосується складу, А1 – Надходження продукції на
склад, А2 – продах продукції зі складу, А3 – продукція
яка зберігається на складі
Таким
чином козле Аі = {B1, B2, …, Bj},
де Bj – конкретний товар i=1..n
Результат:
Множина
Рi, яка формуються з вхідних даних а саме множини Аi
Математична
модель:
Р1
= ∑ B1j Р2 = ∑ B2j Р3
= ∑ B3j
Rec –
запис для введення та зберігання даних
·
FIO – ПІБ власника складу
·
Name – Назва складу
·
Import – масив для вводу кількості продукції яка ввозиться на
склад
·
export – масив для вводу кількості продукції яка продається зі
складу
·
sohr – масив для вводу кількості продукції яка зберігається на
складі
sa –
введення та збереження даних в файл
n4 –
управляюча частина меню
tie –
статична частина меню
a_z –
процедура яка проводить аналіз всіх даних та сумує по кожному продукту за
певний період.
2. Вихідний код програми
uses
CRT, dos;
type
rec=record
FIO:string[80];
name:string[40];
import:array
[1.. 5,1..10] of integer;
end;
var
a:char; b, i:byte;
s, s1,
s2, s3, s4, s5, s6, s7, s8, s9:string;
flag:boolean;
{s1, s2,
s3, s4:string;}
l:byte;
h:char;
{–}
procedure
analiz;
var
qw, as, zx:rec;
f1:
file of rec;
f2:
file of rec;
f3:
file of rec;
i:integer;
mas:
array [1.. 3,1..10] of integer;
begin
assign
(f1,'c:\imp.zoo');
assign
(f2,'c:\eks.zoo');
assign
(f3,'c:\sra.zoo');
if
(FSearch ('imp.zoo', 'c:\')='') or (FSearch ('eks.zoo', 'c:\')='') or (FSearch('sra.zoo',
'c:\')='') then
begin
window
(1,1,40,25);
textbackground(1);
clrscr;
gotoxy
(2,10);
textcolor(4);
write
('Ne pravelnaya operaciya, ne vse dannie');
end
else
begin
reset(f1);
reset(f2);
reset(f3);
seek (f1,0);
seek (f2,0);
seek (f3,0);
read (f1,
qw);
read (f2,
as);
read (f3,
zx);
window
(1,1,40,25);
textbackground(1);
clrscr;
{gotoxy
(5,2);}
write
('Import Eksport Sohraneno');
for
i:=1 to 10 do
begin
mas [1,
i]:=qw.import [1, i]+qw.import [2, i]+qw.import [3, i];
mas [2,
i]:=as.import [1, i]+as.import [2, i]+as.import [3, i];
mas [3,
i]:=zx.import [1, i]+zx.import [2, i]+zx.import [3, i];
end;
window
(1,3,8,12);
for
i:=1 to 10 do
writeln
(mas[1, i]);
window
(16,3,25,12);
for
i:=1 to 10 do
writeln
(mas[2, i]);
window
(32,3,40,12);
for
i:=1 to 10 do
writeln
(mas[3, i]);
end;
close(f1);
close(f2); close(f3);
end;
{================}
{–}
procedure
Rama (x1, y1, x2, y2, a, b:byte);
var
i:integer;
begin
textbackground(a);
textcolor(b);
window
(x1, y1, x2, y2);
write('Ъ');
for
i:=1 to (x2-x1) – 1 do
begin
write('Д');
end;
write('ї');
for
i:=2 to (y2-y1) – 1 do
begin
gotoxy
(1, i);
write('і');
gotoxy
(x2-x1+1, i);
write('і');
end;
write('А');
for
i:=1 to (x2-x1) – 1 do
begin
write('Д');
end;
write('Щ');
end;
{–}
procedure
save (x1, y1, x2, y2, a:byte; s1:string);
var
qwerty:rec;
f1:
file of rec;
xn, yn,
i:byte;
begin
Window
(x1, y1, x2, y2);
textbackground(a);
clrscr;
xn:=3;
yn:=2;
rama (1,1,39,15,0,14);
rama (1,1,15,15,0,14);
window
(2,4,15,23);
writeln
(' Sahar');
writeln
(' Muka');
writeln
(' Sol');
writeln
(' Gre4ka');
writeln
(' Myaso');
writeln
(' Kurici');
writeln
(' Droji');
writeln
(' Maslo');
writeln
(' Sir');
writeln
(' Hleb');
rama (1,1,39,4,0,14);
gotoxy
(17,2);
write
(' 2006 2007 2008');
gotoxy
(1,3); write(#195);
gotoxy
(39,3); write(#180);
gotoxy
(15,3); write(#197);
gotoxy
(15,1); write(#194);
window
(1,1,40,25);
gotoxy
(15,14); write(#193);
gotoxy
(2,2);
write(s1);
window
(16,3,39,24);
for
i:=1 to 10 do
begin
gotoxy
(xn, yn);
readln
(qwerty.import [1, i]);
gotoxy
(xn+8, yn);
readln
(qwerty.import [2, i]);
gotoxy
(xn+16, yn);
readln
(qwerty.import [3, i]);
yn:=yn+1;
end;
window
(1,17,39,24);
gotoxy
(5,2);
writeln
('Vvedite FIO – ');
gotoxy
(21,2);
readln
(qwerty.fio);
gotoxy
(5,4);
writeln
('Vvedite nazvanie – ');
gotoxy
(26,4);
readln
(qwerty.name);
assign
(f1,'c:\'+s1 [1]+s1 [2]+s1 [3]+'.zoo');
rewrite(f1);
write
(f1, qwerty);
close(f1);
end;
{–}
procedure
newreadkey (var a:char; var b:byte);
begin
b:=0;
a:=readkey;
if
a=#0 then
b:=ord(readkey);
end;
{–}
procedure
na4 (st:string; l, p:byte);
begin
rama (15,11,35,14,0,14);
gotoxy
(2,2);
textbackground(p);
textcolor(l);
write(st);
end;
{–}
procedure
title (s1, s2, s3, s4, s5, s6, s7, s8, s9:string);
begin
na4 (s5,4,0);
textbackground(1);
textcolor(14);
window
(15,3,35,10);
clrscr;
writeln(s1);
writeln;
writeln(s2);
writeln;
writeln(s3);
writeln;
write(s4);
writeln;
window
(15,15,35,23);
clrscr;
writeln(s6);
writeln;
writeln(s7);
writeln;
writeln(s8);
writeln;
write(s9);
writeln;
end;
{–}
procedure
ramo4ka (x1, y1, x2, y2, a, b:byte);
var
i:integer;
begin
textbackground(a);
textcolor(b);
window
(x1, y1, x2, y2);
write
('.');
for
i:=1 to (x2-x1) – 1 do
begin
write
('.');
end;
write
('.');
for
i:=2 to (y2-y1) – 1 do
begin
gotoxy
(1, i);
write
(':');
gotoxy
(x2-x1+1, i);
write
(':');
end;
write
(':');
for
i:=1 to (x2-x1) – 1 do
begin
write
('.');
end;
write
(':');
end;
{–}
procedure
menu_1 (s1, s2, s3, s4:string);
begin
textcolor(15);
gotoxy
(8,10);
write
(s1);
gotoxy
(8,13);
write
(s2);
gotoxy
(8,16);
write
(s3);
gotoxy
(8,19);
write
(s4);
end;
procedure
menu_2 (i:byte; s:string);
var a,
b:byte;
begin
case
i of
1:
begin
window
(4,9,18,11);
textbackground(2);
textcolor(0);
clrscr;
gotoxy
(4,2);
write(s)
end;
2:
begin
window
(4,12,18,14);
textbackground(2);
textcolor(0);
clrscr;
gotoxy
(4,2);
write(s);
end;
3:
begin
window
(4,15,18,17);
textbackground(2);
textcolor(0);
clrscr;
gotoxy
(4,2);
write(s);
end;
4:
begin
window
(4,18,18,20);
textbackground(2);
textcolor(0);
clrscr;
gotoxy
(4,2);
write(s);
end;
end;
end;
{==================}
begin
textmode(co40);
window
(1,1,40,25);
clrscr;
s1:='Postavka';
s2:='Vigruzka';
s3:='Na
sohran';
s4:='Zakon4it';
menu_1
(s1, s2, s3, s4);
i:=1;
menu_2
(i, s1);
repeat
newreadkey
(h, l);
case
l of
80:i:=i+1;
72:i:=i-1;
end;
case
i of
0:i:=4;
5:i:=1;
end;
case
i of
1:begin
If
h=#13 then
save (1,1,40,25,0,'import');
window
(1,1,40,25);
textbackground(0);
clrscr;
menu_1
(s1, s2, s3, s4);
menu_2
(i, s1);
end;
2:begin
If
h=#13 then
save (1,1,40,25,0,'eksport');
window
(1,1,40,25);
textbackground(0);
clrscr;
menu_1
(s1, s2, s3, s4);
menu_2
(i, s2);
end;
3:begin
If
h=#13 then
save (1,1,40,25,0,'Sohran');
window
(1,1,40,25);
textbackground(0);
clrscr;
menu_1
(s1, s2, s3, s4);
menu_2
(i, s3);
end;
4:begin
If
h=#13 then
halt;
window
(1,1,40,25);
textbackground(0);
clrscr;
menu_1
(s1, s2, s3, s4);
menu_2
(i, s4);
end;
end;
until
h=#27;
end.
Висновок
Даною
курсовою роботою я показав свої практичні знання з програмування в середовищі
Turbo Pascal. Дана мова проста ы в той же час дає можливість створювати досить
багатофункціональні програми. Актуальність теми полягає в тому що дана програмо
може застосовуватися в сфері економіки в практиці.
На
початку були поставлені певні задачі, даною роботою я виконав всі вимоги. Мною
були застосовані як вже готові процедури так і створені власні.
Список використаної літератури
1. Струков В.М. Основи
алгоритмизации и програмирования. Часть 2. Учебное пособие. – Харьков: Изд.
Нац. ун-та внутр. дел, 2003. – 188 с.
2. Сердюченко В.Я. Розробка
алгоритмів та програмування на мові Turbo Pascal. – X., 1995.
3. Немнюгин С.А.
Turbo Pascal. – СПб.: Питер, 2002. – 496 с.: ил.