Міністерство освіти і науки України
Новокаховський електромеханічний технікум
КУРСОВИЙ ПРОЕКТ
“Облік касових операцій”
з дисципліни “Основи програмування та алгоритмічні мови”
Відділення денне
Спеціальність 5.080405
Група 5031
Розробила студентка Н.Г.Маліна
Керівник проекту Т.М.Боєва
2005
Зміст
Вступ
Технічні характеристики:
Постановка задачі
Визначення структури вхідних даних
Визначення структури вихідних даних
Вимоги до технічних засобів
Вибір мови програмування
Опис алгоритму рішення задачі
Виконання програми
Висновок
Додаток 1 Схема алгоритму програми
Додаток 2 Роздрук лістингу програми
Додаток 3 Роздрук результатів роботи програми
Список використаних джерел
1 Вступ
Технічний прогрес стрімко рухається в перед, і розвиток інформаційних технологій є лише прикладом цього. Комп’ютери проникають в усі нові сфери людської діяльності, змінюючи її і визиваючи шквал оцінок – від захоплення до різкого незадоволення. Але все ж будь-яка новизна, яка допомагає людям взаємодіяти, приймається з великою цікавістю та бажанням зробити світ легшим для сприйняття – дуже багато залежить від можливості швидко сприймати ефективні рішення.
Комп’ютери, комп’ютерна техніка і технологія докорінно ввійшла в усі сфери людської діяльності. В теперішній час не тільки на підприємстві, але й в повсякденному житті людина все більш щільно співіснує з комп’ютером. Спектр його використання – усі сторони людського життя. Це відпочинок і робота, освіта і культура, економіка і фінанси, наука і промисловість. Вдосконалення комп’ютерної техніки дозволяє постійно модифікувати і вдосконалювати апаратне і програмне забезпечення комп’ютерів. Знання та вміння задіяти в комп’ютері нові досягнення в розробці програмних пакетів, комп’ютерних компонентів являється професійним обов ’язком оператора комп’ютера. В теперішній час можливо придбати комп’ютер під конкретні завдання, які він повинен виконувати. Від цього залежать параметри обраних апаратних компонентів комп’ютера і тип завантажувальної операційної системи, складність прикладних програм. Підготовлений користувач комп’ютера без зайвого клопоту розбереться в новинках комп’ютерного світу і обере найбільш ефективно необхідний і мінімально дешевший комп’ютер.
Необхідність людини виконувати великі і складні математичні розрахунки з ’ явился разом з розвитком військових і технічних наук, дослідницьких пошуків і мандрівок, торгових шляхів, фінансів, економіки і багато іншого. Перші механічні пристрої — арифмометри з ’явилися кінці 18-го століття, і в якості персональних обчислювальних машин вони проіснували до середини 19-го століття. В кінці цього ж століття Герман Голлерит створив електромеханічний табулятор з введенням чисел за допомогою перфокарток. Такі машини почали поступово застосовуватися у великих облікових операціях з великим масивом даних, наприклад при переписі населення, який проводився в Росії наприкінці 19-го століття. На початку 30-х років почалось виготовлення табуляторів, які пристосовані для виконання операцій множення, а потім з 1934 року — алфавітно-цифрових. Вони стали основою створення прообразу першої локальної мережі. Вона складалася з 250 терміналів, з’єднаних телефонними лініями з 20 табуляторами і15 пишучими машинками і призначені для розрахунків з покупцями в універмазі.
В ці роки німецький інженер втілив свою ідею створення універсальної обчислювальної машини з програмним керуванням і збереженням інформації в запам’ятовуючому пристрої. З появою електронних ламп почалося створення електронних компонентів обчислювальної машини на основі електронних швидкодіючих реле і тригерів на основі тріодів. Тут став здійснюватися модульний принцип виготовлення і зборки типових приладів з ЕОМ. Однак дійсним недоліком таких машин була їх низька економічність і, найголовніше, висока надійність і великі розміри.
Винайдення транзисторів – принципово нового електронного пристрою — дозволило відійти від недоліків електронних ламп, значно зменшити розміри електронних обчислювальних машини і створити першу міні-ЕОМ.
В 1958 році був зроблений прорив в міні – електроніці. Була створена інтегральна мікросхема, в склад якої включені всі необхідні компоненти. З розвитком мікропроцесорів в другій половині 70-років почали з’являтися перші персональні комп’ютери. З появою телевізійного монітора і клавіатури для набори команд зникла необхідність використання перфокарток або перфострічок для вводу програми і контрольних даних а пам ’ять ЕОМ. І виводу та їх обробки. Поява великих ЕОМ, яка забезпечувала багатокористувальницькій і діалоговий режим, з ’явилися перші текстові редактори і електронні таблиці. Великий попит на такі електронно-обчислювальні машини створив стимул для створення різних фірм, які займалися виготовленням ПК на основі самостійно розроблюваних блоків інтегральних мікросхем функціонування апаратного забезпечення комп’ютерів і програмного забезпечення. Несумісність платформ різних фірм породжувала велику кількість незручність для користувачів.
Феномен «Персонального комп’ютера» існує лише близько 25 років. Років двадцять п’ять тому, комп’ютери були великими, громіздкими і дуже дорогі. Але вже тоді існували ентузіасти, які з підручних матеріалів збирали «дещо». При правильному використанні «дещо» вело себе так, що були усі підстави називати цей продукт мікрокомп’ютером, оскільки термін «персональний комп’ютер» ще не існувало. Про промислове виготовлення мікрокомп’ютерів ще не замислювались, хоча технічні посилання видавало результати: у 1971 році фірма Intelпредставила перший мікропроцесор – чотирьох розрядний 4004. У 1973 році з’явився більш потужний восьми розрядний Intel8008. ці події ініціювали появу пристрою, яке більшість сучасників переважно розглядали його як перший мікрокомп ’ютер промислового виготовлення. Такий пристрій було виготовлено в 1974 році., називалося Selbi, і базувалося на мікропроцесорі Intel8008.
По-справжньому революційна подія відбулася в1975 році. Реклама на обгортці американського журналу PopularElectronicsповідомила про появу першого в світі комплекту для зборки мікрокоммютера, який не зможе конкурувати з іншими моделями. ALTAIR 8800 був першим, але не єдиним мікрокомп’ютером, який мав успіх.
В 1981 році фірма ІВМ випустила перший ІВМ РС (IBM5150 PERSONALCOMPUTER), виготовивши його окремою платформою. Мікропроцесори. На основі яких функціонували перші ІВМ-сумісні персональні комп’ютери, були розроблені фірмою Intelв 1978 році. Це були моделі 8086 і 8088.
В той час комп’ютер фірми ІВМ відрізнявся від інших більш високими параметрами і був відкритий для копіювання. Тому більшість фірм-виробників перейшли до виготовлення подібних комп’ютерів, відомих тепер, як ІВМ-сумісні ПК. На теперішній час основну частину персональних комп’ютерів складають ІВМ-сумісні комп’ютери. І лише невелика кількість ( до 10% ринку) складає продукція інших, несумісних ПК (таких як фірми AppleMacintosh).
Серед підприємців та бізнесменів велику розповсюдженість дістали переносні персональні комп’ютери моноблокової розробки – ноутбук, — в яких процесор, дисковод і клавіатура встроєні в загальний корпус, а монітор, виконаний як рідкокристальна, люмінесцентна або плазмова панель, оформлюється у вигляді відкидної кришки. Блоком живлення служить акумуляторна батарея, яка забезпечує при повній зарядці декілька годин неперервної роботи.
Кишенькові комп’ютери зазвичай бувають двох типів вводу: клавіатурного і корпусного. Останнім часом з ’явилася розробка кишенькового комп’ютера, в якому обидва ці типи сумісні. В закритому стані КПК схожий на без клавіатурну модель – корпус, втягнутий по вертикалі, декілька кнопок під екраном – і все. Якщо здвинути нижню частину першої панелі, то буде видна невелика, але повноцінна клавіатура, яка дозволяє вводити тексти привичним шляхом для всіх користувачів.
Програмні можливості ноутбуків і кишенькових комп’ютерів дуже обмежені і призначені вони в основному для отримання або передачі невеликої, але важливої, інформації, коли користувач не може працювати з настільним ПК. Електроживлення здійснюється за допомогою акумуляторів, але мається можливість підключення до електромережі і мережі Internet.Завдання, які вирішуються на теперішній час за допомогою комп’ютерів, дуже різноманітні. Двигуном технічного розвитку, звичайно, є потреби зв’язані з вирішенням військових і космічних задач.
Інформація яка надходить зі супутників та інших космічних апаратів, широко використовується в екологічних дослідженнях. В реальності сьогоднішнього дня без використання обчислювальної техніки неможливе планування економіки і оптимізація управління виробництвом, починаючи з невеликого підприємства і закінчуючи міжнародним рівнем. Неможливий прорив в медицині по діагностиці захворювань і лікуванню небезпечних захворювань, розвитку генетики і мікробіології. Сильний розвиток ігрового та шоу-бізнесу як окремої галузі людського буття неможливе без використання високо розвинутих комп’ютерних технологій. Автоматизація доступу до інформації, накопиченої людством за тисячоліття свого розвитку, розвитку штучного інтелекту, як наслідок. Подальший розвиток научно-технічного прогресу – це невеликий перелік проблем, які вирішуються за допомогою ЕОМ.
Щодо створеного мною курсового проекту, який створений для спеціальності 5.050111 «Бухгалтерський облік», враховуючи те, що технічний прогрес стрімко рухається вперед і практично всі галузі суспільства в цілому на сьогоднішній день не обходяться без комп’ютерів, я вирішила створити програму, яка полегшила б роботу бухгалтера не в цілому, а лише в конкретному випадку, яким являється розрахунки на тему «Основні касові операції».
2 Технічні характеристики
2.1 Постановка задачі
Мій курсовий проект створений для спеціальності «Бухгалтерський облік», а саме на тему «Облік касових операцій». Професія бухгалтера – це дуже відповідальна робота, тому в усіх його діях не може бути ніяких помилок. А, як нам уже відомо, можливість безпомилкового розв’язання будь-яких проблем забезпечується за допомогою комп’ютерної техніки. Робота касира не меншвідповідальна, тому я й обрала цю тему.--PAGE_BREAK--
Отже перед тим як перейти до опису головного завдання мого курсового проекту я хочу ознайомити користувачів з основамимоєї теми.
Рахунок №30 «Каса» призначений для узагальнення інформації про наявність та рух грошових коштів в касі підприємства.
Рахунок №30 «Каса» має такі субрахунки:
№301«Каса в національній валюті»;
№302«Каса в іноземній валюті».
На дебеті рахунка №30«Каса» відображається надходження грошових коштів до каси підприємства, на кредиті – виплата грошових коштів із каси підприємства. На підприємстві де працюють операційні каси, відкриваються субрахунки «Операційна каса в національній валюті» та «Операційна каса в іноземній валюті».
Усі підприємства, незалежно від форми власності, зобов’язані зберігати свої грошові кошти в установах банку. Каса– самостійний структурний підрозділ підприємства, призначений для зберігання коштів і проведення розрахунків готівкою. Матеріальну відповідальність за збереження коштів і ведення касових операцій покладено на касира, з яким укладають у формі зобов’язання касира( або іншої повноважної особи). Ліміти залишку готівки в касі для кожного підприємства встановлюється комерційними банками за місцем відкриття рахунка з урахуванням режиму і специфіки роботи підприємства. У разі, якщо ліміт залишку готівки в касі підприємства взагалі не встановлено, вся наявна готівка в його касі на кінець дня має бути здана до банку( незалежно від причини відсутності ліміту каси). Колективні сільськогосподарські підприємства, колгоспи, сільськогосподарські кооперативи, селянські спілки самостійно визначають розміри готівки. Підприємства та інші індивідуальні підприємці, які мають поточні рахунки в банку, зобов’язані зберігати свої кошти в установах банків. Готівка, яку вони одержують з власних поточних рахунків в установах банків у межах наявних на них коштів, має витрачатися виключно на визначені в чеку потреби, що не суперечать чинному законодавству. Для підтвердження здійснених цільових витрат готівки підприємства та індивідуальні підприємці повинні надавати обслуговуючій установі банку ( на її вимогу). Звітні платіжні розрахункові документи ( касові і товарні чеки, квитанції до прибуткових ордерів, податкові накладні, договори купівлі-продажу, акти закупівлі ).
Касові операції оформлюють документами. Надходження і видачу грошей з каси підприємства оформлюють прибутковими і видатковими касовими. Касові ордери передаються до виконання касирові підприємства безпосередньо бухгалтером, а не через особу, що одержує або вносить гроші. Касир, що одержав з бухгалтерії касові ордери, повинен перевірити правильність їх оформлення, наявність і дійсність підписів, додатки, перераховані в ордері. Після цього він приймає і видає гроші. Особі, що внесла гроші до каси, видається квитанція. При видачі грошей за видатковим касовим ордером окремій особі касир вимагає пред’явлення документа, який посвідчує особу одержувача. Таким документом є паспорт, закордонний паспорт, військовий квиток, службове посвідчення за наявності на ньому фотокартки й особистого підпису власника. Прибуткові касові ордери і квитанції до них, а також видаткові касові ордери заповнюються бухгалтером бухгалтерією чітко і зрозуміло, без будь-яких підчисток, помарок або виправлень. Прибуткові і видаткові касові ордери по передачі в касу реєструються бухгалтерією в Журналі реєстрації касових ордерів, де їм надаються порядкові номери. Касир усі надходження і видачі готівки зо прибутковими і видатковими касовими ордерами обліковує у Касовій книзі.
Для забезпечення надійного зберіганняготівки і цінностей каса має відповідати таким вимогам :
Бути ізольованою від інших допоміжних приміщень;
Мати сейф або металеву шафу;
Мати спеціальне віконце для проведення операцій з працівниками і клієнтами;
Бути обладнаною охоронно-пожежною сигналізацією, що відповідає вимогам діючого Положення.
Записи у касовій книзі здійснюються тільки під копірку, тобто у двох примірниках(другий примірник є звітом для касира). Наприкінці робочого дня касир підбиває підсумки оборотів за надходження і видачею грошей та виводить залишки на наступний день. Бухгалтер перевіряє правильність оформлення касових ордерів, їх обґрунтування, виконання записів і касовій книзі і виведеного залишку на кінець дня і проти кожної суми проставляє шифр кореспондуючих рахунків. Головний бухгалтер з метою контролю повинен не менше одного разу на місяць перевіряти готівку в касі, складати акт і відповідати перед керівником підприємства. Керівник підприємства несе відповідальність за збереження грошей, правильне і доцільне їх використання.
Для обліку наявності, руху залишків готівки, в касі використовують активний рахунок №30 «Каса». До операційних кас належать квиткові і багажні каси, відділення зв’язку та інші подібні каси. Бухгалтерія після одержання звіту касира здійснює перевірку обґрунтованості всіх записів у звіті, проставляє кореспонденцію рахунків на кожному документі і заповнює журнал-ордер№1 по кредиту рахунка № 30 «Каса» і відомість №1 по дебету цього рахунка, в яких реєструє одержані й видані кошти за цільовими призначенням. Книгу реєстрації видають під розписку матеріально відповідальній особі на підставі проведеної інвентаризації залишків товарів і готівки, які записуються як початкове сальдо. Матеріально відповідальні особи зобов’язані щоденно здавати до бухгалтерії звіт з доданими відповідними документами і задавати щоденно з каси підприємства денну виручку, яка відображена у звіті.
Аналітичний облік грошових документів ведення за їх видами. До коштів, що вважаються коштами в дорозі, належать виручка, одержана підприємствами за послуги, реалізовану продукцію і виконанні роботи і внесена до банку, відділення ощадбанку, каси поштового відділення готівки зв’язку для зарахування на розрахунковий рахунок. Для обліку грошових коштів в іноземній валюті за телеграфним повідомленням іноземного банку про господарський платіж за рахунок акредитиву, відповідно до виправданих документів – рахунків-фактур, актів та ін., що вважаються в бухгалтерському обліку грошовими коштами в дорозі використовують субрахунок №334 « грошові кошти в дорозі в іноземній валюті». Мати спеціальне віконце для проведення
Отже як ми бачимо з усього вище сказаного, що всі дії касира мають бути чіткими, точними та безумовно правильними. Тому при створенні своєї програми я поставила перед собою такі завдання:
Мій курсовий проект має бути простим у використанні, тобто будь-який користувач зможе швидко та без проблем розібратися в структурі програми, а також в специфіці її роботи.
Результат роботи в програмі повинен бути представленийу зручному вигляді, всі введені дані та результати розрахунків будуть виведені у вигляді таблиць.
Перед тим, як розпочати роботу з програмою користувачеві буде пред’явлено інструкцію щодо її використання.
На протязі роботи з моєю програмою користувачу буде пред’явленодовідкова інформація, за допомогою якої можна легко розібратися в незрозумілій ситуації.
Для будь-якого бухгалтера або касира моя програма повинна стати незмінним помічником при обліку касових операцій, тому всі нюансицієї задачі повинні бути враховані при розробці програми.
2.2 Визначення структури вхідних даних
Ідентифікатор
Тип
Розмір
Пояснення
sprav
text
-
Змінна для позначення текстового файлу.
z,z1,z2,z3,z4,z5,z6
.x,x1,x2,x3,x4,x5
integer
0…
Значення сум для обчислення розрахунків
C,c1,c2,c3,c4,c5,c6
C7,y,y1,y2,y3,y4,y5,
string
0…10
Змінні для переведеннязмінних цілого типу в змінні рядкового типу
n,n1,n2,n3,
integer
0…
Суми для обчислення розрахунків
m,m1,m2,m3
string
0…10
Змінні для переведеннязмінних цілого типу в змінні рядкового типу
Rost, noson,ivan
File of
—
Змінні для позначення текстового файлу.
h,h1,h2,h3,
integer
0… продолжение
--PAGE_BREAK--
Значення сум для обчислення розрахунків
f,f1,f2,f3
string
0…10
Змінні для переведеннязмінних цілого типу в змінні рядкового типу
r,r1,r2,r3,r4,r5,r6,r7,
r8,r9,r10,r11,r12,r13,
r14,r15,r16
integer
0…
Значення сум для обчислення розрахунків
l,l1,l2,l3,l4,l5,l6,l7,
l8,l9,l10,l11,l12,l13,
l14,l15,l16
string
0…10
Змінні для переведеннязмінних цілого типу в змінні рядкового типу
u,u1,u2,u3,u4,u5,u0
integer
0…
Значення cум для обчислення розрахунків
j,j1,j2,j3,j4,j5
string
0…10
Змінні для переведеннязмінних цілого типу в змінні рядкового типу
2.3. Визначення структури вихідних даних
Ідентифікатор
Тип
Розмір
Пояснення
ch
char
Проміжкова змінна для
позначення процедури
Ivan1,rostov1,noson1
File of
—
Змінні для позначення текстового файлу.
Z7,n1,n2
integer
1…
Змінні для обчислення значень операцій
2.4 Вимоги до технічних засобів
Програма “облік касових операцій” була розроблена на персональному комп’ютері, який має такі характеристики: процесор AMD Duron, оперативна пам’ять 65008 Кбайт, об’єм жорсткого диску 40 Гбайт. Програма була розроблена на мові програмування Pascal всередовищі Turbo Pascal 7.0, ця програма розрахована на роботу в операційній системі MS-DOS.
Для нормальної роботи програми ЕОМ повинна мати такий набір характеристик: процесор AMD Duron з тактовою частотою 15 МГц, оперативною пам’ятю об’ємом 50 Мбайта та жорстким диском об’ємом 100 Мбайт. Ці дані є мінімальними для виконання поставленої задачі на ЕОМ була обрана через її масове використання.
2.5 Вибір мови програмування
Впевненість в тому, що ми оволоділи комп’ютером досягається тільки тоді, коли він став нашим помічником і коли ми можемо створювати програми для рішення на комп’ютері потрібні нам задачі.
В основі тієї або іншої мови програмування лежить деяка керівна ідея, що робить істотний вплив на стиль відповідних програм.
Історично першою була ідея структурування програм, відповідно до якої програміст повинний був вирішити, які саме процедури він буде використовувати у своїй програмі, а потім вибрати найкращі алгоритми для реалізації цих процедур. Поява цієї ідеї була наслідком недостатньої вивченості алгоритмічної сторони обчислювальних процесів, досить характерної для ранніх програмувальних розробок (сорокові — п'ятидесяті роки). Типовим прикладом процедурно-орієнтованої мови є Фортран – перший і усе ще один з найбільш популярних мов програмування. Послідовне використання ідеї процедурного структурування програм привело до створення великих бібліотек програмування, що містять безліч порівняно невеликих процедур, з яких, як з цеглинок, можна будувати «будинок» програми.
В міру прогресу в області обчислювальної математики акцент у програмуванні став зміщатися з процедур убік організації даних. Виявилося, що ефективна розробка складних програм має потребу в діючих способах контролю правильності використання даних. Контроль повинен здійснюватися як на стадії компіляції, так і при прогоні програм, у противному випадку, як показала практика, різко зростають труднощі створення великих програмних проектів.
Виразне усвідомлення цієї проблеми привело до створення Ангола-60, а пізніше Паскаля, Модулі-2. Ці і безліч інших мов програмування, що мають більш-менш розвиті структури типів даних. Логічним наслідком розвитку цього напрямку став модульний підхід до розробки програм, що характеризується прагненням «сховати» дані і процедури усередині модуля.
Починаючи з мови Симула-67, у програмуванні з’явився новий підхід, що одержав назву об'єктно-орієнтованого програмування (надалі ООП). Його керівна ідея полягає в прагненні зв'язати ці дані процедурами в єдине ціле – об'єкт. Характерною рисою об'єктів є інкапсуляція (об'єднання)даних і алгоритмів їхньої обробки, у результаті чого і дані, і процедури багато в чому втрачають самостійне значення. Фактично ООП можна розглядати як модульне програмування наочного рівня, коли замість багато в чому випадкові, механічного об'єднання процедур і даних акцент робиться на їхній значеннєвий зв'язок.
Якими могутніми засобами володіє ООП наочно демонструє бібліотека Turbo Vision, що входить у комплект постачання Турбо Паскаля.
Я зупинилася на мові Паскаль.Мовапрограмування Паскаль була розроблена Ніколасом Віртомна початку 70-х років для навчання програмуванню.Pascalнайбільш зручний як перша досліджувана мовапрограмування. За задумом розробниками цієї мови Ніколаса Вірта, мова Паскаль Повинна формувати в уявленні програміста закони програмування разам з її красою. Він також вважав. Що ця мова буде ефективним засобом навчання по програмуванню і підніме програмування від рівня простого рішення, що відбувається при роботі з Бейсіком, до рівня використання його в складній інженерній діяльності. Мій курсовий проектстворений для спеціальності 5.050111 «Бухгалтерський облік», враховуючи те, що технічний прогрес стрімко рухається вперед і практично всі галузі суспільства в цілому на сьогоднішній день не обходяться без комп’ютерів, я вирішила створити програму на мові Паскаль. Ця мова легка у використанні та проста у застосуванні.
Багато програм створюються для рішення якої-небудь задачі. Тому
програміст повинен знати як ввести інформацію в програму, вся введена інформація повинна вводитись безпомилково, але все ж таки, якщо помилку було зроблено, то програма покаже повідомлення про помилку. продолжение
--PAGE_BREAK--
Програміст повинен також вміти зберігати інформацію в програмі, вміти указати правильні команди для обробки даних, тобто використати відповідні операції для того щоб дані підтягались правильній обробці, а також повинен вміти зробити так щоб користувачу було зрозуміло все у програмі.
2.6 Опис алгоритму рішення задачі
Головна програма складається з дев’яти процедур, кожна з яки виконує певні функції. Загалом програма призначена для розрахунків грошових коштів, які надходять та вибувають з каси. Отже, головна програма складається з наступних процедур:
Процедура Init . Ця процедура призначена для ініціювання графічного режиму в програмі. В цій процедурі ми робимо перевірку правильності встановлення та параметри графічного режиму.
Процедура titul. Ця процедура виводить на екран монітора зображення у вигляді титульного аркуша( тему курсового, ім’я та прізвище розробника проекту та ін.).
Процедура zagruzka. Ця процедура робить завантаження програми.
Процедура podskazka. Процедура яка виводить на екран інструкцію по використанню програми. При цьому спочатку створюється допоміжний текстовий файл, який потім підключається в процедурі.
Процедура Balans. Процедура, яка починає розрахунковий етап програми. В цій процедурі спочатку відбувається запроси на введення даних в Актив та Пасив, після чого виводиться загальні результати у вигляді таблиці. Якщо ж суми Активу і Пасиву не зійдуться процедура повертається на початок.
Процедура Neznaju. Ця процедура потребує введення сум готівки, які надаються підзвітним особам. Після чого виводить загальну суму видачі. Всі проведені операції та результати потім подаються у вигляді таблиці.
Процедура rozshifrovka. В цій процедурі необхідно ввести суму готівки наявна в касі в національній та іноземній валюті. Результати можна переглянути у вигляді виведеної таблиці.
Процедура medprilad. Ця процедура виводить на екран повідомлення у вигляді касових операцій, відповідно до яких необхідно ввести грошові значення. Після цього програма проводить необхідні розрахунки. Всі результати проведених операцій у вигляді таблиці.
Процедура medpriladprodov. Ця процедура аналогічна до процедури medprilad.
Загалом програма проста у використанні, якщо детально ознайомитися з інструкцією та довідковою інформацією то працювати з нею зможе навіть людина без знання бухгалтерського обліку.
2.7.Виконання програми
Програма дуже легка у використанні і проста у розрахунках. Спочатку після запуску програми на екрані з ’являється вікно титульного аркуша. Після цього автоматично відбувається завантаження розрахункової частини програми. Після того, як програма завантажилася на екрані з ’являється вікно “Інструкція до використання”, в якому виводиться інформація, яка необхідна для ознайомлення користувача з основними положеннями щодо роботи з програмою. Після того, як користувач ознайомився з довідковою інформацією на екрані з ’являється вікно в якому необхідно ввести значення сум в Актив ( значення: Основні засоби(z), Нематеріальні активи(z1), паливо(z2), Основне виробництво(z3), Каса(z4), Розрахунковий рахунок(z5), Розрахунки з підзвітними особами(z6) та Пасив(значення змінних Статутний фонд(x), Фонди спецпризначення(x1), нерозподілений прибуток)x2), Знос основних засобів(x3), Короткострокова позика банку(x4), Розрахунки за заробітною платою(x5)) балансу. Після цього програма підраховує загальну суму для Активу (z7) і Пасиву (х6), якщо ці змінні рівні то результати виводяться у вигляді таблиці «Баланс» і програма виконується далі. Якщо ж значення цих змінних різні то програма видає повідомлення про хибність розрахунків і повертається на початок розрахункового блоку, це буде повторюватися доти, доки суми Активу та Пасиву не зійдуться.
Після розрахунку балансу виводяться повідомлення для вводу змінних n(в підзвіт Ростовій Р.А.),n1(в підзвіт Носоновій Н.А.),n2(в підзвіт Гришко Г.О.) — введення сум виданих в підзвіт і програма сумує введені дані, які присвоєні змінній n3. Значення змінних nі n1 записуються в типізовані файли noson, rost, які будуть використані в наступних процедурах. всі результати проведених розрахунків виводяться у вигляді таблиці «Розрахунки з підзвітними особами».
Після розрахунку загальної суми видачі в підзвіт ми розраховуємо наявність готівки в касі. Вводимо значення змінних h(готівка в національній валюті), h1, при цьому h1 – це готівка в іноземній валюті, для того щоб перевести в національну валюту ми обчислюємо змінну h2, помноживши hна 5. Змінна h3 використовується для підрахунку загального результату. Всі результати проведених розрахунків виводяться у вигляді таблиці «каса».
Після цього йде виконання заповнення реєстру господарських операцій. Для цього ми вводимо значення змінних: r(з поточного рахунку надійшли кошти на виплату заробітної плати), r1(з поточного рахунку надійшли кошти на господарські потреби по чеку), r2(надійшли в касу кошти за відпущену за готівку продукцію), r3(зарахування на поточний рахунок з каси понадлімітні залишки грошей), r4(надходження в касу внесків батьків за утримання дітей в дошкільних закладах), r6(видана з каси одноразова допомога), r7(надійшла в касу готівка для видачі позики на індивідуальне житлове будівництво), r9(списані використані підзвітні суми з Ростової), r10(списані використані підзвітні суми з Носонової), r13(Видані кошти на витрати по відрядженню Іванова), r14(надійшли в касу кошти на проведення цільових заходів), r15(надійшли в касу внески працівників в часткове погашення вартості путівок, придбаних за рахунок коштів підприємства), r16(Внесена готівка на поточний рахунок в банк), при цьому змінні r5(видана з каси заробітна плата), r8(видані працівникам підприємства позики на індивідуальне житлове будівництво), r11(внесений в касу Носоновою залишок невикористаних підзвітних сум), r12(видано з каси кошти кошти Ростовій Р.А. в покриття перевитрат по підзвітних сумах) розраховуються автоматично при виконанні програми. Всі результати розрахунків буду приведені у вигляді таблиці " Реєстр господарських операцій".
Наступне вікно буде аналогічне до попереднього, тому що наступні розрахунки являються продовженням заповнення реєстру господарських операцій. В цьому вікні необхідно ввести значення змінних u(видано з каси Соловенко С. О. кошти на відрядження),u1(затверджені авансові звіти агента відділу постачання Іванова І.В.), u2(затверджені авансові звіти бухгалтером Соловенко С. О.),u3(в результаті інвентаризації виявлена нестача грошових коштів в касі), при цьому змінні u4(Списана повна сума фактичної нестачі за рахунок винної особи), u5(внесена сума фактичної нестачі винною особою в касу підприємства.
У кожному вікні в якому виводяться результати програми можна отримати довідкову інформацію натиснувши клавішу F1. Якщо користувач хоче зупинити роботу програми то необхідно після виведення результату однієї з операцій натиснути кнопку Esc.
3 Висновки
Під час розробки програми я ближче ознайомилася з середовищем програмування Turbo Pascalі в процесі роботи я змогла краще уявити сфери його застосування. Мій курсовий проект створений для спеціальності 5.050111«Бухгалтерський облік», а саме на тему «Облік касових операцій». Професія бухгалтера – це дуже відповідальна робота, тому в усіх його діях не може бути ніяких помилок. Будь-яке підприємство не зможе працювати без бухгалтера, але його робота містить дуже великі обсяги інформації, в якій дуже легко заплутатися та зробити помилку. Для полегшення роботи бухгалтера я створила багатофункціональну програму, яка виконує не одне завдання пов'язаних з розрахунком балансу, підрахунку готівки наявної в касі, створює реєстр господарських операцій та ін. під час розробки програми я не тільки засвоїла знання з програмування але отримала навички роботи з касовими операціями та бухгалтерським обліком загалом.
Програма дуже проста у застосуванні і призначена для користувача, який має невисокі знання роботи з комп'ютером. Програма легка у застосуванні завдяки наявності довідкової інформації.
Додаток 1 Схема алгоритму програми
Блок-схема до головної програми.
/>
/>
/>
/>
/>
/>
/>
/>/>/>
+ -
/>/>
/>
/>/>/>/>/>/>-
/>+ продолжение
--PAGE_BREAK--
/>/>/>/>/>/>/>/>/>/>/>/>/>
+ -
/>
/>/>/>/>/>/>+ -
Блок-схема до процедури Init
/>
/>
/>
+ -
/>/>
/>
/>
/>/>/>
Блок – схема до процедури Titul
/>
/>
/>
/>
/>/>/>
/>
/>
/>
/>
/>
/>/>
/>
/>
/>
/>
/>/>
Блок-схема до процедури Zagruzka
/>/>/>/>
/>/>/>/>/>/>/>Блок-схема до процедури Podskazka
-
+
/>
/>/>/>/>/>/>/>/>Блок-схема до процедури Balans
/>
/>
/>/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>/>/>
/>
/>
/>
/>
/>
/>
/>/>/>/>/>/>/>/>
/>/>
/>/>/>/>/>
/>/>/>
/>/>/>/>/>
/>
/>/>/>
/>
/>/>
/>
/>/>+
/>/>
/>
/>
/>
/>/>/>/>/>/>/>
/>/>/>/>
/>/>
/>/>/>/>/>
/>
/>
/>/>+
/>/>/>/>/>/>/>Блок-схема ло процедури neznaju
/>
/>/>/>/>/>/>/>
/>/>
продолжение
--PAGE_BREAK--
/>
/>/>
/>/>
/>/>/>/>/>/>/>/>
/>/>
/>
/>/>
/>
/>/>
/>/>
/>
/>
/>/>/>/>/>/>/>
/>
/>/>
/>/>/>
/>
/>
/>/>/>/>/>/>/>/>
/>
/>
/>
/>/>
/>
/>/>/>/>/>/>/>
/>/>/>/>
/>/>
/>
/>
/>/>/>/>/>/>
/>
/>/>
/>
/>
/>
/>
/>/>/>/>
/>/>/>
/>
/>/>
/>
/>
/>/>
/>/>
/>
/>
/>
/>/>
/>
/>
/>/>
/>
/>/>
/>/>/>
/>
/>
Блок-схема до процедури medpriladprodov
/>/>/>/>/>
/>/>
/>
/>
/>/>/>/>/>/>/>/>/>/>
/>/>
/>/>
/>
/>/>/>/>/>/>/>/>
/>
/>/>
/>/>
/>/>
/>
/>/>
/>
/>/>
/>
продолжение
--PAGE_BREAK--
/>/>
/>
/>
/>/>/>/>/>/>/>
/>
/>/>
/>/>/>
/>
/>
Додаток 2 Роздрук лістингу програми
program Nagya_1;
uses crt,Graph,f_text;
label exit;
var x:integer;ex:char;
procedure Init;
var gm,gr:integer;
begin
gr:=0;{автоматичнеpозпiзнаваннятипудисплея}
gm:=0;
InitGraph(gr,gm,'c:\TP\BGI');
if GraphResultgrOk
then Halt(1);{пеpевipкапpавильностi установкигpафiчногоpежиму}
end;
procedure titul;{початокпpоцедеpиtitul}
var i:integer;
begin
settextstyle(4,0,7);{задаєтьсятекстовийстиль}
setcolor(11); {задаєтьсяколip}
outtextxy((getmaxx-textwidth('Куpсовийпpоект')) div 2, 0,'Куpсовийпpоект');
settextstyle(7,0,3);
setcolor(2);
outtextxy((getmaxx-textwidth('Hатему:')) div 2, 100,'Hатему:');
settextstyle(7,0,5);
setcolor(14);
outtextxy((getmaxx-textwidth('"Облiккасовихопеpацiй."')) div 2, 140,'"Облiккасовихопеpацiй."');
Settextstyle(8,0,3);
Setcolor(9);
outtextxy((getmaxx-textwidth('здисциплiни:')) div 2, 180,'здисциплiни:');
settextstyle(7,0,5);
setcolor(14);
outtextxy((getmaxx-textwidth('"Основипpогpамування"')) div 2, 200,'"Основипpогpамування"');
settextstyle(3,0,2);
setcolor(13);
outtextxy(420,280,'Виконала:');
outtextxy(420,300,'студенткагp.5031');
outtextxy(420,320,'спецiальностi 5.080405');
settextstyle(8,0,3);
setcolor(9);
outtextxy(420,350,'МалiнаHадiя');
outtextxy(420,370,'Геоpгiївна');
SetTextstyle(7,0,4);
setcolor(11);
outtextxy(40,420,'2005 p.');
sound(400);{виводитьсязвуковийсигнал}
delay(50000);{затpимказвуку}
sound(500);
delay(15000);
sound(600);
delay(15000);
sound(750);
delay(50000);
sound(400);
delay(50000);
sound(500);
delay(15000);
sound(600);
delay(15000);
sound(850);
delay(20000);
nosound;{вимикаєтьсявнутpiшнiйдинамiк}
delay(65535);
delay(65535);
delay(65535);
delay(65535);
end; {кiнецьпpоцедуpи}
procedure Zagruzka;{початокпpоцедуpиZagruzka}
var x:integer;
begin
SetColor(6); {заданнякольоpу} продолжение
--PAGE_BREAK--
SetFillStyle(1,1);
Rectangle(197,297,405,319);{малюєтьсяпpямокутник}
SetColor(1);
Bar(200,300,400,315);
SetColor(10);
SetFillStyle(1,10);
For x:=1 to 14 do {поступовевиведенняпpямокутникiв}
begin
bar(x*15+200-15,300,x*15+7+200-15,315);
Delay(5000); {затpимказобpаження}
end;
CloseGraph; { закpиттягpафiчногоpежиму}
end; {кiнецьпpоцедуpиZagruzka}
procedure podskazka; {початокпpоцедуpиpodskazka}
var sprav:text;
rh: string;
begin
restoreCrtMode;
colors(15,1);
setwindow(1,1,80,25,2,'Iнстpукцiядопpогpами',true,true,false); {малюєтекстовевiкно}
assign(sprav,'c:\tp\work\sprav.txt'); {вiдкpиваєфайлдлядозапису}
reset(sprav);
while not eof(sprav) do
begin
readln(sprav,rh); {зчитуєданi зфайлу}
writeln(rh); {виводитьзчитуємi данi наекpан}
readkey;
end;
end; {кiнецьпpоцедуpиpodskazka}
Procedure Balans; {будуєтаблицю"баланс"}
label 1;
var z,z1,z2,z3,z4,z5,z6,z7,x,x1,x2,x3,x4,x5,x6:integer;
c,c1,c2,c3,c4,c5,c6,c7,y,y1,y2,y3,y4,y5,y6:string[10];
ex,ch:char;
begin
window(1,1,80,25); {малюєтекстовевiкно}
1: clrscr; {ОЧИЩЕHHЯЕКРАHУ}
textcolor(7);
writeln('Введiтьсумивiдповiднодотакихопеpацiй:');
writeln('(В актив балансу)');
writeln('Основнi засоби');
textcolor(2);
readln(z);
Str(z,c);{пеpеводитьзмiннуцiлоготипувpядковий}
textcolor(7);
writeln('Hематеpiальнi активи');
textcolor(2);
readln(z1);
Str(z1,c1);
textcolor(7);
writeln('Паливо');
textcolor(2);
readln(z2);
Str(z2,c2);
textcolor(7);
writeln('Основневиpобництво');
textcolor(2);
readln(z3);
Str(z3,c3);
textcolor(7);
writeln('Каса');
textcolor(2);
readln(z4);
Str(z4,c4);
textcolor(7);
writeln('Розpахунковийpахунок');
textcolor(2);
readln(z5);
Str(z5,c5);
textcolor(7);
writeln('Розpахункизпiдзвiтнимиособами');
textcolor(2);
readln(z6);
Str(z6,c6);
z7:=z+z1+z2+z3+z4+z5+z6;
textcolor(7);
writeln('Всього',z7);
Str(z7,c7);
writeln('В пасив балансу');
writeln('Статутний фонд');
textcolor(2); продолжение
--PAGE_BREAK--
readln(x);
Str(x,y);
clrscr;
textcolor(7);
writeln('Фондиспецiальногопpизначення');
textcolor(2);
readln(x1);
Str(x1,y1);
textcolor(7);
writeln('Hеpозподiленийпpибуток');
textcolor(2);
readln(x2);
Str(x2,y2);
textcolor(7);
writeln('Знососновнихзасобiв');
textcolor(2);
readln(x3);
Str(x3,y3);
textcolor(7);
writeln('Коpоткостpоковапозика');
textcolor(2);
readln(x4);
Str(x4,y4);
textcolor(7);
writeln('Розpахункизазаpобiтноюплатою');
textcolor(2);
readln(x5);
Str(x5,y5);
x6:=x+x1+x2+x3+x4+x5;
textcolor(7);
writeln('Всього',x6);
Str(x6,y6);
begin
init; {викликгpафiчногоpежиму}
SetBkColor(9); {задаєтьсяколip фону}
Setcolor(15); {задєтьсяколip тексту}
SetTextStyle(0,0,2); {задаєтьсятекстовийстиль}
outtextxy(180,20,'БалансАТ"Медпpилад"');
outtextxy(220,40,'на31.12.ц.p.');
line(60,60,560,60);
line(60,80,560,80);
line(60,90,560,90);
line(60,100,560,100);
line(60,110,560,110);
line(60,120,560,120);
line(60,130,560,130);
line(60,140,560,140);
line(60,160,560,160);
line(60,170,560,170);
line(60,60,60,170);
line(223,60,223,170);
line(290,60,290,170);
line(490,60,490,170);
line(560,60,560,170);
SettextStyle(0,0,1);
outtextxy(90,70,'Актив');
outtextxy(63,82,'Основнi засоби');
outtextxy(63,92,'Hематеpiальнi активи');
outtextxy(63,102,'Паливо');
outtextxy(63,112,'Основневиpобництво');
outtextxy(63,122,'Каса');
outtextxy(63,132,'Розpахунков. pахунок');
outtextxy(63,142,'Розpах. зпiдзвiтни-');
outtextxy(63,152,'миособами');
outtextxy(63,162,'Разом');
outtextxy(230,63,'Сума');
outtextxy(230,70,'гpн.');
outtextxy(225,82,c);
outtextxy(225,92,c1);
outtextxy(225,102,c2);
outtextxy(225,112,c3);
outtextxy(225,122,c4);
outtextxy(225,132,c5);
outtextxy(225,142,c6);
outtextxy(225,162,c7);
outtextxy(320,70,'Пасив');
outtextxy(292,82,'Статутнийфонд');
outtextxy(292,92,'Фондиспец.пpизначення');
outtextxy(292,102,'Hеpозподiленийпpибуток');
outtextxy(292,112,'Знососновнихзасобiв');
outtextxy(292,122,'Коpоткостpоковапозика');
outtextxy(292,132,'Розpахункизазаp. платою'); продолжение
--PAGE_BREAK--
outtextxy(292,162,'Разом');
outtextxy(490,62,' Сума');
outtextxy(500,72,'гpн.');
outtextxy(495,82,y);
outtextxy(495,92,y1);
outtextxy(495,102,y2);
outtextxy(495,112,y3);
outtextxy(495,122,y4);
outtextxy(495,132,y5);
outtextxy(495,162,y6);
outtextxy(100,380,'ДляотpиманнядовiдковоїiнфоpмацiїнатиснiтьF1');
if z7x6 then
begin
setfillstyle(1,4);
setcolor(6);
ellipse(300,300,0,360,260,25); {малюєелiпс}
fillellipse(300,300,260,25); {заповнюєкольоpомелiпс}
SetColor(2);
outtextxy(180,285,'Виввелиневipнi сумиопеpацiй.');
outtextxy(210,295,'Баланснезiйшовся.');
outtextxy(180,305,'Введiтьбудь-ласкавipнi данi!');
end;
ch:=readkey;
if ch=#0 then { пiдключенняклавiшi F1 длявикликудовiдковоїiнфоpмацiї}
ch:=readkey; if ch=#59 then
begin
setcolor(10);
setlinestyle(2,0,3);
rectangle(1,400,640,470);
setviewport(1,400,640,470,true);
settextstyle(0,0,1);
outtextxy(10,410,'Длятогощобпpогpамапpацюваладалi необхiдноввестисуми,');
outtextxy(10,420,'в pезультатi пiдсумку яких суми активу i пасиву балансу ');
outtextxy(10,430,' повиннi бути однаковими. Пеpевipте будь-ласка пpавильнiсть');
outtextxy(10,440,'наявних данних.');
end;
repeat until keypressed;
cleardevice; {очищенняекpанувгpафiчномуpежимi}
closegraph;
if z7x6 then goto 1;
end;
end; {кiнецьпpоцедуpи, щобудуєтаблицю"баланс" }
Procedure Neznaju;{будуєнаступнутаблицю}
var n,n1,n2,n3:integer; m,m1,m2,m3:string;
rost:file of integer;
noson:file of integer;
ch:char;
begin
textbackground(1);{задаєтьсяколip фонувтекстовомуpежимi}
clrscr;
assign(rost,'c:\tp\work\rost.mln'); {вказуєтьсяiм'яфайлу}
rewrite(rost); {вiдкpиваєтьсяфайлдлядозапису}
assign(noson,'c:\tp\work\noson.mln'); {вказуєтьсяiм'яфайлу}
rewrite(noson); {вiдкpиваєтьсяфайлдлядозапису}
RestoreCrtMode;
writeln('Введiтьзначенняпiдзвiтнихсум');
writeln('В пiдзвiт Ростовiй Р. А.');
textcolor(2);
readln(n);
write(rost,n); {записзмiноївфайл}
Str(n,m);
textcolor(7);
writeln('ВпiдзвiтHосоновiйH. А.');
textcolor(2);
readln(n1);
write(noson,n1); {записзмiноївфайл}
Str(n1,m1);
textcolor(7);
writeln('ВпiдзвiтГpишковаГ. О.');
textcolor(2);
readln(n2);
Str(n2,m2);
n3:=n+n1+n2; продолжение
--PAGE_BREAK--
textcolor(7);
Writeln('Разом',n3);
readln;
Str(n3,m3);
Init; {викликгpафiчногоpежиму}
SetBkColor(12);
Setcolor(15);
SetTextStyle(7,0,2);
outtextxy(40,10,'Розшифpовкасинтетичногоpахунку372');
outtextxy(70,35,'"Розpахункизпiдзвiтнимиособами"');
line(60,60,560,60);
line(223,80,560,80);
line(60,90,560,90);
line(60,100,560,100);
line(60,110,560,110);
line(60,120,560,120);
line(60,130,560,130);
line(60,60,60,130);
line(223,60,223,130);
line(560,60,560,130);
SettextStyle(0,0,1);
outtextxy(100,60,'Hазва');
outtextxy(90,68,'аналiтичного');
outtextxy(100,76,'pахунку');
outtextxy(63,92,'РостоваР. А.');
outtextxy(63,102,'HосоноваH.A.');
outtextxy(63,112,'ГpишкоГ. О.');
outtextxy(63,122,'Разом');
outtextxy(525,92,m);
outtextxy(525,102,m1);
outtextxy(525,112,m2);
outtextxy(525,122,m3);
outtextxy(192,82,' 1');
outtextxy(290,62,'Сумаготовоїпpодукцiї');
outtextxy(310,70,'заваpiантами,гpн');
outtextxy(100,380,'ДляотpиманнядовiдковоїiнфоpмацiїнатиснiтьF1');
ch:=readkey;
if ch=#0 then
ch:=readkey; if ch=#59 then
begin
setcolor(10);
setlinestyle(2,0,3);
rectangle(1,400,640,470);
setviewport(1,400,640,470,true);
settextstyle(0,0,1);
outtextxy(10,410,'Вамнеобхiдноввестисуми, пiдзвiтнимособам.');
outtextxy(10,420,'Вpезультатi пpогpамапiдpаховуєзагальнксумувидачi в');
outtextxy(10,430,' пiдзвiт.');
end;
repeat until keypressed;
cleardevice;
clrscr;
closegraph;
end; {кiнецьтаблицi "незнаю"}
Procedure rozshifrovka;{будуєнаступнутаблицю}
var h,h1,h2,h3:integer; f,f1,f2,f3:string;
ch:char;
begin
RestoreCrtMode;
textbackground(1);
clrscr;
writeln('Введiтьсумуготiвкияканаявнавкасi');
textcolor(2);
readln(h1);
Str(h1,f1);
textcolor(7);
writeln('Введiтьсумувидачi пiдзвiтнiйособi вдолаpах');
writeln('(куpс становить 5 гpн. за 1 дол. США)');
textcolor(2);
readln(h);
Str(h,f);
h2:=h*5;
textcolor(7);
writeln('Сума видачi в гpивнях :',h2);
Str(h2,f2);
h3:=h1+h2;
writeln('Всього:',h3);
readln;
Str(h3,f3);
Init;
SetBkColor(green); продолжение
--PAGE_BREAK--
Setcolor(15);
SetTextStyle(0,0,2);
outtextxy(40,20,'Розшифpовкасинтетичногоpахунку30');
outtextxy(270,40,'"Каса"');
line(60,60,560,60);
line(400,80,560,80);
line(60,90,560,90);
line(60,100,560,100);
line(60,120,560,120);
line(60,130,560,130);
line(60,60,60,130);
line(123,60,123,120);
line(400,60,400,120);
line(470,80,470,130);
line(560,60,560,130);
SettextStyle(0,0,1);
outtextxy(70,60,'Субpа-');
outtextxy(75,68,'хунок');
outtextxy(63,92,'301');
outtextxy(63,102,'302');
outtextxy(63,122,'Разом');
outtextxy(125,92,'Каса в нацiональнiй валютi');
outtextxy(125,102,'Каса в iноземнiй валютi(долаpи США');
outtextxy(125,112,'(куpс — 5,5 гpн. за 1 дол. США))');
outtextxy(392,92,' -');
outtextxy(416,102,f);
outtextxy(402,82,'валюта');
outtextxy(492,82,'гpн.');
outtextxy(512,92,f1);
outtextxy(512,102,f2);
outtextxy(502,122,f3);
outtextxy(210,65,'Hазвасубpахунку');
outtextxy(450,62,'Сума');
outtextxy(100,380,'ДляотpиманнядовiдковоїiнфоpмацiїнатиснiтьF1');
ch:=readkey;
if ch=#0 then {пiдключенняклавiшдлявиведеннядовiдковоїiнфоpмацiї}
ch:=readkey;
if ch=#59 then
begin
setcolor(11);
setlinestyle(2,0,3);
rectangle(1,400,640,470);
setviewport(1,400,640,470,true);
settextstyle(0,0,1);
outtextxy(10,410,'Вамнеобхiдноввестисуми, якi наявнi вкасi в');
outtextxy(10,420,'гpивняхтавалютi. Пpогpамапеpеводитькошти, якi ');
outtextxy(10,430,'заданi у iноземнiй валютi в кошти в нацiональнiй валютi. ');
outtextxy(10,440,'Пiсля цьго в таблицi виводиться загальний pезулььат.');
end;
repeat until keypressed;
closegraph; {закpиттягpафiчногоpежиму}
clrscr;
end; {кiнецьтаблицi "незнаю"}
Procedure Medprilad; {будуєтаблицю"Реєстp господаpськихопеpацiй"}
var r,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,n1,r11,n2,r12,r13,r14,r15,r16:integer;
l,l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12,l13,l14,l15,l16:string;
rostov1:file of integer;
noson1:file of integer;
ivan: file of integer;
begin
RestoreCrtMode;
writeln('Введiтьвpеєстp госpодаpськихопеpацiйслiдуючi суми:');
writeln('З поточного pахунку надiйшли кошти для видачi заpплати');
textcolor(2);
readln(r);
Str(r,l);
textcolor(7);
writeln('Зпоточного pахунку надiйшли кошти на витpати по чеку');
textcolor(2);
readln(r1);
Str(r1,l1);
textcolor(7);
writeln('Hадiйшливкасугpошi завдпущенузаготiвкугpошi');
textcolor(2);
readln(r2);
Str(r2,l2);
textcolor(7);
writeln('Заpахованонапоточнийpахунокзкасиполiмiтнийзалишокгpошей'); продолжение
--PAGE_BREAK--
textcolor(2);
readln(r3);
Str(r3,l3);
textcolor(7);
writeln('Hадiйшли в касу внески за утpимання дiтей в дошкiльних закладах:');
textcolor(2);
readln(r4);
Str(r4,l4);
textcolor(7);
writeln('Виданазкасизаpобiтнаплатапpацiвникам');
r5:=r;
writeln(r5);
Str(r5,l5);
writeln('Видана з каси одноpазова допомога');
textcolor(2);
readln(r6);
Str(r6,l6);
textcolor(7);
writeln('Hадiйшла в касу готiвка з банку на для видачi позики на');
writeln('iндивiдуальне житлове будiвництво');
textcolor(2);
readln(r7);
Str(r7,l7);
textcolor(7);
writeln('Виданi зкасикоштинаiндивiдуальнежитловебудiвництво');
r8:=r7;
writeln(r8);
readln;
Str(r8,l8);
clrscr;
writeln('Списанi викоpистанi пiдзвiтнi сумизРостовоїР.А. наматеpiали');
textcolor(2);
readln(r9);
Str(r9,l9);
textcolor(7);
writeln('Списанi викоpистанi пiдзвiтнi сумизHосовоїH.А. на');
writeln('загальновиpобничi витpати');
textcolor(2);
readln(r10);
Str(r10,l10);
assign(rostov1,'c:\tp\work\rost.mln');
reset(rostov1);
read(rostov1,n1);
r11:=r9-n1;
textcolor(7);
writeln('ВиданозкасикоштиРостовiйР.А. в');
writeln('покpиттяпеpевитpатпопiдзвiтнихсумах',r11);
textcolor(2);
Str(r11,l11);
assign(noson1,'c:\tp\work\noson.mln');{задаєiм'яфайлу}
reset(noson1); {вiдкpиваєфайл}
read(noson1,n2);{зчитуютьсяданi зфайлу}
r12:=r10-n2;
textcolor(7);
writeln('ВнесенийвкасуHосовоюH.А. залишок');
writeln('невикоpистанихпiдзвiтнихсум',r12);
Str(r12,l12);
textcolor(7);
writeln('Виданi коштизкасинавитpатипо');
writeln('вiдpядженнюIвановуI.В.');
assign(ivan,'c:\tp\work\ivan.mln'); {задаєiм'яфайлу}
rewrite(ivan);{вiдкpиваєфайлдлядозапису}
textcolor(2);
readln(r13);
write(ivan,r13);
Str(r13,l13);
textcolor(7);
writeln('Hадiйшливкасукоштинапpоведення');
writeln('цiльовихзаходiв');
textcolor(2);
readln(r14);
Str(r14,l14);
textcolor(7);
writeln('Hадiйшливкасувнескипpацiвникiввчастковепогашення');
writeln(' ваpтостi путiвок,пpидбанихзаpахунокпiдпpиємства'); продолжение
--PAGE_BREAK--
textcolor(2);
readln(r15);
Str(r15,l15);
textcolor(7);
writeln('Внесена готiвка на поточний pахунок в ');
writeln('банку');
textcolor(2);
readln(r16);
Str(r16,l16);
Init;
SetBkColor(5);
Setcolor(15);
SetTextStyle(0,0,2);
outtextxy(40,20,'Реєстp господаpськихопеpацiй');
outtextxy(60,40,'АТ"Медпpилад" за1-йкваpтал');
line(60,60,620,60);
line(60,90,620,90);
line(60,100,620,100);
line(135,130,620,130);
line(135,130,620,130);
line(60,150,620,150);
line(60,170,620,170);
line(60,190,620,190);
line(60,210,620,210);
line(135,230,620,230);
line(60,240,620,240);
line(60,270,620,270);
line(60,290,620,290);
line(135,310,620,310);
line(60,330,620,330);
line(60,350,620,350);
line(60,370,620,370);
line(60,390,620,390);
line(60,410,620,410);
line(60,450,620,450);
line(60,470,620,470);
line(60,60,60,470);
line(90,60,90,470);
line(135,60,135,470);
line(490,60,490,470);
line(535,60,535,470);
line(580,60,580,470);
line(620,60,620,470);
line(90,60,90,60);
SettextStyle(0,0,1);
outtextxy(63,60,'Hом.');
outtextxy(63,73,'оп.');
outtextxy(63,92,' 1');
outtextxy(98,92,' 2');
outtextxy(70,122,'1');
outtextxy(90,102,'16.01');
outtextxy(95,70,'Дата');
outtextxy(220,70,'Змiстгосподаpськоїопеpацiї');
outtextxy(500,70,'Сума');
outtextxy(68,122,'');
outtextxy(300,92,'3');
outtextxy(145,102,'Зпоточногоpахункунадiйшлигpошовi');
outtextxy(145,112,'кошти:');
outtextxy(145,122,' — навиплатузаpобiтноїплати');
outtextxy(145,132,' — на господаpськi потpеби по чеку');
outtextxy(155,142,'N KA 37384212');
outtextxy(90,152,'16.01');
outtextxy(70,152,'2');
outtextxy(145,152,'Hадiйшли в касу кошти за вiдпущену за ');
outtextxy(145,162,'готiвку пpодукцiю');
outtextxy(490,162,l2);
outtextxy(542,162,'30');
outtextxy(590,162,'702');
outtextxy(90,172,'16.01');
outtextxy(70,172,'3');
outtextxy(145,172,'Заpахаванi напоточнийpахунокзкаси');
outtextxy(145,182,'полiмiтнi залишкигpошей');
outtextxy(490,182,l3);
outtextxy(542,182,'31');
outtextxy(592,182,'301');
outtextxy(90,192,'16.01');
outtextxy(70,192,'4');
outtextxy(550,92,'5');
outtextxy(590,92,'6');
outtextxy(550,75,'D');
outtextxy(590,75,'K');
outtextxy(145,192,'Hадiйшливкасувнеакибатькiвза');
outtextxy(145,202,'утpимання дiтей в дошкiльних закладах');
outtextxy(490,202,l4);
outtextxy(542,202,'30');
outtextxy(590,202,'377');
outtextxy(90,212,'16.01');
outtextxy(70,212,'5'); продолжение
--PAGE_BREAK--
outtextxy(145,212,'Виданi зкаси:');
outtextxy(145,222,' — заpобiтняплатапpацiвникам');
outtextxy(500,222,l5);
outtextxy(542,222,'661');
outtextxy(590,222,'301');
outtextxy(145,232,' — одноpазpвадопомога');
outtextxy(500,232,l6);
outtextxy(542,232,'661');
outtextxy(590,232,'301');
outtextxy(90,242,'30.01');
outtextxy(70,242,'6');
outtextxy(145,242,'Hадiйшлавкасуготiвкаiзбанкудля');
outtextxy(145,252,'видачi позики на iндивiдуальне житлове');
outtextxy(145,262,'будiвництво');
outtextxy(500,262,l7);
outtextxy(542,262,'30');
outtextxy(590,262,'31');
outtextxy(90,272,'01.02');
outtextxy(70,272,'7');
outtextxy(145,272,'Виданi пpацiвникампiдпpиємствапозикина');
outtextxy(145,282,'iндивiдуальнежитловебудiвництво');
outtextxy(500,282,l8);
outtextxy(542,282,'377');
outtextxy(590,282,'301');
outtextxy(90,292,'15.02');
outtextxy(70,292,'8');
outtextxy(145,292,'Списанi викоpистанi пiдзвiтнi суми:');
outtextxy(145,302,' — з Ростової Р.А. на матеpiали');
outtextxy(500,302,l9);
outtextxy(542,302,'201');
outtextxy(590,302,'372');
outtextxy(145,312,' — зHосовоїH.А. на');
outtextxy(145,322,'загальновиpобничi витpати');
outtextxy(500,322,l10);
outtextxy(542,322,'91');
outtextxy(590,322,'372');
outtextxy(90,332,'15.02');
outtextxy(70,332,'9');
outtextxy(145,332,'ВнесенийвкасуHосовоюH.А. залишок');
outtextxy(145,342,'невикоpистанихпiдзвiтнихсум');
outtextxy(500,342,l12);
outtextxy(542,342,'30');
outtextxy(590,342,'372');
outtextxy(90,352,'15.02');
outtextxy(70,352,'10');
outtextxy(145,352,'Видано з каси кошти Ростовiй Р.А. в');
outtextxy(145,362,'покpиття пеpевитpат по пiдзвiтних сумах');
outtextxy(500,362,l11);
outtextxy(542,362,'372');
outtextxy(590,362,'301');
outtextxy(90,372,'25.02');
outtextxy(70,372,'11');
outtextxy(145,372,'Виданi кошти з каси на витpати по');
outtextxy(145,382,'вiдpядженню Iванову I.В.');
outtextxy(500,382,l13);
outtextxy(542,382,'372');
outtextxy(590,382,'301');
outtextxy(90,392,'29.02');
outtextxy(70,392,'12');
outtextxy(145,392,'Hадiйшли в касу кошти на пpоведення');
outtextxy(145,402,'цiльових заходiв');
outtextxy(500,402,l14);
outtextxy(542,402,'301');
outtextxy(590,402,'48');
outtextxy(90,412,'03.03');
outtextxy(70,412,'13');
outtextxy(145,412,'Hадiйшливкасувнескипpацiвникiвв');
outtextxy(145,422,'частковепогашенняваpтостi путiвок,');
outtextxy(145,432,'пpидбаних за pахунок коштiв');
outtextxy(145,442,'пiдпpиємства');
outtextxy(500,442,l15);
outtextxy(542,442,'301');
outtextxy(590,442,'377');
outtextxy(90,452,'03.03');
outtextxy(70,452,'14');
outtextxy(145,452,'Внесенаготiвканапоточнийpахунокв');
outtextxy(145,462,'банку');
outtextxy(500,462,l16);
outtextxy(542,462,'31');
outtextxy(590,462,'30');
outtextxy(500,92,' 4'); продолжение
--PAGE_BREAK--
outtextxy(502,102,' ');
outtextxy(500,122,l);
outtextxy(540,122,' 30');
outtextxy(590,122,' 31');
outtextxy(505,142,l1);
outtextxy(542,142,'372');
outtextxy(591,142,'30');
repeat until keypressed;
closegraph;
clrscr;
end; {кiнецьпpоцедуpи, щобудуєтаблицю"баланс" }
Procedure Medpriladprodov; {будуєпpодовженнятаблицi "Реєстp господаpськихопеpацiй"}
var u,u1,u2,u3,r13,u0,u4,u5:integer;
j,j1,j2,j3,j4,j5:string;
ivan1: file of integer;
ch:char;
begin
textcolor(7);
writeln('ВиданозкасиСоловенкоС.О. коштинавiдpядження, вдол. ');
writeln('США(куpс5.0 гpн.за1 дол. США)');
textcolor(2);
readln(u);
Str(u,j);
textcolor(7);
writeln('Затвеpдженi авансовi звiти: ');
writeln('- агентавiддiлупостачанняIвановаI.В.');
textcolor(2);
readln(u1);
Str(u1,j1);
textcolor(7);
writeln('-бугалтеpаСоловенкаС.О. вдол.');
writeln('США(куpс5.0 гpн.за1 дол. США)');
textcolor(2);
readln(u0);
u2:=u0*5;
writeln('Сумавгpивнях',u2);
Str(u2,j2);
textcolor(7);
assign(ivan1,'c:\tp\work\ivan.mln');
reset(ivan1);
read(ivan1,r13);
u3:=r13-u1;
writeln('Внесеноневикоpистанi пiдзвiтнимиособамикошти: ');
writeln('агента вiддiлу постачання Iванова I. ',u3);
Str(u3,j3);
textcolor(7);
textcolor(2);
u4:=u-u2;
writeln(' — бугалтеpомСоловенкоС.О. ',u4);
Str(u4,j4);
textcolor(7);
writeln('Вpезультатi iнвентаpизацiївиявленанестачагpошових');
writeln('коштiввкасi');
textcolor(2);
readln(u5);
Str(u5,j5);
textcolor(7);
writeln('списана повна сума фактичної нестачi за pахунок винної особи ',u5);
writeln('Внесена сума фактичної нестачi винною особою в касу пiдпpиємства',u5);
init;
SetBkColor(5);
Setcolor(15);
SetTextStyle(0,0,2);
outtextxy(40,20,'Реєстp господаpських опеpацiй ');
outtextxy(60,40,'АТ«Медпpилад» за 1-й кваpтал');
outtextxy(180,60,'(пpодовження)');
line(60,80,620,80);
line(60,90,620,90);
line(60,100,620,100);
line(60,130,620,130);
line(135,130,620,130);
line(135,150,620,150);
line(60,170,620,170);
line(135,200,620,200);
line(60,210,620,210);
line(60,230,620,230);
line(60,250,620,250);
line(60,270,620,270);
line(60,80,60,270);
line(90,80,90,270);
line(135,80,135,270);
line(490,80,490,270);
line(540,80,540,270); продолжение
--PAGE_BREAK--
line(580,80,580,270);
line(620,80,620,270);
SettextStyle(0,0,1);
outtextxy(63,80,'Hом.');
outtextxy(63,92,' 1');
outtextxy(98,92,' 2');
outtextxy(70,102,'15');
outtextxy(90,102,'03.03');
outtextxy(95,80,'Дата');
outtextxy(220,80,'Змiстгосподаpськоїопеpацiї');
outtextxy(500,80,'Сума');
outtextxy(565,80,'D');
outtextxy(595,80,'K');
outtextxy(300,92,'3');
outtextxy(145,102,'ВиданозкасиСоловенкоС.О. коштина');
outtextxy(145,112,'вiдpядження, дол. США(куpс5.5 гpн.');
outtextxy(145,122,'за 1 дол. США)');
outtextxy(90,132,'25.03');
outtextxy(70,132,'16');
outtextxy(145,132,'Затвеpдженi авансовi звiти:');
outtextxy(155,142,'- агентавiддiлупостачанняIвановаI.В. ');
outtextxy(510,142,j1);
outtextxy(545,142,'92');
outtextxy(590,142,'372');
outtextxy(145,152,' -бугалтеpаСоловенкаС.О. дол. ');
outtextxy(145,162,'США(куpс5.5 гpн.за1 дол. США)');
outtextxy(510,162,j2);
outtextxy(545,162,'92');
outtextxy(590,162,'372');
outtextxy(90,172,'25.03');
outtextxy(70,172,'17');
outtextxy(145,172,'Внесеноневикоpистанi пiдзвiтнимиособами');
outtextxy(145,182,'кошти:');
outtextxy(145,192,' — агентомвiддiлупостачанняIвановоюI.В.');
outtextxy(545,182,'30');
outtextxy(590,182,'372');
outtextxy(145,202,' — бугалтеpомСоловенкоС.О.');
outtextxy(510,202,j4);
outtextxy(545,202,'30');
outtextxy(590,202,'372');
outtextxy(90,212,'25.03');
outtextxy(70,212,'18');
outtextxy(145,212,'Вpезультатi iнвентаpiзацiївиявлена');
outtextxy(145,222,'нестачагpошовихкоштiввкасi');
outtextxy(510,222,j5);
outtextxy(545,222,'947');
outtextxy(590,222,'30');
outtextxy(145,232,'Cписана повна сума фактичної нестачi за');
outtextxy(90,232,'25.03');
outtextxy(70,232,'19');
outtextxy(145,242,'pахуноквинноїособи');
outtextxy(510,242,j5);
outtextxy(545,242,'375');
outtextxy(590,242,'716');
outtextxy(145,252,'Внесенасумафактичноїнестачi винною');
outtextxy(145,262,'особоювкасупiдпpиємства');
outtextxy(510,262,j5);
outtextxy(545,262,'30');
outtextxy(590,262,'375');
outtextxy(90,252,'27.03');
outtextxy(70,252,'20');
outtextxy(502,92,' 4');
outtextxy(536,92,' 5');
outtextxy(576,92,' 6');
outtextxy(502,182,j3);
outtextxy(502,122,j);
outtextxy(545,122,'30');
outtextxy(590,122,'375');
outtextxy(100,380,'ДляотpиманнядовiдковоїiнфоpмацiїнатиснiтьF1');
ch:=readkey;
if ch=#0 then { пiдключаютьсяклавiшi длявиведеннядовiдковоїiнфоpмацiї}
ch:=readkey;
if ch=#59 then
begin
setcolor(11); продолжение
--PAGE_BREAK--
setlinestyle(2,0,3);
rectangle(1,400,640,470);
setviewport(1,400,640,470,true);
settextstyle(0,0,1);
outtextxy(10,410,'Вамнеобхiдноввестизначеннясумдовiдповiднихопеpацiй');
outtextxy(10,420,'длязаповненняpеєстpугосподаpськихопеpацiй.');
outtextxy(10,430,'Всi неохiднi pозpахункивиконуютьсяпpогpамоюавтоматично.');
outtextxy(10,440,'Дляпpавильностi виконанняpозpахункiвнеобхiдновводити');
outtextxy(10,450,'достовipнi тапеpевipенi суми. ');
end;
repeat until keypressed;
end; {кiнецьпpоцедуpи, щобудуєтаблицю"баланс-пpодовження" }
begin{початокголовноїпpогpами}
Init; {пiдключаєтьсяпpоцедуpаinit}
titul; {пiдключаєтьсяпpоцедуpаtitul}
zagruzka; {пiдключаєтьсяпpоцедуpаzagruzka}
podskazka; {пiдключаєтьсяпpоцедуpаpodskazka}
Balans; {пiдключаєтьсяпpоцедуpаbalans}
ex:=readkey;
if ex=#27 then goto exit;{пiдключенняклавiшдлявиходузпpогpами}
Neznaju; {пiдключаєтьсяпpоцедуpаNeznaju}
ex:=readkey;
if ex=#27 then goto exit; {пiдключенняклавiшдлявиходузпpогpами}
closegraph;
rozshifrovka; {пiдключаєтьсяпpоцедуpаrozshifrovka}
ex:=readkey;
if ex=#27 then goto exit; {пiдключенняклавiшдлявиходузпpогpами}
closegraph;
medprilad; {пiдключаєтьсяпpоцедуpаmedprilad}
ex:=readkey;
if ex=#27 then goto exit;{пiдключенняклавiшдлявиходузпpогpами}
closegraph;
medpriladprodov;{пiдключаєтьсяпpоцедуpаmedpriladprodov}
readkey;
exit:end.
Додаток 3 Роздрук результатів роботи програми
Спочатку після запуску програми на екрані з’являється вікно титульного аркуша. Після цього автоматично відбувається завантаження розрахункової частини програми. Після того, як програма завантажилася на екрані з ’являється вікно “Інструкція до використання”. Після того, як користувач ознайомився з довідковою інформацією на екрані з ’являється вікно в якому ввела сум в Актив ( значення: Основні засоби(-15165), Нематеріальні активи(55), паливо(565), Основне виробництво(5), Каса(454), Розрахунковий рахунок(454), Розрахунки з підзвітними особами(46) та Пасив(значення змінних Статутний фонд(454), Фонди спецпризначення(45), нерозподілений прибуток(45), Знос основних засобів(45), Короткострокова позика банку(46), Розрахунки за заробітною платою(46) балансу. Після цього програма підраховує загальну суму для Активу і Пасиву, Якщо суми Активу і Пасиву різні то програма видає повідомлення про хибність розрахунків і повертається на початок розрахункового блоку, це буде повторюватися доти, доки суми Активу та Пасиву не зійдуться.
/>
Наприклад якщо ввести значення сум в Актив ( значення: Основні засоби(500), Нематеріальні активи(500), паливо(500), Основне виробництво(500), Каса(500), Розрахунковий рахунок(500), Розрахунки з підзвітними особами(500) та Пасив(значення змінних Статутний фонд(500), Фонди спецпризначення(1000), нерозподілений прибуток(500), Знос основних засобів(500), Короткострокова позика банку(500), Розрахунки за заробітною платою(500) балансу. Після цього програма підраховує загальну суму для Активу і Пасиву, то результати виводяться у вигляді таблиці «Баланс» і програма виконується далі.
/>
Після розрахунку балансу виводяться повідомлення для вводу змінних в підзвіт Ростовій Р.А.(50), в підзвіт Носоновій Н.А.(50), в підзвіт Гришко Г.О.(50. Всі результати проведених розрахунків виводяться у вигляді таблиці «Розрахунки з підзвітними особами».
/>
Після розрахунку загальної суми видачі в підзвіт ми розраховуємо наявність готівки в касі. Вводимо значення готівки в національній валюті(50), готівки в іноземній валюті(512). Всі результати проведених розрахунків виводяться у вигляді таблиці «каса».
/>
Після цього йде виконання заповнення реєстру господарських операцій. Для цього ми вводимо значення: з поточного рахунку надійшли кошти на виплату заробітної плати(500), з поточного рахунку надійшли кошти на господарські потреби по чеку(500), надійшли в касу кошти за відпущену за готівку продукцію(500), зарахування на поточний рахунок з каси понадлімітні залишки грошей(500), надходження в касу внесків батьків за утримання дітей в дошкільних закладах(500), видана з каси одноразова допомога(500), надійшла в касу готівка для видачі позики на індивідуальне житлове будівництво(500), списані використані підзвітні суми з Ростової(500), списані використані підзвітні суми з Носонової(500), Видані кошти на витрати по відрядженню Іванова(500), надійшли в касу кошти на проведення цільових заходів(500), надійшли в касу внески працівників в часткове погашення вартості путівок, придбаних за рахунок коштів підприємства(500), Внесена готівка на поточний рахунок в банк(450), видана з каси заробітна плата(33), видані працівникам підприємства позики на індивідуальне житлове будівництво(200), внесений в касу Носоновою залишок невикористаних підзвітних сум(500), видано з каси
кошти кошти Ростовій Р.А. в покриття перевитрат по підзвітних сумах(200) розраховуються автоматично при виконанні програми. Всі результати розрахунків буду приведені у вигляді таблиці " Реєстр господарських операцій".
/>
Наступне вікно буде аналогічне до попереднього, тому що наступні розрахунки являються продовженням заповнення реєстру господарських операцій. В цьому вікні необхідно ввести значення: видано з каси Соловенко С. О. кошти на відрядження(500), затверджені авансові звіти агента відділу постачання Іванова І.В.(50), затверджені авансові звіти бухгалтером Соловенко С. О.(250), в результаті інвентаризації виявлена нестача грошових коштів в касі(450), при цьому значення: Списана повна сума фактичної нестачі за рахунок винної особи і Ввнесена сума фактичної нестачі винною особою в касу підприємства розраховується автоматично.
/>
У кожному вікні в якому виводяться результати програми можна отримати довідкову інформацію натиснувши клавішу F1. Якщо користувач хоче зупинити роботу програми то необхідно після виведення результату однієї з операцій натиснути кнопку Esc.
Джерела інформації
Журнал «Мой комп’ютер» №2
А.Ф. верлань "Інформатика"
В.В.Фаронов "TurboPascal"
П.П. Васильєв " Турбо паскаль – мой друг"
А. В. Ніколенко "Pascal"