Автоматизований облік надходження, зберігання і збуту продукції на товарній базі
Вступ
Обіг продукції – це дійова економіка. Для того щоб розвиватися економіка повинна рухатися, а як вона рухається завдяки обороту повару та грошей. Створити програму за допомогою якої можливо прослідкувати обіг на складі, за певний період
Я вибрав мову програмування Turbo Pascal, з метою закріплення своїх навиків з програмування, а також вважаю що ця мова є найбільш доцільною за даних обставин.
1. Основна частина 1.1 Неформальна постановка задачі
Розробити програму – «товарна база» для збереження та перегляду, а також автоматизованої обробки інформації що надає користувач.
ü Введення і збереження інформації в файлі:
o Назва товарної бази
o ПІБ власника товарної бази
o Надходження товару;
o Продаж товару
o Зберігання товару.
ü Автоматизований аналіз по всім видам товару
o Сума по всім видам товару з надходження
o Сума по всім видам товару з продажу
o Сума по всім видам товару з зберігання
ü Можливість редагування даної бази
ü Можливість перегляду всіх існуючих документів
o Перегляд скороченого варіанту бази
o Перегляд повного варіанту даних, які занесені до бази
ü Можливість видалення всієї бази.
ü Зручний інтерфейс для користувача
ü Швидкість та простота роботи в даній програмі
1.2 Формальна постановка задачіВихідні дані:
Позначимо сукупність всіх даних, які будуть заноситись до бази даних через множину А, таким чином А={А1,А2,А3}, Аі – множина всієї продукції що стосується складу, А1 – Надходження продукції на склад, А2 – продах продукції зі складу, А3 – продукція яка зберігається на складі
Таким чином козле Аі = {B1, B2, …, Bj}, де Bj – конкретний товар i=1..n
Результат:
Множина Рi, яка формуються з вхідних даних а саме множини Аi
Математична модель:
Р1 = ∑ B1j Р2 = ∑ B2j Р3 = ∑ B3j
1.3 Структура зберігаючих даних: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 с.: ил.
Похожие работы
... Інвентаризація товарів і тари Рис.2. Схема послідовності проведення аудиту товарів. 2. ОРГАНІЗАЦІЯ БУХГАЛТЕРСЬКОГО ОБЛІКУ ТОВАРІВ НА ПІДПРИЄМСТВІ 2.1 Загальна організаційно-економічна характеристика підприємства Об’єднання “Сумипошта” є некомерційною організацією з правом здійснення торгівельної ді ...
... основної діяльності на суму одержаного прибутку 791 441 22820 11 Списано фінансовий результат від основної діяльності на суму одержаного збитку 442 791 1300 3.4 Шляхи удосконалення обліку доходів від операційної діяльності підприємства Облік є одним із найголовніших засобів отримання інформації і основою національного управління. Курс на ринкові перетворення в Україні супроводжується ...
... замінено на нове більш удосконалене. На нашому підприємстві працюють більш 1200 людей, 1000 з яких робітники виробництва (Додоток Г), (Додаток Д). Синтетичний облік наявності і руху виробничих запасів на підприємстві ведеться на рахунку 20 «Виробничі запаси» за субрахунками: 201 «Сировина й матеріали; 202 «Купівельні напівфабрикати та комплектуючі вироби»; 203 «Паливо»; 204 «Тара й тарні матері ...
... техніка». – 2007. - №594. – С.141-148 У цій роботі розглядається інструментарій управлінського обліку виробничих запасів в контексті його використання для інформаційного забезпечення під час побудови логістичних систем управління на підприємстві. Ефективність управління виробничими запасами має велике значення, особливо на підприємствах, де зосереджуються великі потоки матеріальних ...
0 комментариев