Автоматизований облік надходження, зберігання і збуту продукції на товарній базі
Позначимо сукупність всіх даних, які будуть заноситись до бази даних через множину А, таким чином А={А1,А2,А3}, Аі — множина всієї продукції що стосується складу, А1 — Надходження продукції на склад, А2 — продах продукції зі складу, А3 — продукція яка зберігається на складі. На початку були поставлені певні задачі, даною роботою я виконав всі вимоги. Мною були застосовані як вже готові процедури… Читати ще >
Автоматизований облік надходження, зберігання і збуту продукції на товарній базі (реферат, курсова, диплом, контрольна)
Автоматизований облік надходження, зберігання і збуту продукції на товарній базі
Вступ
Обіг продукції - це дійова економіка. Для того щоб розвиватися економіка повинна рухатися, а як вона рухається завдяки обороту повару та грошей. Створити програму за допомогою якої можливо прослідкувати обіг на складі, за певний період Я вибрав мову програмування 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 menu1 (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 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
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';
menu1 (s1, s2, s3, s4);
i:=1;
menu2 (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;
menu1 (s1, s2, s3, s4);
menu2 (i, s1);
end;
2:begin
If h=#13 then
save (1,1,40,25,0,'eksport');
window (1,1,40,25);
textbackground (0);
clrscr;
menu1 (s1, s2, s3, s4);
menu2 (i, s2);
end;
3:begin
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);
clrscr;
menu1 (s1, s2, s3, s4);
menu2 (i, s4);
end;
end;
until h=#27;
end.
Висновок
Даною курсовою роботою я показав свої практичні знання з програмування в середовищі Turbo Pascal. Дана мова проста ы в той же час дає можливість створювати досить багатофункціональні програми. Актуальність теми полягає в тому що дана програмо може застосовуватися в сфері економіки в практиці.
На початку були поставлені певні задачі, даною роботою я виконав всі вимоги. Мною були застосовані як вже готові процедури так і створені власні.
Список використаної літератури
1. Струков В. М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. — Харьков: Изд. Нац. ун-та внутр. дел, 2003. — 188 с.
2. Сердюченко В. Я. Розробка алгоритмів та програмування на мові Turbo Pascal. — X., 1995.
3. Немнюгин С. А. Turbo Pascal. — СПб.: Питер, 2002. — 496 с.: ил.