РефератыИнформатика, программированиеАвАвтоматизований облік надходження, зберігання і збуту продукції на товарній базі

Автоматизований облік надходження, зберігання і збуту продукції на товарній базі

Автоматизований облік надходження, зберігання і збуту продукції на товарній базі


Вступ

Обіг продукції – це дійова економіка. Для того щоб розвиватися економіка повинна рухатися, а як вона рухається завдяки обороту повару та грошей. Створити програму за допомогою якої можливо прослідкувати обіг на складі, за певний період


Я вибрав мову програмування 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 с.: ил.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Автоматизований облік надходження, зберігання і збуту продукції на товарній базі

Слов:1268
Символов:13665
Размер:26.69 Кб.