Контрольная работа: Автоматизований облік надходження, зберігання і збуту продукції на товарній базі
Название: Автоматизований облік надходження, зберігання і збуту продукції на товарній базі Раздел: Рефераты по информатике, программированию Тип: контрольная работа |
Автоматизований облік надходження, зберігання і збуту продукції на товарній базі ВступОбіг продукції – це дійова економіка. Для того щоб розвиватися економіка повинна рухатися, а як вона рухається завдяки обороту повару та грошей. Створити програму за допомогою якої можливо прослідкувати обіг на складі, за певний період Я вибрав мову програмування 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 с.: ил. |