Автоматизований облiк надходження, зберiгання i збуту продукцiї на товарнiй базi
Автоматизований облiк надходження, зберiгання i збуту продукцiї на товарнiй базi
Обiг продукцiї – це дiйова економiка. Для того щоб розвиватися економiка повинна рухатися, а як вона рухається завдяки обороту повару та грошей. Створити програму за допомогою якої можливо прослiдкувати обiг на складi, за певний перiод
Я вибрав мову програмування Turbo Pascal, з метою закрiплення своїх навикiв з програмування, а також вважаю що ця мова є найбiльш доцiльною за даних обставин.
1. 1 Неформальна постановка задачi
Розробити програму – «товарна база» для збереження та перегляду, а також автоматизованої обробки iнформацiї що надає користувач.
- Введення i збереження iнформацiї в файлi:
o Назва товарної бази
o Зберiгання товару.
- Автоматизований аналiз по всiм видам товару
o Сума по всiм видам товару з надходження
o Сума по всiм видам товару з продажу
o Сума по всiм видам товару з зберiгання
- Можливiсть перегляду всiх iснуючих документiв
o Перегляд скороченого варiанту бази
o Перегляд повного варiанту даних, якi занесенi до бази
- Можливiсть видалення всiєї бази.
- Зручний iнтерфейс для користувача
1. 2 Формальна постановка задачi
Вихiднi данi:
1,
А2,
А3i
– множина всiєї продукцiї що стосується складу, А12
– продах продукцiї зi складу, А3
– продукцiя яка зберiгається на складi
Таким чином козле Аi
= {B12
, …, Bj
}, де Bj
– конкретний товар i=1.. n
Результат:
Множина Рi
, яка формуються з вхiдних даних а саме множини Аi
Р1
= ∑ B1j
Р2
= ∑ B2j
Р3
= ∑ B3j
1. 3 Структура зберiгаючих даних:
Rec – запис для введення та зберiгання даних
· FIO – ПІБ власника складу
· Name – Назва складу
· Import – масив для вводу кiлькостi продукцiї яка ввозиться на склад
· export – масив для вводу кiлькостi продукцiї яка продається зi складу
n4 – управляюча частина меню
2
. Вихiдний код програми
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;
l:byte;
h:char;
{–}
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');
begin
window (1,1,40,25);
clrscr;
gotoxy (2,10);
textcolor(4);
write ('Ne pravelnaya operaciya, ne vse dannie');
end
else
begin
reset(f2);
reset(f3);
seek (f1,0);
seek (f2,0);
seek (f3,0);
read (f1, qw);
read (f2, as);
window (1,1,40,25);
textbackground(1);
clrscr;
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];
end;
window (1,3,8,12);
for i:=1 to 10 do
writeln (mas[1, i]);
window (16,3,25,12);
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('Ъ');
begin
write('Д');
end;
write('ї');
for i:=2 to (y2-y1) – 1 do
begin
write('i');
gotoxy (x2-x1+1, i);
write('i');
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);
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 (' Kurici');
writeln (' Droji');
writeln (' Maslo');
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);
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]);
readln (qwerty. import [3, i]);
yn:=yn+1;
end;
window (1,17,39,24);
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);
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);
write(st);
end;
{–}
procedure title (s1, s2, s3, s4, s5, s6, s7, s8, s9:string);
begin
na4 (s5,4,0);
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;
write(s9); writeln;
end;
{–}
procedure ramo4ka (x1, y1, x2, y2, a, b:byte);
begin
textbackground(a);
window (x1, y1, x2, y2);
write ('. ');
begin
write ('. ');
end;
write ('. ');
begin
gotoxy (1, i);
write (':');
gotoxy (x2-x1+1, i);
end;
write (':');
for i:=1 to (x2-x1) – 1 do
begin
write ('. ');
end;
write (':');
end;
{–}
begin
textcolor(15);
gotoxy (8,10);
write (s1);
gotoxy (8,13);
gotoxy (8,16);
write (s3);
gotoxy (8,19);
end;
procedure menu2 (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
textbackground(2);
textcolor(0);
clrscr;
write(s);
end;
window (4,15,18,17);
textcolor(0);
clrscr;
end;
4: begin
textbackground(2);
textcolor(0);
clrscr;
gotoxy (4,2);
write(s);
end;
end;
end;
begin
window (1,1,40,25);
clrscr;
s1:='Postavka';
s3:='Na sohran';
s4:='Zakon4it';
menu1 (s1, s2, s3, s4);
i:=1;
menu2 (i, s1);
repeat
newreadkey (h, l);
case l of
72:i:=i-1;
end;
case i of
0:i:=4;
end;
case i of
1:begin
save (1,1,40,25,0,'import');
textbackground(0);
clrscr;
menu1 (s1, s2, s3, s4);
end;
2:begin
save (1,1,40,25,0,'eksport');
window (1,1,40,25);
textbackground(0);
clrscr;
menu1 (s1, s2, s3, s4);
menu2 (i, s2);
end;
If h=#13 then
save (1,1,40,25,0,'Sohran');
window (1,1,40,25);
textbackground(0);
clrscr;
menu1 (s1, s2, s3, s4);
menu2 (i, s3);
end;
4:begin
If h=#13 then
halt;
window (1,1,40,25);
textbackground(0);
menu1 (s1, s2, s3, s4);
menu2 (i, s4);
end;
end;
until h=#27;
end.
Висновок
Даною курсовою роботою я показав свої практичнi знання з програмування в середовищi Turbo Pascal. Дана мова проста ы в той же час дає можливiсть створювати досить багатофункцiональнi програми. Актуальнiсть теми полягає в тому що дана програмо може застосовуватися в сферi економiки в практицi.
На початку були поставленi певнi задачi, даною роботою я виконав всi вимоги. Мною були застосованi як вже готовi процедури так i створенi власнi.
Список використаної лiтератури
1. Струков В. М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. – Харьков: Изд. Нац. ун-та внутр. дел, 2003. – 188 с.
3. Немнюгин С. А. Turbo Pascal. – СПб.: Питер, 2002. – 496 с.: ил.
|