Реализация игровой модели "Кости"
Входные и выходные данные программы. Выбор языка программирования. Рабочая среда Delphi 7. Правила игры "Кости". Разработка пользовательского интерфейса. Экономическое обоснование программного продукта. Расчет расходов на содержание и эксплуатацию.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.02.2016 |
Размер файла | 960,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ТЕМА ДИПЛОМНОГО ПРОЕКТА
Реализация игровой модели «Кости»
ВВЕДЕНИЕ
Упоминание об игре встречается в индийских Ведах, в Библии, сочинениях древних философов (Платона, Аристотеля). Интересно взглянуть на корни слова «игра» в древних языках. У греков им назывались действия, свойственные детям (т.е. то, что называется «предаваться ребячеству»). У римлян смысл слова происходил от понятий радости, веселья, у евреев - от шутки, смеха. И санскрит обозначал игру как радость. А у древних германцев она связывалась с легким, плавным движением наподобие качания маятника, доставляющим удовольствие. В XIX веке начала складываться теория игр. Первым ученым, занявшимся этим, был итальянец Д.Колонца, но честью первооткрывателя науки в этой области история удостоила не его, а немецкого исследователя К.Гросса. Опираясь на достижения упомянутого Д.Колонцы и Г.Спенсера, он создал теорию предупражнений. Название говорит само за себя: игра рассматривается здесь как тренировка практических умений. Гросс считал: «Если развитие приспособлений для дальнейших жизненных задач составляет главную цель нашего детства, то выдающееся место в этой целесообразной связи явлений принадлежит игре, так что мы вполне можем сказать, употребляя несколько парадоксальную форму, что мы играем не потому, что мы бываем детьми, но нам именно для того и дано детство, чтобы мы могли играть». З.Фрейд, которому принадлежит объяснение игры через удовольствие-наслаждение, не стал классиком в разработке теории игр. А вот венский ученый К.Бюлер был удостоен этого титула, введя понятие функционального удовольствия. Казалось бы, близкие подходы, ан нет. К.Бюлер упрекал З.Фрейда за то, что он не связывает это самое удовольствие-наслаждение с результатом («Всякая деятельность сама по себе приносит удовольствие, независимо от ее результата») и утверждал: «Функциональное удовольствие связано не с повторением как таковым, а с прогрессирующим в каждом повторении формированием и усовершенствованием движения».
Т.е. имеется в виду удовольствие от деятельности, направленной на усовершенствование.
Еще дальше пошел Ф.Бойтендайк (1933).
Воспользовавшись психоанализом все того же З.Фрейда, он отделил упражнение от игры (когда ребенок учится ходить - это совсем не то, когда ребенок играет в ходьбу). По его концепции игра есть выражение жизни влечений в специфических условиях, поскольку: 1. Игра - это всегда игра с чем-нибудь. 2. В основе игры лежат не отдельные инстинкты, а более общие влечения: - к освобождению (снятие исходящих от среды препятствий, сковывающих свободу); - к слиянию, общности с окружающим; - к повторению. В ряду имен, причастных к разработке общей теории игр, никак нельзя обойти швейцарца Ж. Пиаже, который рассматривал игру как естественную по своей природе, присущую ребенку активность, в рамках которой он познает мир. Он считал, что развитие игры происходит спонтанно, в соответствии с интеллектуальным созреванием, по мере которого содержание ее все более приближается к адекватному отражению реальности. Именно благодаря достижениям Жана Пиаже в мире усилился интерес к использованию игр в психологической и психотерапевтической практике. Что же до Э.Бёрна, то его «Игры, в которые играют люди» - совсем иной психологический сюжет. А что же наши отечественные умы? Как они относились к игре? Г.В.Плеханов как истый материалист указал на возникновение ее из труда. В советской психологии базовой позицией было, понятное дело, признание социальной природы игр (Е.Аркин, Л.Выготский, А.Леонтьев). Д.Эльконин, наш теоретик-классик в области психологии игры, определил ее как деятельность, в которой складывается и совершенствуется управление поведением. В этой связи он обращал внимание на роль игры в развитии мотивации, умственных действий, преодоления «познавательного эгоцентризма» и т.д. Игра продолжает привлекать внимание ученых, как в теоретической, так и в прикладной сфере. Ее проблематику изучают современные историки культуры, психологи, социологи, этнографы, педагоги, искусствоведы, экономисты, математики... Но вот что забавно: в словарях наших это понятие трактуется так по-разному! К примеру, в Словаре русского языка прочтем, что «игра - тот или иной способ, каким развлекаются, как комплект предметов для игры». В Педагогической энциклопедии она определяется как «вид деятельности детей, заключающийся в воспроизведении действий взрослых и отношений между ними и направленный на ориентировку и познание предметной и социальной действительности». В Педагогическом словаре слово «игра» отсутствует (есть только «игры детские»), а в Психологическом значится: «Игра - форма деятельности в условных ситуациях, направленная на воссоздание и усвоение общественного опыта, фиксированного в социально закрепленных способах осуществления предметных действий».
Раздел 1.Специальная часть
1.1 Постановка задачи
Разработать программу, моделирующую игру "Кости". Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 ("бросает кубик", на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока.
Данная программа позволяет немного отвлечься от повседневных дел, а также является хорошой разминкой после тяжелой работы. Мне нравится эта программа тем, что я её сделала сама а также тем, что у неё более низкая цена.
1.2 Модель задачи
На практике часто приходится сталкиваться с задачами, в которых необходимо принимать решения в условиях неопределенности, т. е. возникают ситуации, в которых две стороны преследуют различные цели и результаты действия каждой из сторон зависят от мероприятий противника (или партнера).
Ситуация, в которой эффективность принимаемого одной стороной решения зависит от действий другой стороны, называется конфликтной. Конфликт всегда связан с определенного рода разногласиями (это не обязательно антагонистическое противоречие).
Конфликтная ситуация называется антагонистической, если увеличение выигрыша одной из сторон на некоторую величину приводит к уменьшению выигрыша другой стороны на такую же величину, и наоборот.
В экономике конфликтные ситуации встречаются очень часто и имеют многообразный характер. Например, взаимоотношения между поставщиком и потребителем, покупателем и продавцом, банком и клиентом. Каждый из них имеет свои интересы и стремится принимать оптимальные решения, помогающие достигнуть поставленных целей в наибольшей степени. При этом каждому приходится считаться не только со своими целями, но и с целями партнера и учитывать решения, которые эти партнеры будут принимать (они заранее могут быть неизвестны). Чтобы в конфликтных ситуациях принимать оптимальные решения, создана математическая теория конфликтных ситуаций, которая называется теорией игр. Возникновение этой теории относится к 1944 г., когда была издана монография Дж. фон Неймана «Теория игр и экономическое поведение».
Игра - это математическая модель реальной конфликтной ситуации. Стороны, участвующие в конфликте, называются игроками. Исход конфликта называется выигрышем. Правила игры - это система условий, определяющая варианты действий игроков; объем информации каждого игрока о поведении партнеров; выигрыш, к которому приводит каждая совокупность действий.
Игра называется парной, если в ней участвуют два игрока, и множественной, если число игроков больше двух. Мы будем рассматривать только парные игры. Игроки обозначаются A и B.
Игра называется антагонистической (с нулевой суммой), если выигрыш одного из игроков равен проигрышу другого.
Выбор и осуществление одного из вариантов действий, предусмотренных правилами, называется ходом игрока. Ходы могут быть личными и случайными.
Личный ход - это сознательный выбор игроком одного из вариантов действий (например, в шахматах).
Случайный ход - это случайно выбранное действие (например, бросание игральной кости). Мы будем рассматривать только личные ходы.
Стратегия игрока - это совокупность правил, определяющих поведение игрока при каждом личном ходе. Обычно в процессе игры на каждом этапе игрок выбирает ход в зависимости от конкретной ситуации. Возможно также, что все решения приняты игроком заранее (т. е. игрок выбрал определенную стратегию).
Игра называется конечной, если у каждого игрока имеется конечное число стратегий, и бесконечной - в противном случае.
Цель теории игр - разработать методы для определения оптимальной стратегии каждого игрока.
Стратегия игрока называется оптимальной, если она обеспечивает этому игроку при многократном повторении игры максимально возможный средний выигрыш (или минимально возможный средний проигрыш независимо от поведения противника).
Пример 1. Каждый из игроков, A или B , может записать, независимо от другого, цифры 1, 2 и 3. Если разность между цифрами, записанными игроками, положительна, то A выигрывает количество очков, равное разности между цифрами. Если разность меньше 0, выигрывает B. Если разность равна 0 - ничья.
У игрока A три стратегии (варианта действия): A1= 1 (записать 1), A2= 2, A3= 3, у игрока тоже три стратегии: B1, B2, B3.
B A |
B1= 1 |
B2= 2 |
B3= 3 |
|
A1 = 1 |
0 |
-1 |
-2 |
|
A2= 2 |
1 |
0 |
-1 |
|
A3= 3 |
2 |
1 |
0 |
Задача игрока A - максимизировать свой выигрыш. Задача игрока B - минимизировать свой проигрыш, т. е. минимизировать выигрыш A. Это парная игра с нулевой суммой.
Для реализации игры необходимо разработать алгоритм работы программы. В данной работе алгоритм заключается в организации пользовательского интерфейса, позволяющего вводить ставку и число на которое ставится. Затем пользователь нажимает кнопку "Бросить". Здесь необходимо имитировать вращение кубиков с их последующей остановкой. После чего необходимо подсчитать количество очков.
Для вывода граней кубиков их сначала необходимо нарисовать в графическом редакторе. На рисунке 1 представлены нарисованные грани.
Рисунок 1 - грани кубиков
Следует обратить внимание на то что объемность граней достигается двумя путями:
1) нарисованные изображения имеют сложную цветовую насыщенность, за счет чего создается впечатление объемности;
2) углы каждой грани закрашены цветом (черным), который в программе будет интерпретироваться как прозрачный.
Организация входных и выходных данных.
Входных данных у программы нет.
Выходными данными является совокупность отображаемой информации на экране персонального компьютера.
Для разработки приложения игры “Кости” используется среда визуального программирования “Delphi. Проект программы содержит три окна:
1. Form1 -- главное окно программы.
2. FrmRules-- окно, содержащее правила игры.
3. AboutBox-- окно, содержащее информацию о программе.
Окно Form1.
Для организации меню используется компонент tMainMenu. Текущий счет игры выводится в компонент tLabel. На панели (tPanel) находятся два поля ввода tSpinEdit, позволяющие вводить целые числа в нужном диапазоне. Кнопка "Бросить" (tBitBtn) запускает процесс игровой сессии.
Компонент tImageList представляет собой хранилище графических изображений одного размера. Кроме того, данный компонент инкапсулирует в себе набор методов по обработке графической информации. Например, в нем можно указать цвет, который будет считаться прозрачным при отображении. В программе кроме сервисных функций только одна процедура. Она вызывается по нажатию кнопки "Бросить"
В начале процедуры проверяется допустимость введенных значений ставки и числа на которое пользователь поставил. Если хотя бы одно из чисел имеет недопустимое значение, то пользователю выдается соответствующее сообщение и процедура заканчивает свою работу.
Далее происходит цикл вращения кубиков. В этом цикле случайным образом выбираются два числа в диапазоне от 0 до 5, соответствующих индексам картинок граней. Затем вызывается процедура перерисовки экрана, в которой на форму выводится соответствующие грани. После окончания цикла вращения происходит суммирование очков на обоих кубиках. После чего это число сравнивается со ставкой пользователя. В конце процедуры в зависимости от того выиграл он или нет изменяется суммарный счет и выводится сообщение о результатах текущего броска
программа delphi пользовательский игра
1.3 Выбор языка программирования
Вначале никаких языков программирования не было - для первых ЭВМ программы писались на "чистом" машинном языке. Это было весьма трудным и кропотливым занятием. Затем кому-то пришло в голову, что проще создать программу, которая сама будет переводить исходный код, написанный по определенным правилам, в машинный язык. Так появился первый компилятор - Ассемблер. Компилятор - программа, которая переводит исходный программный код в машинный язык, и создает полноценный исполняемый программный файл. Такие файлы могут иметь расширение *.com и *.exe. Расширения *.com изредка еще встречаются в старых программах, которые создавались под операционную систему MS-DOS. Все современные программы, созданные для Windows, имеют расширение *.exe.
Также существуют интерпретаторы - программы, которые не создают исполняемый программный файл. Интерпретаторы представляют собой оболочку, в которую нужно загрузить файл с исходным текстом программы, затем интерпретаторы построчно переводят код в машинный язык, и выполняют его. Наиболее известным интерпретатором является классический Бэйсик ( Basic ). Неудобство использования интерпретаторов и программного обеспечения, созданного на них, не позволяют использовать их широко. Для распространения программ, созданных на интерпретаторе, необходимо на компьютер пользователя установить не только написанную программу, но и сам интерпретатор. А пользователю придется научиться пользоваться этим интерпретатором (загружать в него программу, давать команду на выполнение), а также научиться пользоваться самой программой. Однако в некоторых случаях интерпретаторы бывают весьма полезны, например, интерпретаторы PHP и Perl, используемые в Web-программировании, выполняются на стороне сервера, и не доставляют пользователю проблем.
Ассемблер наиболее приближен к машинному языку, поэтому его называют языком низкого уровня. Писать программы на Ассемблере было проще, чем на "чистом машинном" языке, в результате программы создавались быстрей. Рынок программного обеспечения имеет одно важное свойство - лидирует та программа, которая появилась на рынке раньше. Создавать программы на Ассемблере стало не только проще, но и выгодней.
Создание Ассемблера способствовало бурному развитию языков программирования. Появилось множество языков высокого уровня - C, C++, Pascal и многие другие. Правила создания кода на языках высокого уровня более приближены к человеческим языкам, поэтому программы на таких языках создавались еще проще и быстрей. Языки программирования стали совершенствоваться не по дням, а по часам. Первые языки высокого уровня были процедурными - в них логика программы строилась на использовании функций и процедур, которые можно вызвать из любого места программы.
Затем появились объектные языки программирования. В них логика программы строилась на объектах, каждый из которых имел собственные свойства, методы и события, которые могли быть унаследованы потомками этого объекта. Другими словами, создание программ многократно облегчалось - вместо того, чтобы написать десяток страниц кода, достаточно было просто объявить такой-то объект. Такие языки стали называть объектно-ориентированными (ООП - Объектно-Ориентированное Программирование).
Последним звеном эволюции языков программирования стали визуальные среды разработки программ. Вы просто выбираете объект - компонент, перетаскиваете его на форму, и уже в процессе разработки программы видите то, что должно получиться в результате. Примерно также при редактировании текста в редакторе MS Word вы сразу видите то, что должно получиться при печати этого текста на лист бумаги. Среда разработки программ взяла на себя почти всю "черную" работу по созданию кода. Программирование перестало быть нудным и трудоемким, и превратилось в творческий процесс.
Конечно, за все в мире приходится платить. За удобство создания программ мы расплачиваемся увеличением размера исполняемого программного файла, которое особенно заметно при создании небольших программ, и практически незаметно при создании сложных программных комплексов. Современные персональные компьютеры имеют быстрый процессор, память и жесткие диски больших размеров, так что на это неудобство можно уже не обращать внимания. Разумеется, бывают исключения - если при создании программного кода критическими являются размер исполняемого файла и скорость его исполнения, то лучше использовать Assembler или C. Такая необходимость возникает при написании операционных систем и драйверов. На современном рынке программного обеспечения, однако, более востребовано прикладное программирование. Утилиты, программы общего назначения, программы для работы с базами данных. И здесь Delphi является бесспорным лидером среди визуальных сред разработки программ.
История Delphi начинается с 60-х годов, когда профессор Н.Вирт разработал язык высокого уровня Pascal. Это был лучший язык для изучения программирования, и для создания программ для операционной системы MS-DOS. Затем, в 1983 году, А. Хейлсберг совместно с другими программистами, которые только что организовали компанию Borland, разработал компилятор Turbo Pascal, который стал следующим шагом в эволюции Delphi. Затем появился Object Pascal, который уже использовал Объектно-Ориентированный подход к программированию. Когда появилась первая версия Windows - Windows 3.10, Программисты Borland создали Delphi 1. Это уже была объектно-ориентированная среда для визуальной разработки программ, основанная на языке Object Pascal.
С появлением Windows 95 появилась Delphi 2, затем Delphi 3, 4, 5. Язык программирования Object Pascal, который являлся стержнем Delphi, претерпел такие существенные изменения, что с появлением Delphi 6 компания Borland, которая уже превратилась в корпорацию, официально объявила о переименовании Object Pascal в Delphi. Поэтому правы те, кто говорит, что Delphi - это визуальная среда разработки программ. Но также правы и те, кто утверждает, что Delphi - это один из лучших языков программирования.
На нашем курсе мы будем изучать Delphi 7, наиболее стабильную версию языка программирования для Win32 - то есть 32-разрядных версий Windows. Появились и новые версии Delphi, но они ориентированны на технологию .NET, за которую начинающим программистам браться рановато. Тем более, что эта технология еще не применяется широко, и рынок программного обеспечения, созданного с помощью Delphi, все равно составляют программные продукты, написанные на Delphi 7, и даже более ранних версий.
Основу Delphi составляет не только сам язык, но и RAD (Rapid Application Development) - среда быстрой разработки программ. Благодаря визуальному программированию, а также достаточно большой библиотеке визуальных компонентов, Delphi позволяет создавать программы наиболее быстро и эффективно, принимая на себя основную работу, и оставляя программисту творческий процесс. Разумеется, возможность быстрого создания профессиональных приложений для Windows делает Delphi - программистов востребованными во всех отраслях человеческой деятельности. При загрузке Delphi 7 вы видите такую картину:
Рис. 1.1 Рабочая среда Delphi 7
Познакомьтесь - это Delphi. У нее есть много окон, панелей, компонентов. С большинством из них мы познакомимся со временем, а пока нам нужно обратить внимание на 5 окон:
1. Главное окно Delphi. Здесь находится основное меню, различные панели инструментов и палитра компонентов, состоящая из множества вкладок.
2. Конструктор формы. Здесь мы визуально видим, как будет выглядеть форма программы, здесь мы будем создавать интерфейс, перенося на форму различные компоненты, и расставляя их таким образом, чтобы интерфейс выглядел привлекательным. Нам часто придется переключаться между конструктором форм и редактором кода, делается это клавишей F12.
3. Редактор кода. Здесь мы видим исходный код программы, который создан самой Delphi. Тут же мы будем вводить наш собственный код.
4. Объектный инспектор. Он предназначен для управления объектами проекта и состоит из двух вкладок - Properties (Свойства) и Events (События).
5. Дерево объектов. Здесь мы видим, какой именно объект в данный момент является текущим. Это окно будет особенно полезно, когда на форме появится множество компонентов.
Когда открывается Delphi, она автоматически создает и отображает новый проект (программу). На рисунке вы видите проект, который содержит только одну стандартную форму. Форма - это тоже объект, который представляет собой окно программы. Чтобы программа делала что-то полезное, нам придется вносить изменения в нее. Выведем текст "Hello, world!" первым способом. Для этого в инспекторе объектов найдите свойство Caption. В данный момент текущим является объект - форма, и свойство Caption формы отвечает за надпись на системной строке программы (синяя полоса вверху любого программного окна). По умолчанию, свойство Caption содержит надпись "Form1", также называется и сама форма. Измените эту надпись на "Hello, world!" (конечно, без кавычек). Уже в процессе ввода текста вы видите, что надпись в системной строке принимает новый вид. Мы ввели этот текст одним способом.
Теперь нам нужно сохранить проект. Проект - совокупность файлов разных форматов, из которых создается программа. Об этом мы подробней поговорим в одной из следующих лекций, а пока запомните правило - каждую программу (проект), которую вы создаете, нужно сохранять в отдельной папке. Если вы все проекты станете сохранять в одну папку, то очень скоро запутаетесь. Чтобы сохранить проект, выполним следующие действия:
1. Выбираем команду меню "File - Save All" (сохранить все), либо нажимаем горячие клавиши <Shift+Ctrl+S>, либо нажимаем одноименную кнопку на панели инструментов
Рис. 1.2 Кнопки Save (Сохранить) и Save All (Сохранить всё) на панели инструментов
2. Затем выходит окно с предложением сохранить модуль - текстовый файл с исходным кодом, принадлежащий форме. Файл имеет расширение *.pas. Имеем в виду, что каждый проект сохраняется в отдельную папку, поэтому вначале щелкнем правой кнопкой мыши по свободному месту окна с папками, и выберем команду "Создать - Папку". Дадим папке какое-либо имя, например, "01". После создания папки открываем ее.
3. Далее в поле "Имя файла" укажем имя сохраняемого модуля. Имя может быть любым, но обязательно латинскими символами. Еще имя модуля не должно совпадать с именем формы. Обычно, имена формам и модулям стараются делать информативными, то есть, по имени можно будет догадаться, что это за файл. Поскольку это главная форма проекта, дадим ей имя "Main", и нажмем кнопку "Сохранить".
4. Затем нам будет предложено дать имя проекту в целом. Имя проекта будет совпадать с именем исполняемого программного файла. Если мы хотим, к примеру, получить файл "hello.exe", то дадим проекту имя "hello". Нажмем кнопку "Сохранить".
Далее нам необходимо скомпилировать программу, то есть, перевести исходный код в выполняемый exe-файл. Для этого мы можем выбрать команду меню "Run - Run", либо нажать горячую клавишу F9, либо нажать кнопку "Run" на панели инструментов (на кнопке изображение зеленой стрелки, указывающей вправо). В результате, программа была не только скомпилирована, но и запущена. Если вы посмотрите на системную строку Delphi, то увидите надпись "Delphi 7 - hello [Running]", а окна инспектора объектов и дерева объектов исчезли. Это говорит о том, что программа находится в режиме выполнения. Выполняемая программа имеет точно такой же вид, как наша главная форма, только на форме отсутствует точечная сетка, предназначенная для облегчения дизайна. Окно полученной программы содержит все стандартные кнопки Windows - программы. Щелкнув по красному крестику в правой верхней части окна, закройте программу (но не Delphi), и вы увидите прежнюю форму.
Обратите внимание, что свойства в Объектном Инспекторе принадлежат выделенному в данный момент компоненту. Выделяются компоненты простым щелчком мыши. Имейте в виду, что щелкать нужно один раз. Двойной щелчок создаст обработчик события - процедуру. Если вы ошибочно создадите таким образом процедуру, то просто сохраните проект, ничего в нее не вписывая - при сохранении последние пустые процедуры автоматически удаляются. Удалять их вручную не рекомендуется.
1.4 Блок схема
1.5 Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, StdCtrls, ExtCtrls, Menus, Grids, Spin;
type
Tkosts = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Images: TImageList;
LabelScore: TLabel;
spin: TSpinEdit;
SpinNumb: TSpinEdit;
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
kosts: Tkosts;
Score:integer;
t1 :integer=-1;
t2 :integer=-1;
implementation
uses Unit2, Unit3, RusDlg;
{$R *.dfm}
procedure Tkosts.N3Click(Sender: TObject);
begin
helps.ShowModal;
end;
procedure Tkosts.N4Click(Sender: TObject);
begin
abouts.ShowModal;
end;
procedure Tkosts.N1Click(Sender: TObject);
begin
Score := 100;
LabelScore.Caption :=format('Ваша сумма :%d',[Score]);
LabelScore.visible:=true;
Spin.MaxValue := 100;
Panel1.Show;
end;
procedure Tkosts.Button1Click(Sender: TObject);
var i:integer;
begin
if not (SpinNumb.Value in [2..12]) then
begin
Error('Число должно быть от 2 до 12');
exit;
end;
if Spin.Value <1 then
begin
Error('Ставка должна быть больше 0');
exit;
end;
if Spin.Value > Score then
begin
Error('Ставка должна быть меньше текущего счета');
exit;
end;
for i:=1 to 10 do
begin
t1:=random(6);
t2:=random(6);
FormPaint(nil);
sleep(100);
end;
i:=t1+t2+2;
if ((i<7) and (SpinNumb.Value<7))
or ((i>7) and (SpinNumb.Value>7)) then
begin
Notify('Вы выиграли!!'#13'Ставка %d'#13'Выигрыш %d',[Spin.value,Spin.value]);
Inc(Score,Spin.value);
end else
if i=SpinNumb.Value then
begin
Notify('Вы выиграли!!'#13'Ставка %d'#13'Выигрыш %d',[Spin.value,Spin.value*4]);
Inc(Score,Spin.value*4);
LabelScore.Caption := IntToStr(Score);
end else
begin
Notify('Вы Проигали!!'#13'Ставка %d',[Spin.value]);
Dec(Score,Spin.value);
end;
LabelScore.Caption :=format('Ваша сумма :%d',[Score]);
if score=0 then
begin
Notify('Вы проигали!!'#13'Остаток на счету - 0.');
t1:=-1;
Panel1.Hide;
LabelScore.Hide;
refresh;
end;
spin.MaxValue := Score;
if spin.Value>score then Spin.Value := score;
end;
procedure Tkosts.FormCreate(Sender: TObject);
begin
randomize;
end;
procedure Tkosts.FormPaint(Sender: TObject);
begin
if not Panel1.Visible then exit;
if t1=-1 then exit;
Images.Draw(canvas,75,50,t1);
Images.Draw(canvas,155,50,t2);
end;
end.
1.6 Тестирование
Правила игры: играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 (“бросает кубик”, на гранях которого цифры от 1 до 6).
Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку.
Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку.
Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка.
Ставка проиграна, если не имеет место ни одна из описанных ситуаций.
1.7 Руководство пользователя
Для запуска и работы программы необходимо иметь компьютер с установленной ОС не младше Windows XP SP2, частотой процессора 440 мГц и экраном с разрешением 640 Х 480. Для запуска программы не требуется каких либо дополнительных библиотек или привязок. Исполняемый файл называется Kosti.exe и находится на компакт диске.
РАЗДЕЛ 2. ОХРАНА ТРУДА
2.1 Требования безопасности перед началом работы на персональном компьютере
1. Отрегулировать освещенность на рабочем месте, убедиться в достаточной освещенности и отсутствии отражений и бликов на экране.
2. Протереть салфеткой поверхность экрана и защитного фильтра.
3. Убедиться в отсутствии дискет в дисководах системного блока персонального компьютера.
4. Проверить правильность установки стола, стула, подставки для ног, положение оборудования, угла наклона экрана, положение клавиатуры, положение мыши на специальном коврике, при необходимости произвести регулировку стола и кресла, а также расположение элементов компьютера в соответствии с требованиями эргономики и в целях исключения неудобных поз и длительных напряжений тела.
5. Убедиться в исправности электрооборудования (розеток, вилок, разъемов) до включения компьютера в сеть.
2.2 Требования безопасности во время работы на персональном компьютере
1. Работнику во время работы на персональном компьютере запрещается:
§ касаться одновременно экрана монитора и клавиатуры
§ прикасаться к задней панели системного блока при включенном питании
§ переключать разъемы интерфейсных кабелей периферийных устройств
§ допускать попадание влаги на поверхность системного блока, монитора, рабочую поверхность клавиатуры, принтеров и других периферийных устройств
§ производить самостоятельное вскрытие и ремонт оборудования
2. Работник обязан соблюдать последовательность включения компьютера:
§ включить блок питания
§ включить периферийные устройства (монитор принтер, сканер и т.д.)
§ включить системный блок
3. Работник обязан отключить персональный компьютер от электросети:
§ при обнаружении неисправности
§ при внезапных скачках напряжения в электросети
2.3 Требования безопасности после окончания работы на персональном компьютере
1. Работник обязан соблюдать последовательность включения компьютера:
§ произвести закрытие всех активных задач
§ убедится, что в дисководах нет дискет
§ выключить питание системного блока
§ выключить питание всех периферийных устройств
2. Работник должен осмотреть и привести в порядок рабочее место
3. Работник обязан по окончании работы или при длительных перерывах более одного часа полностью обесточить системный блок и все устройства
3. Экономическая часть
Технико-экономическое обоснование программного продукта
Прогресс в экономике, промышленности, науке и технике, в сфере образования в настоящее время во многом зависит от массового внедрения вычислительной техники. Любой компьютер в процессе работы использует средства программного обеспечения.
Разработка программных средств требует определенных интеллектуальных и трудовых затрат, а также обязательного использования компьютерной техники, что определяет особенности расчета себестоимости программного продукта. В данном дипломном проекте рассчитываются такие показатели как: трудоемкость, себестоимость, калькуляция, различные виды расходов и затрат, а также начисление заработной платы. Остановимся более подробно на каждом рассматриваемом показателе.
3.1 Расчет трудоемкости разработки программы
Трудоемкость продукции - величина, обратная показателю производительности труда. Определяется как отношение количества труда, затраченного в сфере материального производства, к объему произведенной продукции. Если говорить об определении трудоемкости таких работников, как программисты, то расчет трудоемкости (ТЭ чел/час.) по этой категории можно произвести с использованием следующей формулы:
Где ТИ - затраты труда на изучение материала, включаемого в разработанную программу;
ТА - затраты труда на разработку алгоритма программы;
ТБС - затраты труда на разработку блок схемы;
ТП - затраты труда на программирование (кодирование с использованием алгоритмического языка);
ТОТЛ - затраты труда на отладку программы;
ТН - затраты на набивку программы;
ТД - затраты труда на оформление документации в рукописном виде.
Время рассчитывается в человеко-часах, причем Тпо берется по фактически отработанному времени, а время остальных этапов определяется расчетно по условному числу команд Q.
Условное число команд Q определяется по формуле:
Q= q * c
где q - коэффициент, учитывающий условное число команд в зависимости от типа задачи.
Выбрать значение коэффициента q можно из табл. 1
Табл. 1
Тип задачи |
Пределы изменений коэффициента |
|
Задачи учета |
От 500 до 600 |
|
Задачи оперативного управления |
от 600 до 800 |
|
Задачи планирования |
от 800 до 1000 |
|
Многовариантные задачи |
от 1000 до 1200 |
|
Комплексные задачи |
от 1200 до 1500 |
Время рассчитывается в человеко-часах, причем Ти берется по фактически отработанному времени по и изучению материала и времени, затраченного на описание задачи, которое рассчитывается по формуле
где Q - условное число команд;
П - производительность исполнителя;
ККВ - коэффициент квалификации исполнителя;
КСЛ - коэффициент, учитывающий загрузку программиста в течение рабочего дня КСЛ = 1 - 1,5.
Для данной задачи коэффициент q принимается = 600
с - коэффициент, учитывающий новизну и сложность программы.
Программные продукты по степени новизны могут быть отнесены к одной из 4-х групп:
- группа А - разработка принципиально новых задач;
- группа Б - разработка оригинальных программ;
- группа В - разработка программ с использованием типовых решений;
- группа Г - разовая типовая задача.
Для данной задачи степень новизны: В
По степени сложности программные продукты могут быть отнесены к одной из 3-х групп:
1 - алгоритмы оптимизации и моделирования систем;
2 - задачи учета, отчетности и статистики;
3 - стандартные алгоритмы.
Данная задача может быть отнесена ко 2 группе сложности.
Коэффициент С определяется из табл.2 на пересечении групп сложности и степени новизны.
Табл. 2
Язык программир. |
Группа сложности |
Степень новизны |
||||
А |
Б |
В |
Г |
|||
Высокого уровня |
1 |
1,38 |
1,26 |
1,15 |
0,69 |
|
2 |
1,30 |
1,19 |
1,08 |
0,65 |
||
3 |
1,20 |
1,10 |
1,00 |
0,60 |
||
Низкого уровня |
1 |
1,58 |
1,45 |
1,32 |
0,79 |
|
2 |
1,49 |
1,37 |
1,24 |
0,74 |
||
3 |
1,38 |
1,26 |
1,15 |
0,69 |
Задача относится к языку программирования низкого уровня, группе В - разработка принципиально новых задач, по степени сложности к группе 2 - задачи учета, отчетности и статистики.
Для данной задачи коэффициент С = 1,08.
Теперь, исходя из формулы 1, можно определить условное число команд Q
Q = 600 * 1,08=648.
Выбрать значение коэффициента квалификации исполнителя можно из табл. 3.
Табл. 3
Стаж программиста |
Значение коэффициента К |
|
до 2-х лет |
0,8 |
|
от 2 до 3 лет |
1,0 |
|
от 3 до 5 лет |
1,1 - 1,2 |
|
от 5 до 10 лет |
1,2 - 1,3 |
|
свыше 10 лет |
1,3 - 1,5 |
Коэффициент квалификации исполнителя принимаем 1,2.
Вычисления:
Все необходимые показатели для расчетов сводятся в таблицу на начальных этапах дипломного проекта, которые легче использовать при работе в ЭТ EXCEL. (Создать таблицу).
Значения переменных (берутся из своего задания):
ККВ =0,8 ; П = 50.
Определяем время, затраченное на каждый этап создания программного продукта:
1. Ти (время на подготовку описания задачи), берется по факту и составляет:
Ти = 12(чел / час).
1а. То ( время на описание задачи ) определяется по формуле :
То = Q * КСЛ / (50 * ККВ)
КСЛ = 1,08.
То = 648* 1,08/ (50 * 0,8 ) = 22,68 (чел / час).
2. Затраты труда на разработку алгоритма программы
КСЛ = 1,2
ТА = Q*1,2 / (50* ККВ)
ТA =648*1,2 / (50 * 0,8 ) = 19,44 (чел / час)
3. Затраты труда на разработку блок схемы определяется аналогично Та по формуле 3 и составляет
Тбс = 19,44 (чел / час).
4. Затраты труда на программирование (кодирование с использованием алгоритмического языка программирования)
КСЛ = 1,5
ТП = Q * 1,5 / (50 * ККВ) (4)
Применяя формулу 4 подсчитываем время написания программы на языке программирования
ТП = 648* 1,5 / (50 * 0,8 ) = 24,3 (чел / час).
5. Затраты труда на отладку и тестирование программы определяем по формуле:
КСЛ = 1,5.
ТОТ = Q * 1, 5 / (50 * ККВ) (5)
Подставляем значения в формулу 5 и получаем:
ТОТ = 648* 1,5 / (50*0,8) = 24,3(чел / час).
6. Затраты труда на оформление документации оформление документации, инструкции пользователю, пояснительной записки принимаем по фактически отработанному времени:
ТД = 12(чел./час).
7. Затраты на набивку программы определяем по формуле:
ТН = Q / 50
Применяя формулу 6 подсчитываем время набивки программы.
ТН = 648/ 50 = 12,96 (чел / час).
8. Теперь, зная время, затраченное на каждом этапе, можно подсчитать общее время на создание программного продукта:
ТЭ = 12+22,68+19,44+19,44+24,3+24,3+12+12,96=147,12(чел / час)
Тсум.- суммарное время этапов, требующих использования ПЭВМ.
ТСУМ = 24,3+12+12,96=49,26(чел / час)
9. Количество дней на разработку программы
Д = ТЭ / 8 = 147,12/ 8 = 42,96 = 18,49(дня).
8. Нормативная численность
Ч = ТЭ / (Д * 8) = 147,12/ (18,49* 8 ) = 1 (чел).
Расчет себестоимости программы.
Себестоимость продукции представляет выраженные в денежной форме текущие затраты предприятий на производство и реализацию продукции (работ, услуг).
Себестоимость продукции является не только важнейшей экономической категорией, но и качественным показателем, так как она характеризует уровень использования всех ресурсов (переменного и постоянного капитала), находящихся в распоряжении предприятия.
Различают следующие виды себестоимости: цеховая, производственная и полная.
Цеховая себестоимость представляет собой затраты цеха, связанные с производством продукции.
Производственная себестоимость помимо затрат цехов включает общепроизводственные и общехозяйственные расходы.
Полная себестоимость отражает все затраты на производство и реализацию продукции, слагается из производственной себестоимости и внепроизводственных расходов.
Все затраты, образующие себестоимость продукции, группируются в связи с их экономическим содержанием по следующим элементам:
1. Материальные затраты (за вычетом стоимости возвратных отходов).
2. Затраты на оплату труда.
3. Отчисления на социальные нужды.
4. Амортизация основных фондов.
5. Прочие затраты.
К материальным затратам относятся: сырье и основные материалы, в том числе покупные полуфабрикаты и комплектующие изделия; вспомогательные материалы; топливо и энергия; износ малоценных и быстроизнашивающихся предметов и др.
Отчисления на материальные нужды осуществляются по определенным нормативам от фонда оплаты труда. Величина этих нормативов устанавливается в законодательном порядке и, естественно, может пересматриваться.
Прочие затраты - это платежи по процентам, износ материальных активов, командировочные расходы, представительские расходы, расходы на рекламу, расходы на подготовку кадров и др.
Для исчисления себестоимости отдельных видов продукции затраты предприятия группируются по статьям калькуляции.
Основными положениями по планированию, учету и калькулированию себестоимости продукции на промышленных предприятиях установлена типовая группировка затрат по статьям калькуляции, которую можно представит в следующем виде:
1. Сырье и материалы.
2. Возвратные отходы (вычитаются).
3. Покупные изделия, полуфабрикаты и услуги производственного характера сторонних предприятий и организаций.
4. Топливо и энергия на технологические цели.
5. Заработная плата на производственных рабочих.
6. Отчисления на социальные нужды.
7. Расходы на подготовку и освоение производства.
8. Общехозяйственные расходы.
9. Общепроизводственные расходы.
10. Потери от брака.
11. Прочие производственные расходы.
12. Коммерческие расходы.
Итог первых 11 статей образует производственную себестоимость продукции, итог всех 12 статей - полную себестоимость продукции.
Общепроизводственные и общехозяйственные расходы относятся к накладным расходам. Общепроизводственные накладные расходы - это расходы на обслуживание и управление производством.
Расчет расходных материалов
Расходные материалы включают в себя расчеты по следующим показателям:
1. Цена дисков (дискет), бумаги, картриджа по формуле:
Цена без НДС = цена с НДС - (Цена с НДС * 18%/118%)
Сумма получившихся цифр будет составлять стоимость материальных затрат (МЗ).
2. Стоимость канцелярских товаров и прочих расходов по формуле:
(МЗ* процент по условию) / 100%.
В представленных выше формулах будем использовать следующие значения:
1. Дискеты (диски) шт./цена в руб. 2/20.
2. Бумага пач./цена в руб.1/180.
3. Картридж шт./цена в руб. 1/900.
4. Канцелярские товары (в % к стоимости материальных затрат) 3%.
5. Прочие расходы (в % стоимости материальных затрат) 15%.
Вычисления:
Цена дискет = 40 - (40 * 18% / 118%) = 33,9 руб.
Цена бумаги = 180 - (180 * 18% / 118%) = 152,54 руб.
Для курсового проекта: использовано 80 листов, поэтому получаем по формуле возвратных материалов.
Цена бумаги для КП =
Цена картриджа = 900 - (900 * 18% / 118%) = 762,7 руб.
А для КП цена картриджа =
МЗ = 33,9 + 40,67 + 79,1 = 128,47 руб.
Канцелярские товары = 128,47 * 3% / 100% = 3,85 руб.
Прочие расходы = 128,47 * 15% / 100% = 19,27 руб.
МЗ = 128,47 + 3,85 + 19,27 = 152 руб.
Расчет заработной платы исполнителя работ по созданию программного продукта
Основная ЗП определяется по формуле:
ЗПОСН = (ЗП * Т) / (Чр * Тр.д.) (руб.)
Где 3П - месячная зарплата 1-го разряда (руб.) ;
Т - общее время на создание программного продукта (чел / час);
Чр - число рабочих дней в месяц ;
Т р.д. - продолжительность рабочего дня в часах.
П - процент премии, если есть.
Т р.д. = 8 часов.
Чр = 21 день.
3П = 5100 руб.
Определяем основную заработную плату исполнителя работ по созданию программного продукта.
Зпосн =(5100 * 147,12) / (21 * 8) = 4466,143 (руб.)
Дополнительная заработная плата берется в размере 15 % от основной.
ЗПдоп = 4466,143 * 0,15 = 669,9215 (руб.)
Общая заработная плата будет равна сумме основной и дополнительной:
Зпобщая = ЗПосн + ЗПдоп= 4466,143 + 669,9215 = 5136,065 (руб.)
Расчет начислений на заработную плату
Структуру начислений в фонды можно посмотреть в таблице 4.
Табл.4
№ |
Направленность отчислений |
Процент от ЗП |
Сумма (руб.) |
|
1 |
Пенсионный фонд |
20 % |
1027,21 |
|
2 |
Фонд социального страхования |
2,9 % |
148,95 |
|
3 |
ФФОМС |
1,1 % |
56,50 |
|
4. |
ТФОМС |
2 % |
102,72 |
|
Итого: |
26 % |
1335,38 |
Расчет расходов на содержание и эксплуатацию ПЭВМ.
Расчет себестоимости 1-го машино-часа работы ПЭВМ
Основой для расчета расходов на содержание и эксплуатацию ПЭВМ, относящихся к данному программному продукту, является себестоимость 1-го машино-часа работы ПЭВМ.
Сначала мы определим годовые затраты каждого компонента себестоимости, в число которых входят:
1. Основная заработная плата работников, обеспечивающих функционирование ПЭВМ.
К числу этих работников относятся:
- инженер - электроник;
- системный программист;
- оператор.
ЗПосн. каждого из этих категорий работников определяется по формуле:
ЗП осн.год = ЗП / Нобс * (1 + П / 100) * 12 (руб.)
Где 3П - месячная зарплата в руб.;
Нобсл - кол -во, ПЭВМ, обслуживаемых одним работником;
П - процент премии, если он есть.
Для инженеров-электронщиков Нобсл. = 13 единиц
Для системных программистов Нобсл. = 26 ед.
Для оператора Нобсл. = 9ед.
Для инженеров-электронщиков Кт = 2,89
Для системных программистов Кт =2,02
Для оператора Кт =1,67
В нашем случае берем только расчеты для оператора, где П = 0.
1. Определяем суммарную годовую заработную плату работников, обеспечивающих функционирование ПЭВМ, подставляем значения в формулу, получаем:
ЗПосн.год.оп. =5100 / 9 * 12 = 6800 (руб.)
2. Дополнительная зар. плата обслуживающего персонала берется в размере 15 % от основной.
ЗПдоп. = ЗПосн.г. * 15% = 6800 / 100 * 15% = 1020 (руб.)
Общая заработная плата будет равна сумме основной и дополнительной:
Зпгод.о.п. = ЗПосн + ЗПдоп (руб.)
Зпгод.о.п. = 6800 + 1020 = 7820 (руб.)
3. Начисления на ЗП обслуживающего персонала.
Табл. 5
№ |
Направленность отчислений |
Процент от ЗП |
Сумма (руб.) |
|
1 |
Пенсионный фонд |
20 % |
1 564,00 |
|
2 |
Фонд социального страхования |
2,9 % |
226,78 |
|
3 |
ФФОМС |
1,1 % |
86,02 |
|
4. |
ТФОМС |
2 % |
156,40 |
|
Итого: |
26 % |
2 033,20 |
4. Основная ЗП административного и вспомогательного персонала.
К административному персоналу, часть заработной платы которого также должна входить в себестоимость машино-часа, мы отнесем начальника ИВЦ. Его основная заработная плата определяется по той же формуле, только Нобсл будет обозначать количество ПЭВМ в отделе (на ИВЦ).
Подставляя значения, получим:
ЗПосн н. = 6000 / 78 * 12 = 923,08 (руб.)
Из вспомогательного персонала мы учтем уборщицу, которая будет убирать административные помещения.
Заработная плата уборщицы, приходящаяся на 1 компьютер, определяется по формуле:
ЗПосн.уб.= 4600 / Нобсл.
Подставляя значения в формулу, получим (Нобсл = 78)
ЗПосн.уб. = 707,69 (руб.)
Теперь определим общую основную ЗП административного и вспомогательного персонала.
ЗПосн.адм.всп. = ЗПосн.н. + ЗПосн.уб. = = 923,08 + 707,69 = 1630,77 (руб.)
5. Дополнительная заработная плата административного и вспомогательного персонала берется в размере 15% от основной:
ЗПдоп = 1630,769 / 100 * 15% = 244,62 (руб.)
Общая заработная плата будет равна сумме основной и дополнительной:
Зпгод.адм.всп. = ЗПосн. + ЗПдоп.= 1630,76 + 244,62 = 1875,38 (руб.)
6. Начисления на ЗП административного и вспомогательного персонала.
Табл. 6
№ |
Направленность отчислений |
Процент от ЗП |
Сумма (руб.) |
|
1 |
Пенсионный фонд |
20 % |
375,08 |
|
2 |
Фонд социального страхования |
2,9 % |
54,39 |
|
3 |
ФФОМС |
1,1 % |
20,63 |
|
4. |
ТФОМС |
2 % |
37,51 |
|
Итого: |
26 % |
487,60 |
7. Амортизационные отчисления определяются в размере 25% от балансовой стоимости ПЭВМ.
А = Кб * 25% = 23444 / 100 * 25% = 5861 (руб.)
Где Кб - балансовая стоимость одной ПЭВМ с периферией.
Табл. 7
Наименование |
Цена в руб. |
|
Монитор |
7500 |
|
Материнская плата |
3240 |
|
Процессор |
2010 |
|
Видео карта |
1320 |
|
HDD |
1540 |
|
FDD |
330 |
|
CD-RW |
755 |
|
CPU Cooler |
570 |
|
Клавиатура |
150 |
|
Принтер |
4379 |
|
Мышь |
150 |
|
ВОХ |
1500 |
|
Итого: |
23444 |
8. Затраты на эл. энергию складываются из:
- затрат на силовую эл. энергию,
- затрат на эл. энергию, которая идет на освещение.
Затраты на силовую эл. энергию определяются по формуле:
Зс.эн = Фэф. * Цэ * Р (руб.)
Где Фэф. - эффективный годовой фонд времени работы ПЭВМ в часах.
Цэ - стоимость 1 кВт / часа в руб.
Р - суммарная мощность ПЭВМ с периферией в кВт / часах.
При работе ИВЦ в 1 смену, берем Фэф. = 1410,4.
Для бюджетных организаций Цэ = 4,90 руб. за 1 кВт / час.
Р = 0,7 - 1,2 кВт / часа в зависимости от периферии.
Подставляя значения в формулу 10 получаем:
Фэф = П р.в. * (1 - б / 100) = 1763 * (1 - 20 / 100) = 1763 * 0,8 = 1410,4
П р.в. = (Ткал -Тв - Тпр - То - Тб - Ту - Тг - Тг - Тпрог) * Псм - (Ткм + Тп + Тс)
П р.в. = (365 - 116 - 28) * 8 - 1 * 5 = 1763 (час.)
Табл. 8
Количество дней в году |
365 |
|
Нерабочие дни |
116 |
|
Предпраздничные дни |
5 |
|
Продолжит отпуска |
28 |
|
Продолжит рабочего дня |
8 |
Зс. эн =1410,4 * 4,90 * 0,9 = 6219,86 (руб.)
Затраты на эл. энергию, которая идет на освещение определяются по формуле:
Зосв = Фэф. * Цэ * Росв (руб.)
Где Фэф. - эффективный годовой фонд времени работы ПЭВМ в часах.
Цэ - стоимость 1 кВт / часа в руб.
Росв - суммарная мощность, которая идет на освещение в кВт /часах.
Росв = 200 Вт / час.
Подставляя значения в формулу получаем:
Зосв = 1410,4 * 4,90 * 0,2 = 1382,19 (руб.)
Теперь определяем общие затраты на эл. энергию:
Зэн = Зс.эн + Зосв = 6219,86 + 1382,19 = 7602,06 (руб.)
9. Расходы на профилактику составляют 2 % от балансовой стоимости ПЭВМ с периферией.
Рпр =23444 / 100 * 2 = 468,88 (руб.)
10. Затраты на отопление производственных площадей определяются по формуле:
Зотоп. = Ц от. кв.м. * S * 12
Где Ц кв.м. - расходы на отопление на 1 кв. метр - 85 руб. в месяц;
S - площадь ИВЦ (кв.м.) на 1 ПЭВМ (5 м).
Подставляя значения в формулу получаем:
Зотоп.= 85 * 5 * 12 = 5100 (руб.)
11. Затраты на обслуживание производственных площадей определяются по формуле:
Зобс. = Ц кв.м. * S * 12
Где Ц кв.м. - расходы на 1 кв.метр, приблизительно от 150 до 170 руб. в месяц;
S - площадь ИВЦ (кв.м.) на 1 ПЭВМ (от 5 до 7 м).
Подставляя значения в формулу 13 получаем
Зобс.= 150 * 5 * 12 = 9000 (руб)
Прочие производственные расходы берутся в размере 15% от основной зар. платы работников, обеспечивающих функционирование ПЭВМ.
Пр. = 6800 /100%* 15% = 1020 (руб.)
Теперь определяем годовые расходы на содержание и эксплуатацию 1-ой ПЭВМ.
Табл. 9
Затраты |
Сумма (руб.) |
|
ЗП осн.год.обс.перс. |
6800,00 |
|
ЗП доп обс.пер. |
1020,00 |
|
Начисления на ЗП обс.пер. |
2033,20 |
|
ЗПосн.адм.всп. |
1630,77 |
|
ЗПдоп. адм.всп. |
244,62 |
|
Начисления на ЗП адм.всп. |
487,60 |
|
Амортизационные начисления |
5861,00 |
|
Общие затраты на эл. энергию |
7602,06 |
|
Расходы на профилактику |
468,88 |
|
Зотоп. |
5100 |
|
Зобс. |
9000 |
|
Прочие расходы |
1020 |
|
Итого |
41268,12 |
Рс.э.= 41268,12 (руб.)
Далее определяем себестоимость 1-го машино-часа работы ПЭВМ, которая определяется по формуле
Смч = Рс.э. / Ф э.ф.
Где Фэф. - эффективный фонд работ ПЭВМ в год (час).
Подставляя значения в формулу получаем:
Смч = 41268,12/ 1410,4 = 29,26 (руб.)
Расчет расходов на содержание и эксплуатацию ПЭВМ, относящихся к данному программному продукту
Теперь, зная себестоимость 1-го машино-часа работы ПЭВМ и время на создание программного продукта, которое требовало использования ПЭВМ, можно определить расходы на содержание и эксплуатацию ПЭВМ, относящихся к данному программному продукту:
Рсэп = Смч * Тсум. = 29,26 * 49,26 = 1441,34 (руб.)
Где Смч - себестоимость 1-го машино-часа работы ПЭВМ,
Тсум - суммарное время этапов, требующих использования ПЭВМ.
Расчет полной себестоимости программы, составление калькуляции и определение структуры затрат на разработку программного продукта
Полная себестоимость включает в себя материальные затраты, оплату труда, начисления на оплату труда и расходы на содержание и эксплуатацию ПЭВМ.
Составляем калькуляцию и определяем структуру затрат.
Калькуляция - это способ группировки затрат и определение себестоимости. Показатель себестоимости продукции служит ориентиром при разработке планов, анализе их выполнения. Процесс калькулирования включает разграничения затрат между готовой продукцией и незавершенным производством. Калькуляция необходима для определения себестоимости единицы продукции, соизмерение плановых и фактических затрат и расчета цен. Для калькулирования себестоимости продукции, затраты классифицируют по статьям расходов с использованием нормативных расчетов, прямых затрат и распределение косвенных расходов.
Принято составлять плановую и отчетную калькуляции себестоимости.
Плановая калькуляция представляет собой задание по себестоимости в целом. Плановую себестоимость определяют исходя из обоснованных норм затрат труда, прогрессивных норм расхода материалов, электроэнергии, технических нормативов использования оборудования.
Отчетная калькуляция составляется на основе данных бухгалтерского и статистического учета. Она показывает сумму фактических затрат на единицу продукции. На основе отчетной калькуляции проверяется выполнение планов по себестоимости, выявляются допущенные отклонения от заданий по каждому элементу затрат, неиспользованные резервы.
Подобные документы
Разработка программы, моделирующей игру "Кости". Использование в программе генератора псевдослучайных чисел. Схема иерархии модулей. Описание работы программы. Регистрация игрока, окно программы. Определение языка программирования, основные операторы.
курсовая работа [3,2 M], добавлен 29.07.2010Структура математической модели линейной задачи, алгоритм симплекс-метода. Разработка программы: выбор языка программирования, входные и выходные данные, пользовательский интерфейс. Описание программы по листингу, тестирование, инструкция по применению.
курсовая работа [1,2 M], добавлен 31.05.2013Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.
курсовая работа [660,4 K], добавлен 08.03.2015Требования к программе, составу и параметрам технических средств. Основные элементы языка программирования. Инструкция на выполнение программы учета клиентов: вызов и загрузка, входные и выходные данные. Расчет себестоимости программного продукта.
дипломная работа [3,9 M], добавлен 29.06.2012Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования.
отчет по практике [700,5 K], добавлен 24.11.2014Разработка Windows-приложения, представляющего собой компьютерную игру "Кости". Организация входных и выходных данных. Минимальные требования. Выбор состава технических и программных средств. Спецификация программы, ее описание и внедрение, тестирование.
курсовая работа [475,8 K], добавлен 18.07.2012Требования к составу и параметрам технических средств. Выбор языка программирования. Структурная схема программного продукта. Проектирование пользовательского интерфейса. Создание системы и заполнение базы данных. Разработка форм ввода-вывода информации.
курсовая работа [1,2 M], добавлен 30.01.2016Применение языка Delphi в качестве языка программирования для реализации игры "Разноцветные кубики". Методы заполнения квадратной матрицы. Разработка алгоритма решения задачи, структурная организация данных. Характеристика программного средства.
курсовая работа [281,8 K], добавлен 14.05.2013Разработка информационной и инфологической модели базы данных на тему "Командировка". Выбор модели данных и составление ее концептуальной схемы. Получение доступа к БД средствами Delphi, разработка пользовательского интерфейса. Реализация SQL-запросов.
реферат [1,2 M], добавлен 16.06.2009Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013