Написание БД «Распределение затрат аварийно-диспетчерской службы предприятия»

СОДЕРЖАНИЕ

Введение ……………………………………………………………..

Специальная часть ……………………………………………….

 Постановка задачи ………………………………………….

Обоснование выбора, 

используемого программного обеспечения ……………….

Описание ресурсов выбранной ПЭВМ …………………….

	 Технические характеристики ЭВМ ………………………

	Характеристики периферийных устройств ………………

	Особенности использования ОС ……………………….…

Структурная схема алгоритма ………………………………

Описание структурной схемы алгоритма …………………

Отладка программы …………………………………………

	 Используемые средства автоматизации 

			   отладки программ …………………………………………

	Трансляция и синтаксическая отладка …………………..

Инструкция по использованию программы ………………

	 Инструкция для программиста …………………………..

	Инструкция для оператора ……………………………….

Контрольный пример ………………………………………

Выводы о проделанной работе …………………………… 

Организационно-экономическая часть ………………………..

 Расчет стоимости часа работы ПЭВМ ……………………

Расчет экономической эффективности программы ……..

Расчет экономической эффективности задачи …………..

Охрана труда и обеспечение жизнедеятельности …………….

Список использованной литературы …………………………..



	

	



	






ВВЕДЕНИЕ

Каждая производственная единица (предприятие) любого общества стремится к получению возможно большего дохода от своей деятельности. Любое предприятие старается не только продать свой товар по выгодной высокой цене, но и сократить свои затраты на производство и реализацию продукции. Если первый источник увеличения доходов предприятия во многом зависит от внешних условий деятельности предприятия, то второй - практически исключительно от самого предприятия, точнее, от степени эффективности организации процесса производства и последующей реализации произведенных товаров.

Затраты – важнейший экономический показатель, характеризующий расходы предприятия (организации, физического лица) на хозяйственную деятельность материальных, трудовых, финансовых, природных и других ресурсов. 

Экономия затрат и их перераспределение – главное направление повышения эффективности производства, увеличение его прибыльности. Различают прямые затраты, связанные непосредственно с изготовлением продукции (например, расходы на приобретение сырья, материалов, полуфабрикатов, заработную плату производственного персонала и т.д.), и косвенные затраты, которые непосредственно к нему не относятся (например, содержание аппарата управления, непроизводственных помещений и т.д.)

Для каждого конкретного производителя затраты выступают величиной, равной понесенным ими расходам на приобретение соответствующего количества ограниченных ресурсов и выступают формой реализации нереализованных альтернативных возможностей в каждый конкретный промежуток времени. 

Затраты в экономических системах оплачивают пользователи как альтернативную стоимость, если эти ресурсы явно принадлежат какому-либо экономическому объекту. Тем самым достигается оптимальная эффективность их использования. В противном случае мы имеем нерациональное и неэффективное употребление ограниченных видов ресурсов. 

Издержки или затраты производства также зависят от спроса на те или иные виды ограниченных видов ресурсов, которые составляют основу издержек. Следовательно, цены производительных ресурсов во многом определяются существующим спросом на них, а также его изменениями. Но когда цены на те или иные продукты растут, они основываются на издержках. Возросшую цену на продукта определяют не сами издержки по производству, а альтернативная стоимость для тех покупателей, необходимо убедить отказаться от потребления данного продукта по более высокой цене в пользу тех покупателей, которые в еще меньшей степени готовы отказаться от приобретения этого товара.

Категория издержки обращения связана с процессом реализации товаров. Дополнительными издержками обращения являются издержки на упаковку, сортировку, транспортировку и хранение товаров. Этот вид издержек обращения близок к издержкам производства и, входя в стоимость товара, увеличивает последнюю. Дополнительные издержки возмещаются после продажи товаров из полученной суммы выручки. Чистые издержки обращения - издержки на торговлю (зарплата продавцов и т.д.), маркетинг (изучение потребительского спроса), рекламу, затраты на оплату персонала штаб-квартиры и т.д. Чистые издержки не увеличивают стоимости товаров, а возмещаются после продажи из прибыли, созданной в процессе производства товаров.

	Современные концепции издержек, разработанные экономистами Запада, во многом учитывают оба вышеотмеченных момента. В центре классификации издержек - взаимосвязь между объемом производства и издержками, ценой на данный вид товаров. Издержки делятся на не зависящие и зависящие от объема производимой продукции.

	Постоянные издержки не зависят от величины производства, существют и при нулевом объеме производства. Это предшествующие обязательства предприятия (проценты по займам и др.), налоги, амортизационные отчисления, оплата охраны, арендная плата, расходы на обслуживание оборудования при нулевом объеме производства, зарплата управленческого персонала и т.д. Переменные издержки зависят от количества производимой продукции, складываются из затрат на сырье, материалы, зарплату рабочим и т.д. Сумма постоянных и переменных издержек образует валовые издержки - сумму денежных расходов на производство определенного вида продукции. Для измерения издержек на производство единицы продукции используются категории средних, средних постоянных и средних переменных издержек. Средние издержки равны частному от деления валовых издержек на количество произведенной продукции. Средние постоянные издержки определяются делением постоянных издержек на количество произведенной продукции. Средние переменные издержки образуются делением переменных издержек на количество произведенной продукции.

	Для достижения максимальной прибыли нужно определить необходимый размер выпуска продукции. Инструментом экономического анализа служит категория предельных издержек. Предельные издержки представляют собой дополнительные издержки на производство каждой дополнительной единицы продукции по сравнению с данным объемом выпуска. Они рассчитываются вычитанием соседних значений валовых издержек.

	В конкретной практике применения расчета издержек для анализа деятельности предприятий в России и в западных странах имеются как сходства, так и различия. В России широко используется категория себестоимость, представляющая собой суммарные затраты на производство и реализацию продукции. Теоретически в себестоимость должны входить нормативные производственные затраты, но на практике к ней относят сверхнормативный расход сырья, материалов и т.д. Себестоимость определяют на основе сложения экономических элементов (однородных по экономическому назначению затрат) или путем суммирования статей калькуляции, характеризующих непосредственные направления тех или иных расходов. Прямые затраты - это затраты, непосредственно связанные с созданием единицы товара. Косвенные затраты необходимы для общего осуществления производственного процесса данного вида продукции на предприятии. Общий подход не исключает различий по конкретной классификации некоторых статей.

	В западных странах используется вышеописанное деление затрат (издержек) на постоянные и переменные, причем прямые и часть косвенных затрат относятся к переменным, а оставшаяся часть косвенных затрат (не зависящих от объема производства) - к постоянным. нередко первая из вышеуказанных частей косвенных затрат выделяется в отдельную группу - частично переменные затраты, поскольку эти затраты изменяются по своей величине не в прямо пропорциональной зависимости от изменения объема производимой продукции. Деление затрат на прямые и переменные позволяет получить показатель - добавленную стоимость, определяемую вычитанием из общего дохода (выручки) предприятия переменных затрат. Добавленная стоимость состоит, таким образом, из постоянных затрат и чистой прибыли. этот показатель позволяет оценить общую эффективность производста и реализации вне зависимости от прямо зависящих от величины объема производства переменных расходов.

	В СНГ деление затрат на условно-постоянные и условно-переменные, рассчитываемые по экономическим элементам, применяется при расчете экономии от влияния технико-экономических факторов. Подобные расчеты выполняются для определения будущей плановой себестоимости продукции на основе имеющейся фактической себестоимости. Такого рода расчеты не всегда целесообразны, поскольку позволяют всего лишь определить увеличение затрат в случае, если бы условно-постоянные расходы возрастали прямо пропорционально росту объема производимой продукции (практически невозможная ситуация).

	В реальной производственной деятельности необходимо учитывать не только фактические денежные издержки, но и альтернативные издержки. Последние возникают из-за возможности выбора между теми или иными экономическими решениями. Например, владелец предприятия может потратить имеющиеся деньги различным способом: направит их на расширение производства или израсходовать на личное потребление и т.д. Измерение альтернативных издержек необходимо не только для рыночных отношений, но и для объектов, не являющихся товарами. На нерегулируемом рынке товаров, альтернативные издержки будут равны текущей установившейся на данный момент рыночной цене. Если на рынке существует несколько разных (обычно близких между собой) цен, то альтернативные издержки продажи товара по, естественно, наивысшей из предложенных продавцу покупателями цен, будут равны наибольшей из всех оставшихся (кроме наивысшей) предложенных цен.

Из вышесказанного становится ясно что за затратами на предприятии необходимо следить и постоянно быть в курсе последних изменений всех факторов составляющих затраты. Для этого следует постоянно иметь при себе цифры затрат, на какой из этапов производства приходится больше всего затрат, в каком цехе, отделе существуют затраты. Расчет затрат и их перераспределение необходимо проводить как можно чаще и это занимает время и трудовые ресурсы. Но в этом может помочь ЭВМ. Если грамотно автоматизировать эту часть производства, то можно намного сократить время на расчет, уменьшить количество ошибок, и т. д. В свою очередь это уменьшит затраты самого предприятия.

Передо мной стоит цель автоматизировать часть этого сложного процесса, а именно, с помощью ЭВМ создать базу данных которая бы могла по начальным данным расчитать все остальные показатели составляющие данный раздел, накапливать в себе информацию о издержках за предыдущие месяцы, давала бы возможность исправлять ошибки, пересчитывать данные, выводить на принтер отчеты. Конкретно необходимо чтобы программа помогала пользователю проводить расчет в «Аварийно-диспетчерской службе» предприятия.  

		
СПЕЦИАЛЬНАЯ ЧАСТЬ

		Постановка задачи

Целью моей задачи является написание Базы Данных «Распределение затрат аварийно-диспетчерской службы предприятия». Затраты распределяются с кредита 29700 – «Затраты на содержание аварийно-диспетчерской службы» в дебет следующих счетов:

23100 – «Затраты производственной базы»

26000 – «Общехозяйственные расходы»

29100 – «Затраты домохозяйства»

29200 – «Затраты по содержанию общежитий»

29300 – «Затраты по объектам здравоохранения»

29400 – «Затраты по содержанию действующих детских садов»

29900 – «Затраты по оказанным услугам сторонним организациям»

так же необходимо чтобы по каждому параметру просчитывалось «Итого». 

Исходная таблица

Исходная таблица имеет 10 столбцов. (см. табл. №1)

Таблица №1

A

B

C

D

E

F

Q

H

I

J





















Каждый из полей может иметь 3 состояния:

заполняется вручную

рассчитывается по формуле

не заполняется

Организуется таблица в db-файле. Пользователь в ручную заполняет необходимые поля первого состояния, при необходимости может произвести редактирование уже заполненного поля. Для заполнения понадобятся исходные данные которые будет описаны ниже. Пользователь должен заранее подготовить эти данные. 





 	

Описание полей таблицы

Таблица №2

Условное обозначение

Наименование поля

Тип поля

Имя поля в

db-файле

Ключевое поле

А

Дебет счетов

Alpha

DTSchet

Нет

B

Дата

Date

Data

Да

C

Обслуживаемая площадь

Number

ObslPlo

Нет

D

Зарплата рабочих АДС

Number

ZpRab

Нет

E

Материалы по актам выполненных работ

Number

MatAktRab

Нет

F

Всего прямых затрат

Number

VsegoPremZatr

Нет

Q

Распределение затрат

Number

RaspZatr

Нет

H

Всего затрат

Number

VsegoZatr

Нет

I

Прибыль

Number

Prib

Нет

J

Объем

Number

Obem

Нет

Исходные данные

Все входные данные имеют вещественный тип с двумя знаками после запятой. Пользователь данной программы заранее подготавливает данные по каждому счету. При занесении начальных данных по конкретному счету нет необходимости вводить общую сумму по каждому столбцу, программа должна предоставить возможность суммировать числа, а потом заносить полученную сумму. Так же при заполнении таблицы, после того как пользователь выбрал счет по которому он будет производить заполнение программа должна активизировать то поле, которое имеет состояние «Заполняется вручную» и пропускать остальные состояния. Этот прием позволит облегчить ввод данных, исключить многие ошибки при вводе и т.д. На этом этапе должны быть занесены данные по всем счетам. 



Расчет таблицы

Таблица рассчитывается по следующим формулам:

Таблица №3

№

A

B

C

D

E

F

Q

H

I

J

1

23100

V

V

Di

V

Fi

Qi

Hi

X

Ji

2

26000

V

V



V







X



3

29100

V

V



V







X



4

29200

V

V



V







X



5

29300

V

V



V







X



6

29400

V

V



V







X



7

29900

V

V

X

X

X

V

V

V

J7

8

Итого

V

С8

V

E8

F8

Q8

V

X

J8

V – заполняется вручную

X – не заполняется

Nn – ссылка на формулу, где N – столбец n – номер стороки.

Формулы расчета

1. 

2. 

3. 

4. 

5. 

6. 

Q8 = H8 - F8



 Ji = Hi , i = 1..6  

 J7 = H7 + I7

 J8 = H8

Выходные данные

Все вычисляемые данные имеют вещественный тип, с двумя цифрами после запятой. При необходимости можно произвести редактирование и пересчитать результаты. На экране в виде таблицы необходимо представить исходные данные и результаты счета. Это позволит вести визуальный контроль. 

После всех расчетов, изменений необходимо получить отчет, который при необходимости можно послать на печать. Распечатка отчета является конечным результатом работы программы. В нем необходимо отразить всю полученную информацию.

		
Обоснование выбора, используемого программного обеспечения

MS - Windows предоставляет пользователям оболочку графического интерфейса (GUI), которая обеспечивает стандартную среду пользователя и программиста. (GUI) предлагает более сложное и дружелюбное окружение пользователя, чем командно-управляемый интерфейс DOS. Работа в Windows основана на интуитивно понятных принципах. Вам легко переключиться с задачи на задачу и осуществлять обмен информацией между ними. Однако разработчики приложений традиционно сталкиваются с трудностями программирования, поскольку организация среды Windows является чрезвычайно сложной. 

Delphi - язык и среда программирования, относящаяся к классу RAD- (Rapid Application Development  «Средство быстрой разработки приложений») средств CASE - технологии. Delphi сделала разработку мощных приложений Windows быстрым процессом, доставляющим вам удовольствие. Приложения Windows, для создания которых требовалось большое количество человеческих усилий например в С++, теперь могут быть написаны одним человеком, использующим Delphi.

Интерфейс Windows обеспечивает полное перенесение CASE-технологий в интегрированную систему поддержки работ по созданию прикладной системы на всех фазах жизненного цикла работы и проектирования системы.

Delphi обладает широким набором возможностей, начиная от проектировщика форм и кончая поддержкой всех форматов популярных баз данных. Среда устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Работая в Windows , вы неоднократно видели одинаковые «объекты» во многих разнообразных приложениях. Диалоговые панели (например Choose File и Save File) являются примерами многократно используемых компонентов, встроенных непосредственно в Delphi, который позволяет приспособить эти компоненты к имеющийся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и невизуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Это наглядная реализация применений CASE-технологий в современном программировании приложений. Та часть, которая непосредственно связана с программированием интерфейса пользователя системой получила название визуальное программирование 

Выгоды от проектирования АС в среде Windows с помощью Delphi:

Устраняется необходимость в повторном вводе данных;

Обеспечивается согласованность проекта и его реализации;

Увеличивается производительность разработки и переносимость программ.

Визуальное программирование как бы добавляет новое измерение при создании приложений, давая возможность изображать эти объекты на экране монитора до выполнения самой программы. Без визуального программирования процесс отображения требует написания фрагмента кода, создающего и настающего объект «по месту». Увидеть закодированные объекты было возможно только в ходе исполнения программы. При таком подходе достижение того, чтобы объекты выглядели и вели себя заданным образом, становится утомительным процессом, который требует неоднократных исправлений программного кода с последующей прогонкой программы и наблюдения за тем, что в итоге получилось.

Благодаря средствам визуальной разработки можно работать с объектами, держа их перед глазами и получая результаты практически сразу. Способность видеть объекты такими, какими они появляются в ходе исполнения программы, снимает необходимость проведения множества операций вручную, что характерно для работы в среде не обладающей визуальными средствами — вне зависимости от того, является она объектно-ориентированной или нет. После того, как объект помещен в форму среды визуального программирования, все его атрибуты сразу отображаются в виде кода, который соответствует объекту как единице, исполняемой в ходе работы программы.

Размещение объектов в Delphi связано с более тесными отношениями между объектами и реальным программным кодом. Объекты помещаются в вашу форму, при этом код, отвечающий объектам, автоматически записывается в исходный файл. Этот код компилируется, обеспечивая существенно более высокую производительность, чем визуальная среда, которая интерпретирует информацию лишь в ходе исполнения программы.

Три основные части разработки интерфейса следующие: проектирование панели, проектирование диалога и представление окон. Для Общего Пользовательского Доступа также должны учитываться условия применения Архитектуры Прикладных Систем. Существуют также другие условия: являются ли входные устройства на терминалах клавишными или указательными и будут ли являться приложения символьными или графическими.

В современных условиях поиск оптимального решения проблемы организации интерфейса взаимодействия приобретает характер комплексной задачи, решение которой существенно осложняется необходимостью оптимизации функционального взаимодействия операторов между собой и с техническими средствами АСУ в условиях изменяющегося характера их профессиональной деятельности.

Сегодня появилась реальная возможность с помощью моделирования на современных многофункциональных средствах обработки и отображения информации таких как Delphi конкретизировать тип и характеристики используемых информационных моделей, выявить основные особенности будущей деятельности операторов, сформулировать требования к параметрам аппаратно-программных средств интерфейса взаимодействия и т.д.

Использование типовых решений, модульного принципа проектирования систем отображения и обработки информации приобретает всё более широкие масштабы, что, впрочем, вполне естественно. 

Особый упор при внедрении данных задач следует конечно придавать современным CASE-средствам разработки программ, так как они наиболее оптимально позволяют проектировать решения в основе которых лежат, в первую очередь, требования к согласованному пользовательскому интерфейсу, каковым и является интерфейс Windows. Никакие продукты других фирм, доступные сегодня, не обеспечивают одновременную простоту использования, производительность и гибкость в такой степени, как Delphi. Этот язык заполнил брешь между языками 3-го и 4-го поколений, соединив их сильные стороны и создав мощную и производительную среду разработки.

	
Описание ресурсов выбранной ПЭВМ

Технические характеристики ЭВМ

Современные вычислительные машины представляют одно из самых значительных достижений человеческой мысли, влияние которого на развитие научно-технического прогресса трудно переоценить. Области применения ЭВМ непрерывно расширяются. Этому в значительной степени способствует распространение персональных ЭВМ, и особенно микроЭВМ.

Пожалуй, основную помощь компьютер может оказать в получении информации. Это относится как к поиску информации через Internet , о чем в последнее время много говорят и пишут, и к извлечению ее различного рода справочников, энциклопедий и словарей, существующих в электронном виде и снабженных удобными системами поиска, что облегчает нахождение информации. 

Другая важная область применения компьютера – обмен информации и обучение. Также компьютер применяется в различных областях науки, медицине и т.д.

Основные блоки IBM PC

Обычно персональные компьютеры IBM PC состоят из трех частей (блоков) :

системного блока;

клавиатуры, позволяющей вводить символы в компьютер;

монитора  (или  дисплея)  - для изображения текстовой и графической информации.

Компьютеры выпускаются и в портативном варианте - в "наколенном" (лэптор) или "блокнотом" (ноутбук) исполнении. Здесь системный блок, монитор и клавиатура заключены в один корпус: системный блок спрятан под клавиатурой, а монитор сделан как крышка к клавиатуре. 

Хотя из этих частей компьютера системный блок выглядит наименее эффектно, именно он является в компьютере "главным". В нем располагаются все основные узлы компьютера:

электронные схемы, управляющие работой компьютера (микропроцессор, оперативная память, контроллеры устройства и т.д.);

блок питания, преобразующий электропитание сети в постоянный ток низкого напряжения, подаваемый на электронные схемы компьютера;

накопители  (или  дисководы)   для   гибких   магнитных дисков, используемые для чтения и записи на гибкие магнитные диски (дискеты);

накопитель на жестом магнитном диске, предназначенный для чтения и записи на несъемный жесткий магнитный диск (винчестер). 

Логическое устройство компьютера

Микропроцессор. Самым главным элементом в компьютере, его "мозгом", является микропроцессор - небольшая (в несколько сантиметров) электронная схема, выполняющая все вычисления и обработку информации. Микропроцессор умеет производить сотни различных операций и делает это со скоростью в несколько десятков или даже сотен миллионов операций в секунду. В компьютерах типа IBM PC используются микропроцессоры фирмы Intel, а также совместимые с ними микропроцессоры других фирм (AMD, Cyrix, IBM и др.).

Сопроцессор. В тех случаях, когда на компьютере приходится выполнять много математических вычислений (например, в инженерных расчетах), к основному микропроцессору добавляют математический сопроцессор. Он помогает основному микропроцессору выполнять математические операции над вещественными числами. Новейшие микропроцессоры фирмы Intel (80486 и Pentium) сами умеют выполнять операции над вещественными числами, так что для них сопроцессоры не требуются.

Оперативная память. Следующим очень важным элементом компьютера является оперативная память. Именно из нее процессор и сопроцессор берут программы и исходные данные для обработки, в нее они записывают полученные результаты. Название "оперативная" эта память получила потому, что она работает очень быстро, так что процессору не приходится ждать при чтении данных из памяти или записи в память. Однако содержащиеся в ней данные сохраняются только пока компьютер включен, при выключении компьютера содержимое оперативной памяти стирается (за исключением, о которых говорится ниже).

Контроллеры и шина. Чтобы компьютер мог работать, необходимо, чтобы в его оперативной памяти находились программа и данные. А попадают они туда из различных устройств компьютера - клавиатуры, дисководов для магнитных дисков и т.д. Обычно эти устройства называют внешними, хотя некоторые из них могут находиться не снаружи компьютера, а встраиваться внутрь системного блока, как это описывалось выше. Результаты выполнения программ выводятся на внешние устройства - монитор, диски, принтер и т.д.

Таким образом, для работы компьютера необходим обмен информацией между оперативной памятью и внешними устройствами. Такой обмен называется вводом-выводом. Но этот обмен не происходит непосредственно: между любым внешним устройством и оперативной памятью в компьютере имеются целых два промежуточных звена :

1. Для каждого внешнего устройства в компьютере имеется электронная схема, которая им управляет. Эта схема называется контроллером, или адаптером. Некоторые контроллеры (например, контроллер дисков) могут управлять сразу несколькими устройствами.

2. Все контроллеры и адаптеры взаимодействуют с микропроцессором и оперативной памятью через системную магистраль передачи данных, которую в просторечии обычно называют шиной.

Электронные платы. Для упрощения подключения устройств электронные схемы IBM PC состоят из нескольких модулей - электронных плат. На основной плате компьютера - системной, или материнской, плате - обычно располагаются основной микропроцессор, сопроцессор, оперативная память и шина. Схемы, управляющие внешними устройствами компьютера (контроллеры или адаптеры), находятся на отдельных платах, вставляющихся в унифицированные разъемы (слоты) на материнской плате. Через эти разъемы контроллеры устройств подключаются непосредственно к системной магистрали передачи данных в компьютере - шине. Таким образом, наличие свободных разъемов шины обеспечивает возможность добавления к компьютеру новых устройств. Чтобы заменить одно устройство другим (например, устаревший адаптер монитора на новый), надо просто вынуть соответствующую плату из разъема и вставить вместо нее другую. Несколько сложнее осуществляется замена самой материнской платы.


Характеристики периферийных устройств

В состав современных ЭВМ входят многочисленные и разнообразные по выполняемым функциям, принципам действия и характеристикам периферийные устройства, которые по назначению можно разделить на две группы:

1) внешние запоминающие устройства, предназначенные для хранения больших объемов информации;

2) устройства ввода-вывода, обеспечивающие связь машины с внешней средой путем ввода и вывода информации из ЭВМ, ее регистрации и отображения.

Операции ввода и вывода определяются относительно ядра ЭВМ - процессора и основной памяти.

Операцией ввода называется передача в ядро ЭВМ информации из внешней среды (в том числе от пользователя), или из внешних запоминающих устройств.

Операцией вывода называется передача информации из ядра ЭВМ во внешнюю среду или во внешние запоминающие устройства.

Общей характеристикой для всех периферийных устройств является скорость, с которой устройство может принимать или передавать данные. Большинство периферийных устройств имеет электромеханические узлы, скорость работы которых значительно ниже скорости работы электронных устройств ЭВМ. Скорости передачи данных, с которыми работают различные периферийные устройства, отличаются весьма значительно: от нескольких единиц до нескольких миллионов байт/с.

Периферийные устройства различают по реализованному в них синхронному или асинхронному режиму передачи данных. При синхронном режиме передача данных производится в определенном темпе, который задается рабочей скоростью движения носителя информации, например магнитной ленты. При асинхронном режиме передача данных может происходить в свободном темпе с остановом после передачи любого байта.

Основные характеристики внешних запоминающих устройств

Одной из основных характеристик ВЗУ является общий объем хранимой информации, или емкость ВЗУ, обычно измеряемая в байтах.

Из-за большого различия быстродействия оперативной памяти и ВЗУ обращения к внешней памяти вызывают потери производительности ЭВМ. Поэтому быстродействие ВЗУ является показателем не менее важным, чем его емкость. 

Обращение к ВЗУ в общем случае предполагает последовательное выполнение двух процессов:

1) доступа к ВЗУ - установки головок на участок носителя, с которого требуется считать или на который нужно записать информацию;

2) считывания и передачи информации из ВЗУ в оперативную память или передачи информации из памяти в ВЗУ и записи ее на носитель.

Соответственно быстродействие ВЗУ определяется двумя показателями: временем доступа и скоростью передачи информации.  Различают среднее и максимальное время доступа.

В связи с определенными техническими особенностями магнитных носителей информации, на них нельзя записать и с них нельзя считать отдельный байт. Запись и считывание информации могут производиться только группами байт строго определенного размера - блоками.

Внешние ЗУ делятся на устройства с прямым и последовательным доступом. В устройствах с прямым доступом, к которым относятся магнитные диски и барабаны, время доступа мало зависит от положения носителя относительно головки в момент обращения к ВЗУ, что достигается циклическим движением носителя с большой скоростью относительно головки.

В устройствах с последовательным доступом (ВЗУ на магнитных лентах) для поиска нужного участка носителя требуется последовательный просмотр записанной на носителе информации, для чего может потребоваться несколько минут.

К важным характеристикам ВЗУ также относятся достоверность функционирования и относительная стоимость устройства.

Обычно достоверность работы ВЗУ оценивается числом правильно воспроизводимых в режиме записи-считывания двоичных знаков на один ошибочный знак.

Относительная стоимость ВЗУ определяется как отношение стоимости устройства к его емкости.

Основные типы устройств ввода-вывода информации

Устройство ввода позволяет вводить в машину данные и программы. Устройства вывода служат для вывода из ЭВМ результатов обработки данных, в том числе для их регистрации и отображения.

Типы устройств ввода информации:

1) Ручного ввода: клавиатура пульта управления.

2) Полуавтоматического ввода: клавиатура дисплея, ручной манипулятор "мышь", световое перо, сканер, планшет, джойстик, устройство ввода с перфолент, устройство ввода с магнитных носителей.

3) Автоматического ввода: читающие автоматы, речевые анализаторы, устройства ввода с каналов связи, аналого-цифровой преобразователи, телетайпы.

Типы устройств вывода информации:

1) Устройства фиксации на машинных носителях: перфораторы, устройства записи на магнитные носители.

2) Устройства регистрации: знакогенерирующие (АЦПУ) и графические (графопостроители).

3) Устройства наглядного отображения: дисплеи и индикаторы.

Особенности использования ОС

Windows 95. Объектно-ориентированный подход

	При создании Windows 95 фирма Microsoft в полной мере реализовала объектно-ориентированный подход. Поскольку именно он лег в основу новой операционной системы, вначале скажем несколько слов о том, что такое ориентация на объекты.

	Понятие “объектно-ориентированный” возникло в программировании сравнительно недавно. Когда вычислительная мощность машин была невысока, о создании объектно-ориентированных систем не могло быть и речи. Основой всего был программный код. Программисты записывали последовательности команд для выполнения тех или иных действий над данными, которые оформлялись в модули и процедуры. Для работы с каждым объектом создавалась своя процедура.

Объекты, их свойства и методы

	Постепенно с увеличением производительности вычислительных систем процедурный подход начал заменяться объектным. На первое место выдвинулся объект, а не код, который его обрабатывает. На уровне пользователя объектный подход выражается в том, что интерфейс представляет собой подобие реального мира, а работа с машиной сводится к действиям с привычными объектами. Так, папки можно открыть, убрать в портфель, документы — просмотреть, исправить, переложить с одного места на другое, выбросить в корзину, факс или письмо — отправить адресату и т. д. Понятие объекта оказалось настолько широким, что до сих пор не получило строгого определения.

	Объект, как и в реальном мире, обладает различными свойствами. Программист или пользователь может изменять не все свойства объектов, а только некоторые из них. Можно изменить имя объекта, но нельзя изменить объем свободного места на диске, который также является его свойством. Свойства первого типа в языках программирования носят название read/write (для чтения и записи), а свойства второго — read only (только для чтения).

	Метод — это способ воздействия на объект. Методы позволяют создавать и удалять объекты, а также изменять их свойства. Например, для того чтобы нарисовать на экране точку, линию или плоскую фигуру, составляются разные последовательности кодов или программы. Пользователь, однако, применяет для отображения этих объектов один метод Draw( ), который содержит коды для отображения всех объектов, с которыми он работает. За такое удобство приходится платить тем, что объектно-ориентированные системы могут работать только на достаточно мощных вычислительных установках.

Процедурный подход в ранних ОС

	До настоящего времени во всех операционных системах преобладал процедурный подход. Для того чтобы произвести в системе какое-либо действие, пользователь должен был вызвать соответствующую программу (процедуру) и передать ей определенные параметры, например, имя обрабатываемого файла. Программа выполняла над файлом указанные действия и заканчивала работу. При этом пользователь в первую очередь имел дело с задачей обработки документа, а затем уже с самим документом. В давние времена, когда ЭВМ не были персональными, пользователь описывал действия, которые должна была выполнить задача, на некоем странном языке, называемом языком управления заданиями (JCL—Job Control Language).

	С появлением терминала язык управления заданиями упростился и постепенно превратился в командную строку, однако на первом месте все равно находилась процедура обработки документа, а сам документ играл вспомогательную роль.

	Следующим этапом упрощения работы с машиной стал создание различного рода операционных оболочек (сначала текстовых), которые “спрятали” от пользователя командную строку DOS. Ввод последовательности символов, из которой состоит команда операционной системы, свелся к нажатию одной функциональной клавиши или щелчку мыши. Самой распространенной из таких “надстроек” над операционной системой стала оболочка Norton Commander,

	Однако основным “инструментом” пользователя все еще оставалась клавиатура. Качественный переход произошел после того, как появились графические оболочки. Теперь пользователь в основном работает с устройством указания, таким как мышь, трекбол или планшет, а не с клавиатурой (разумеется, это не относится к работе внутри самих приложений, например, в текстовых редакторах). Ему не нужно помнить почти никаких команд операционной системы. Для того чтобы запустить приложение, достаточно щелкнуть мышью на его изображении или на “значке” (автор предпочитает называть его пиктограммой).

От процедурного подхода к объектно-ориентированному

	В начале 90-х гг. процедурный подход все еще преобладает, однако намечаются и некоторые признаки объектно-ориентированного. Тогда же появился метод объектного связывания и встраивания (OLE), позволяющий щелчком на изображении объекта неявно запустить приложение, которое его обрабатывает, а после окончания обработки вернуться в предыдущее приложение.

	С OLE тесно связан так называемый метод редактирования документов “на месте” (in-place). Если в документ встроен объект, который должен обрабатываться конкретным приложением, то при щелчке на этом объекте нужное приложение неявным образом запускается, причем в рабочем поле не изменяется ничего, кроме панелей инструментов. Например, если в тексте, который обрабатывается в редакторе Microsoft Word, есть таблица, созданная в редакторе Microsoft Excel, то при щелчке на ней произойдет замена панелей инструментов Excel. Пользователь может обрабатывать документ совсем другим приложением, даже не подозревая об этом.

	Еще один механизм, который упростил работу и приблизил эру объектно-ориентированного подхода, называется “Drag & Drop”, что в буквальном переводе означает “перетащить – и  оставить”. Работая этим методом, вы щелкаете кнопкой мыши (как правило, левой) на изображении объекта, перемещаете его по экрану при нажатой кнопке и отпускаете кнопку, когда указатель окажется в нужном месте экрана. Таким образом, процедуры копирования, перемещения и удаления стали объектно-ориентированными.

Выбор показателей и параметров при оценке ОС

		Windows 95 — объектно-ориентированная ОС

		Windows 95—полноценная операционная система

		Использование стандарта Plug & Play

		32-разрядная ОС защищенного режима

		Приоритетная многозадачность

		Многопоточность

		32-разрядные устанавливаемые файловые системы

		Поддержка длинных имен файлов

		Интерфейс пользователя

Работа с памятью

	Сравнительная оценка ОС ПВЭМ по выбранным показателям

	Принципиальная новизна операционной системы Windows 95 состоит именно в том, что концепция объектно-ориентированного подхода реализована в ней наиболее полно.

	Windows 95 — объектно-ориентированная ОС

	Объектно-ориентированный подход реализуется через модель рабочего стола. Пользователь работает с задачами и приложениями так же, как с документами на своем письменном столе.

	Это удобно для людей, которые первый раз увидели компьютер, но создает некоторые трудности “переходного периода” для тех, кто привык считать программу основой всего сущего в машине.

	Итак, одно из главных отличий Windows 95 от более ранних версий (и от подавляющего большинства других операционных систем) состоит в том, что основной упор в ней делается на документ, а программа, задача, приложение или программный код вообще рассматриваются только как инструмент для работы с документом.

	Windows 95—полноценная операционная система

	Другая принципиальная особенность Windows 95 состоит в том, что она, является “настоящей” операционной системой (а не операционной оболочкой, выполняемой под управлением MS-DOS). Под словом “настоящая” мы подразумеваем то, что при включении машины сразу выполняется загрузка Windows 95. Для пользователя это оборачивается некоторыми неудобствами. Он должен привыкнуть к тому, что прежде чем выключить машину, нужно корректно завершить работу с Windows 95, поскольку новая операционная система создает буфера в оперативной памяти, и их содержимое должно быть сброшено на диск.

	Использование стандарта Plug & Play

	Подход к аппаратному обеспечению также кардинальным образом изменился. Теперь система использует стандарт Plug & Play (переводится как “включил – и – работай”), что облегчает и максимально автоматизирует процесс добавления новых периферийных устройств. Стандарт Plug & Play — это совместная разработка фирм Intel и Microsoft. Основная его идея заключается в том, что каждое устройство, соответствующее этому стандарту, сообщает о себе определенную информацию, благодаря которой операционная система выполняет автоматическую конфигурацию периферийных устройств и разрешает аппаратные конфликты. Стандарту Plug & Play должен в первую очередь удовлетворять BIOS материнской платы и, разумеется, периферийные устройства. Таким образом, операционная система обеспечивает автоматическое подключение и конфигурирование устройств, соответствующих требованиям стандарта  Plug and Play, поддерживает совместимость с устаревшими устройствами и создает динамическую среду для подключения и отключения мобильных компонентов.

	32-разрядная ОС защищенного режима

	MS-DOS была чисто 16-разрядной операционной системой и работала в реальном режиме процессора. Windows 95 является 32-разрядной операционной системой, которая работает только в защищенном режиме процессора. Ядро, включающее управление памятью и диспетчеризацию процессов, содержит только 32-разрядный код. Это уменьшает издержки и ускоряет работу. Только некоторые модули имеют 16-разрядный код для совместимости с режимом MS-DOS.  Windows 95 32-разрядный код используется везде, где только возможно, что позволяет обеспечить повышенную надежность и отказоустойчивость системы. Помимо этого, для совместимости с устаревшими приложениями и драйверами используется и 16-разрядный код.

Приоритетная многозадачность

	В отличие от предыдущих версий, Windows 95 поддерживает приоритетную многозадачность (preemptive multitasking) и параллельные процессы (multithreading). В Windows 3+ существовала так называемая “вытесняющая многозадачность” (non-preemptive multitasking), при которой за распределение процессорного времени отвечало приложение. Система выполняла задачу до тех пор, пока приложение “добровольно” не отдавало процессор. В Windows 95 за распределение времени процессора отвечает ядро системы, что обеспечивает нормальную работу фоновых задач. 

Средства удаленного доступа

Windows 95, в отличие от большинства операционных систем для персональных компьютеров, с самого начала создавалась для работы в сети, благодаря чему возможность совместного использования файлов и устройств полностью интегрирована в интерфейс пользователя Windows 95.

	В Windows 95 вы можете получить доступ к сети без установки сетевого адаптера! Его заменят модем и специальный протокол РРР (“от – точки – к - точке”, или “point – to - point protocol”). В этом случае скорость работы ограничена скоростью вашего модема. Система предоставляет развитые программные средства для доступа к сетям Internet, Microsoft Network, America Online и другим аналогичным службам.

Возможности работы с мультимедиа

	Современную операционную систему сложно представить себе без средств мультимедиа. Для работы с аудио- и видеофайлами различных форматов в составе Windows 95 имеется набор кодеков — эффективных программных средств сжатия и распаковки этих файлов и преобразования их форматов для вывода на различные устройства мультимедиа, слово “кодер” является сокращением слов “кодер-декодер”, так же, как “модем” — сокращение от слов “модулятор-демодулятор”). При воспроизведении файла система запускает тот кодер, с помощью которого файл был создан. Драйверы звуковых карт используют 32-разрядный код, но в тех случаях, когда система не может распознать карту, применяется 16-разрядный драйвер реального режима, который поставляется вместе с картой. При работе 32-разрядного драйвера защищенного режима драйвер реального режима автоматически отключается.

	При установке компакт-диска в устройство считывания система пытается распознать его формат и запустить соответствующее приложение для его воспроизведения. Если установлен диск формата ISO-9660 (программный), то Windows 95 ищет файл с именем AUTO-RUN.INF u  выполняет его. Это механизм получил название Spin & Grin.

	Значительно переработан код, который отвечает за обработку изображений. поэтому качество воспроизведения файлов AVI сильно возросло, а скорость их воспроизведения теперь почти не зависит от выбранного масштаба изображения. Встроенные возможности работы со звуком, видео и компакт-дисками дадут новый толчок развитию приложений мультимедиа. Windows 95  - это первая версия Windows, которая бросает вызов MS-Dos в сфере поддержки игрового программного обеспечения.

Работа с памятью

	Windows 95 автоматически освобождает всю память, отведенную приложению, после того, как оно заканчивает работу. В Windows 3.х некорректно написанные приложения нередко освобождали не всю запрошенную ими память. Время от времени памяти оказывалось настолько мало, что единственным выходом оставался перезапуск системы (а иногда и перезагрузка машины). Такая неприятность носит название “утечка памяти” (“memory leak”) и случается с программными произведениями даже известнейших фирм. При завершении приложения в Windows 95 вся память, занимаемая им, освобождается автоматически, и таких проблем не возникает.

	На данный момент мировая компьютерная индустрия развивается очень стремительно. Производительность систем возрастает, а, следовательно, возрастают возможности обработки больших объёмов данных.

		Операционные системы класса MS-DOSа уже не справляются с таким потоком данных и не могут целиком использовать ресурсы современных компьютеров. Поэтому в последнее время происходит переход на более мощные и наиболее совершенные операционные системы класса UNIX , примером которых и является Windows NT, выпущенная корпорацией Microsoft.

		
Структурная схема алгоритма

		

Начало

Ввод

Проверка

Ложь

Истина

Редактиро-

вание

Запрос

Расчет

Проверка

Ложь

Истина

Печать

Конец

1



2



3





4



5



6



7


1.5. Описание структурной схемы алгоритма

		Блок №1:	

			Блок «Данные». При реализации алгоритма на этом этапе подготавливается и вводится начальная информация. Заполняются те поля таблицы которые имеют состояние «заполняется вручную» (см. пункт 1.1.).

		Блок №2:	

			Блок «Принятия решения». На этом шаге проверяются введенные данные на наличие опечаток и т.д. Если пользователя не удовлетворяют исходные данные то выполняется Блок №3 иначе Блок №4 (см. ниже).

		Блок №3	

			Блок «Процесс». Пользователь производит редактирование исходных данных в случае ошибок, изменении цифр или иных случаях. После выполнения этого блока алгоритм возвращается на шаг назад (см. Блок №2).

		Блок №4

			Блок «Процесс». В случае успешного выполнения Блока №2 выполняется этот Блок. На этом этапе пользователь выполняет запрос «По дате», он вводит с клавиатуры интересующую его дату расчета и программа выводит на экран все цифры по этой дате, а также предоставляет возможность перейти к следующему этапу работы алгоритма.

		Блок №5

			Блок «Процесс». На этом этапе происходит процесс расчета (или перерасчета) всей таблицы, подготавливается отчет.

		Блок №6

			Блок «Принятия решения». После выполнения Блока №5 пользователю предоставляется возможность визуально проверить результаты работы программы. В случае неудовлетворительного результата алгоритм возвращает нас к выполнению Блока №3 (см. выше) иначе Блока №7.

		

		Блок №7

			Блок «Документ». Результаты работы выводятся на принтер в виде таблицы (см. Приложение №1).

	
Отладка программы

	Используемые средства автоматизации отладки программ

Отладка программы - это процесс выполнения программы с целью обнаружения в ней ошибок и их устранение.

Начальный процесс отладки программы начинается с визуального контроля. Визуальный контроль - это проверка программ “ за столом “, без использования компьютера. На первом этапе визуального контроля осуществляется  чтение программы, причем особое внимание уделяется следующим ее элементам: 

комментариям и их соответствию тексту программы ;

условиям в операторах условного выбора ( IF, CASE ) и цикла;

сложным логическим выражениям;

возможности не завершения итерационных циклов   ( WHILE, REPEAT). 

	Второй этап визуального контроля - сквозной контроль программы ( ее ручная прокрутка на нескольких заранее подобранных простых тестах). 

	Интегрированная среда разработки в Delphi предоставляет не одну возможность упростить тестирование и отладку приложения. Путь к успеху лежит через разделение процесса отладки и тестирования на два разных этапа работы над программой, и вам следует четко представлять себе, что цель тестирования – определить наличие (или отсутствие) ошибок, В то время как цель отладки – определить местоположение ошибок и устранить их. Поскольку цели этих  двух этапов разработки программ различны, различны и используемые для этого методы и инструменты.

	Лучший путь исключить ошибки в программе - защититься от них еще при написании кода. Надежное приложение – приложение, создаваемое с возможностью легко и просто отлаживать его. Вот основные показатели, которые помогают уменьшить количество ошибок при разработке программ.

Приложение должно быть хорошо организовано. Разделите программу на модули, каждый из которых выполняет определенные задачи. Например, если код, создающий отчет, разнесен по десяти модулям, время отладки такого кода увеличится даже более чем в десять раз (хотя бы за счет поиска нужной строки в десяти модулях). Конечно же, вы можете вызывать подпрограммы из других модулей, но они должны быть созданы для выполнения четко поставленной задачи. Нецелесообразно размещать одну половину выполняемой операции в процедуре в одном модуле, а вторую половину – в другой процедуре (тем более— в другом модуле). 

Если процедура не может переварить некорректные данные и вызвать тем самым крах всей системы, проверьте целостность входных данных, прежде чем работать с ними. 

Используйте отладочный вариант вашей программы. В отладочной версии программы содержится дополнительный код, цель которого — отследить выполнение программы, убедиться в корректности ее работы и упростить отладку вашего приложения.

Delphi позволяет очень легко внести тестовый и отладочный коды в приложение. Один из путей – использовать в приложении два алгоритма одновременно (быстрый, но рискованный, и медленный, но проверенный), затем сравнить результаты работы обоих алгоритмов. Конечно же, этот вариант используется только в бета-версии, и после всестороннего тестирования, если все работает отлично и без сбоев, в конечной версии продукта останется только быстрый (и после такого тестирования – уже не рискованный) метод.

На этом этапе наиболее часто используемыми средствами для отладки программы являлись:

Пошаговая отладка 

Одна из самых распространенных задач отладки – выполнение программы шаг за шагом, по одной строке за раз для проверки правильности выполнения. При пошаговом прохождении кода отладчик выводит окно редактирования с выполняемой программой. Точка выполнения, показывающая следующую выполняемую строку программы, представляется в виде зеленой стрелки, расположенной слева от области исходного текста в окне редактирования.

После успешной компиляции модуля на полосе отладочной информации каждая строка кода, внесшая свой вклад в модуль, будет отмечена маленьким, синим кружком. Если же строка не помечена, значит, здесь поработал оптимизатор. Поскольку для таких строк выполняемый код не сгенерирован эти строки не будут помечены точкой выполнения. 

Просмотр значений переменных

При пошаговом прохождении программы в отладчике вы, несомненно, захотите узнать, что содержится в различных переменных. Для этого можно использовать окно просмотра переменных Watch List, которое предоставляет возможность пассивно просматривать содержимое одной или нескольких переменных, или диалоговое окно Evaluate/Modify, позволяющее работать только с одной переменной (в нем можно не только просмотреть, но и изменить ее содержимое). 

Установка точек останова

Точка останова (breakpoint) — своеобразный знак STOP для отладчика (на полосе слева в окне редактора она и выглядит как маленький красный значок). Когда приложение запущено под отладчиком и доходит до строки, в которой находится точка останова, оно прекращает работу и ждет ваших дальнейших распоряжений. Такие точки могут быть условными и безусловными. Отладчик всегда останавливается на точке безусловного останова и может останавливаться в точке условного останова, когда выполнено условие. Интегрированный отладчик Delphi поддерживает два типа условий — логическое и по количеству проходов.



	1.6.2. Трансляция и синтаксическая отладка

На этом этапе происходит статический контроль- это проверка программы по ее тексту (без выполнения) с помощью инструментальных средств. Наиболее известной формой статического контроля является синтаксический контроль программы с помощью компилятора, при котором проверяется соответствие текста программы синтаксическим правилам языка программирования. Сообщения компилятора обычно делятся на несколько групп в зависимости от уровня тяжести нарушения синтаксиса языка программирования: 

- информационные сообщения и предупреждения,  при обнаружении которых компилятор, как правило, строит корректный объектный код и дальнейшая работа с программой (компоновка, выполнение) возможна (тем не менее сообщения этой группы также должны тщательно анализироваться, так как их появление также может свидетельствовать об ошибке в программе - например, из-за неверного понимания синтаксиса языка);

- сообщения об ошибках, при обнаружении которых компилятор пытается их исправить и строит объектный код, но его корректность маловероятна и дальнейшая работа с ним скорее всего не возможна; 

	-  сообщения о серьезных ошибках, при наличии которых  построенный компилятором объектный код заведомо некорректен и его дальнейшее использование невозможно;

	- сообщения об ошибках, обнаружение которых привело к прекращению синтаксического контроля и построения объектного кода.

	Однако, практически любой компилятор пропускает некоторые виды синтаксических ошибок. Место обнаружения ошибки может находиться далеко по тексту программы от места истинной ошибки, а текст сообщения компилятора может не указывать на истинную причину ошибки. Одна синтаксическая ошибка может повлечь за собой генерацию компилятором нескольких сообщений об ошибках (например, ошибка в описании переменной приводит к появлению сообщения об ошибке в каждом операторе программы, использующем эту переменную). 

	Второй формой синтаксического контроля может быть контроль структурированности программ, то есть проверка выполнения соглашений и ограничений структурного программирования. Примером подобной проверки может быть выявление в тексте программы ситуаций, когда цикл образуется с помощью оператора безусловного перехода (использования оператора GOTO для перехода вверх по тексту программы ). Для проведения контроля структурированности могут быть созданы специальные инструментальные средства, а при их отсутствии эта форма статического контроля может совмещаться с визуальным контролем (см. пункт 1.5.1.).

Третья форма статического контроля - контроль правдоподобия программы, то есть выявление в ее тексте конструкций, которые хотя и синтаксически корректны, но скорее всего содержат ошибку или свидетельствуют о ней. Основные неправдоподобные ситуации : 

	- использование в программе неинициализированных переменных (то есть переменных, не получивших начального значения) ; 

	- наличие в программе описаний элементов, переменных, процедур, меток, файлов,  в дальнейшем не используемых в ее тексте;

	- наличие в тексте программы фрагментов, никогда не выполняющихся;

	- наличие в тексте программы переменных, ни разу не используемых для чтения после присваивая им значений;

	- наличие в тексте программы заведомо бесконечных циклов ;

	Даже если присутствие в тексте программы неправдоподобных конструкций не приводит к ее неправильной работе, исправление этого фрагмента повысит ясность и эффективность программы, т. е. благотворно скажется на ее качестве.

	Для возможности проведения контроля правдоподобия в полном объеме также должны быть созданы специальные инструментальные средства, хотя ряд возможностей по контролю правдоподобия имеется в существующих  отладочных и обычных компиляторах.

	Следует отметить, что создание инструментальных средств контроля структурированности и правдоподобия программ может быть существенно упрощено при применении следующих принципов: 

	1) проведение этих дополнительных форм статического контроля после завершения компиляции и только для синтаксически корректных программ ;

	2) максимальное использование результатов компиляции программы и, в частности, информации, включаемой в листинг компилятора;                                                  

	3) вместо полного синтаксического разбора текста проверяемой программы построение для нее списка идентификаторов и списка операторов с указанием всех их необходимых признаков.

	При отсутствии инструментальных средств контроля правдоподобия эта фаза статического контроля также может объединяться с визуальным контролем (см. пункт 1.5.1.).

	На этом этапе разработки программы наиболее часто встречающимися ошибками являлись:

	EArrayError – данная исключительная ситуация вызывается, если для доступа к элементу массива используется недопустимый индекс, если массив, имеющи1.й определенный размер, добавляют слишком много элементов, а также при попытке вставки элемента в отсортированный массив.

	EconvertError – данная исключительная ситуация вызывается, если StrToInt или StrToFloat не в состоянии преобразовать определенную строку в корректное значение типа Integer или значение с плавающей запятой соответственно. Названная исключительная ситуация возникает также при ошибочном копировании данных из одного объекта в другой.

	EDdatabaseError – эта исключительная ситуация вызывается, если компонент при выполнении программы обнаруживает ошибку в базе данных.

	EDBEditError – указанная исключительная ситуация вызывается, если приложение пытается ввести данные, несовместимые с заданной маской.

	
Инструкция по использованию программы

	Инструкция для программиста

	Программа «Распределение затрат» состоит и 3-х файлов:

	RaspZatr.exe – исполняемый файл программы

	Tabl.db – файл таблицы Базы Данных, совместимый с Paradox 7

	Tabl.px – индексный файл таблицы (создается автоматически).

	Для работы программы на компьютере необходимо иметь утилиту Borland Database Engine (BDE) Admistrator. 

Мощность и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). Сейчас не различают эти два названия (BDE и IDAPI) и считают их синонимами. BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. Но, как показывает практика, производительность систем с использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC драйвера работают через специальный “ODBC socket”, который позволяет встраивать их в BDE. 

	Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этими же особенностями обладает и Delphi. 

	Для запуска программы необходимо произвести следующие действия:

Скопировать файлы программы в директорию на каком либо диске.

Запустить программу BDE Administrator.

В меню Object выбрать New или нажать Ctrl+N.

В появившемся окне выбора типа драйвера БД необходимо указать «Standard» и нажать Enter.

Далее следует ввести АЛИАС БД – «RaspZatr».

Во вкладке Definition в поле Path необходимо указать путь местоположения программы. (Например C:\RaspZatr)

В меню Object выбрать Apply или нажать Ctrl+A.

Закрыть утилиту.


Инструкция для оператора

Из директории где располагается программа необходимо запустить файл RaspZart.exe для запуска программы. 

После этого на экране появится главная форма приложения. На форме находятся поля для ввода данных (слева каждое из них подписано), но они на начальном этапе не активны, т.к. форма находится в режиме «Просмотра записей». Снизу под полями ввода находятся две кнопки с синими стрелками. Они предназначены для просмотра введенных данных. Стрелка «Вправо» переводит запись в таблице на одну вперед. Стрелка «Влево» - на одну запись назад.

В правом нижнем углу формы находятся две кнопки: «Просмотр таблицы» и «Выход». При нажатии кнопки «Просмотр таблицы» появится следующая форма, предназначенная для редактирования любой записи в таблице. Здесь можно увидеть две кнопки: «Ок» и «Отмена». Первая для подтверждения изменений и выхода, а вторая для отмены всех изменений и выхода из  этой формы. Кнопка «Выход» предназначена для выхода из приложения.

Справа на главной форме находится панель с тремя кнопками: «Добавить», «Удалить» и «Расчет». Для добавления новых записей в таблицу необходимо нажать на кнопку «Добавить», при этом форма перейдет в режим добавления новых записей. В этом режиме активизируется первое поле со списком. В этом поле необходимо выбрать нужный счет или «Итого». После этого программа активизирует, исходя из счета, поле для введения значений. Программа может «перепрыгивать» некоторые счета, т.к. она выбирает какое поле вводится при текущем счете. Для удобства ввода цифр программа показывает справа от поля ввода еще два дополнительных. Фокус автоматически передается в нижнее. Здесь можно непосредственно вводить значение, если есть необходимость произвести суммирование то следует ввести значение и нажать “+” на  вспомогательной цифровой клавиатуре. При этом значение перейдет в верхнее поле и станет выделено красным цветом. Таким образом можно вводить значение, нажимать “+” и значения будут суммироваться. После того как получилась сумма которую нужно запомнить необходимо нажать «Enter» и сумма перенесется в нужное поле и программа активизирует следующее поле для ввода. В конце ввода программа попросит ввести дату, нужно ввести дату в формате ДД.ММ.ГГГГ и нажать «Enter». Ввод данных можно в любое время отменить нажатием кнопки «Отменить», при этом форма перейдет в режим «Просмотра записей». 

Для удаления записи необходимо встать на нужную запись и нажать на кнопку удалить. При этом программа попросит подтвердить удаление. 

После того как возникла необходимость расчета таблицы нужно нажать кнопку «Расчет» и ввести дату расчета. Поле этого программа выполнит запрос по введенной дате и выведет на экран все счета по этой дате. На этой форме находятся кнопки: «Подготовка к печати», «Расчет» и «Назад». Если таблица еще не рассчитана то нужно нажать кнопку «Расчет». Если необходимо распечатать таблицу – нажать «Подготовка к печати». Для перехода в главную форму – нажать «Назад».


Контрольный пример

Это один из важнейших разделов дипломного проектирования. Он с большей точностью доказывает правильность работы алгоритма и правильность работы программы. Для сравнения будут предложены результаты счета программы (см. приложение 1) и результаты счета вручную представленные ниже, с одними и теми же исходными данными.

Для начала заполним случайным образом исходные данные в предназначенные для этого поля:

Таблица №4

№

A

B

C

D

E

F

Q

H

I

J

1

23100

01.01.2000

2



4







X



2

26000

01.01.2000

3



2







X



3

29100

01.01.2000

4



3







X



4

29200

01.01.2000

2



5







X



5

29300

01.01.2000

3



1







X



6

29400

01.01.2000

6



7







X



7

29900

01.01.2000

10

X

X

X

13

16

14



8

Итого

01.01.2000



25







45

X



После этих действий необходимо исходя из формул в постановке задачи (см. пункт 1.1. «Расчет таблицы») заполнить поля предназначенные для этого.

При расчете столбца С необходимо просуммировать все цифры с первой строки до седьмой. В результате получим 30. Это значение запишем в поле С8.

При расчете столбца D необходимо рассчитать коэффициент, по формуле D8/C8, а затем на этот коэффициент умножить значение соответствующей строки С. 



Таким образом рассчитываются все столбцы, ссылаясь на формулы постановки задачи. После всех расчетов получаем следующую таблицу:

Таблица №4

№

A

C

D

E

F

Q

H

I

J

1

23100

2

1,67

4

5,67

0,42

6,09

X

6,09

2

26000

3

2,5

2

4,5

0,63

5,13

X

5,13

3

29100

4

3,33

3

6,33

0,84

7,17

X

7,17

4

29200

2

1,67

5

6,67

0,42

7,09

X

7,09

5

29300

3

2,5

1

3,5

0,63

4,13

X

4,13

6

29400

6

5

7

12

1,27

13,27

X

13,27

7

29900

10

X

X

X

13

16

14

30

8

Итого

30

25

22

38,67

6,33

45

X

45

Если сравнить значения рассчитанные программой (см. приложение 1) и Таблицу №4 то можно увидеть, что они, при данных начальных данных, идентично. На основе этого можно утверждать, что программа производит вычисления правильно.


1.9. Выводы о проделанной работе

Исходя из того, программа делает правильные расчеты (см. пункт 1.8), делает вывод документов на печать, сохраняет значения на предыдущий период (накапливает информацию), позволяет удобно заполнять таблицу данными, легко проводить редактирование и пересчет, то можно с уверенностью сказать, что цель моего дипломного проектирования достигнута. Более того, внедрение программы на предприятии облегчит работникам рутинный труд расчета таблицы «Распределения затрат», позволит централизовать данные в этой области управления предприятием. В дальнейшей перспективе можно дорабатывать программу, для автоматизации расчета всех видов затрат предприятия и занять достойное место в комплексе задач автоматизации.


2. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ

2.1. Расчет стоимости часа работы ПЭВМ

Для расчета 1 часа работы ЭВМ необходимо иметь данные всех стоимостей эксплуатационных расходов и структуру машинного времени данной ЭВМ.

См/ч = Рэ / Тполн

Рэ – эксплуатационные расходы.

Тполн – полезный фонд работы ЭВМ за год.

См/ч – стоимость машинного часа.

1. (руб.)

где Pi – расходы на зарплату персонала ЭВМ.

№

Должность

Количество

Оклад

Затр. годовой фонд

1

Начальник ЭВМ

1

500

6000

2

Начальник смена опер.

2

450

10800

3

Оператор

4

300

14400

4

Вед. Инженер

1

700

8400



ИТОГО

8

3300

39600

Р1 = 39600 – основная зарплата персонала ЭВМ

Р2 = дополнительная зарплата (ночные часы)

Р2 = 0,1*Р1 – 0,1*39600 = 3960 р.

Р3 – сумма годовых амортизационных отчислений на социальное страхование.

	Р3 = Кс*(Р1+Р2)

	Кс = 7% по нормативу от основной и дополнительной зарплаты.

	Р3 = 0,07*(39600+3960) = 3049,2 р.

Р4 – сумма годовых амортизационных отчислений

	Р4 = Аоб+Азд

	Аоб – амортизация оборудования.

	Азд – амортизация здания.

	Аоб = Коб*Си

	Коб – норма амортизационных отчислений = 2% от оптово – отпускной цены ЭВМ.

	Си = Спрейскур+Кпр*Спрейскур

	Где Кпр – коэффициент, учитывающий доставку, наладку и монтаж ЭВМ = 0,05

	Си = 600550 + 0,05*600550 = 630577,5 р.

	Аоб = 0,1*630577,5 = 63057,75 р.

	Азд = зд*К’*S*H*Сзд

	где зд – норма годовых амортизационных отчислений для зданий в пределах 3%

	К’ – коэффициент удорожания или надбавке к стоимости здания.

	К’ = 1,5

	S – площадь машинного зала (50 м2)

	H – высота машинного зала (3 м)

	Сзд = стоимость 1 м2 (50 р.)

	Азд = 0,03*1,5*50*3*50 = 337,5 руб.

	Р4 = 63057,75 + 337,5 = 63395,25 руб.

Р5 – сумма накладных расходов в пределах 100% зарплаты персонала ЭВМ.

	Р5 = 35000 руб

Р6 – затраты на материалы и запчасти для текущего, капитального и профилактического ремонта = 4%  от стоимости ЭВМ.

	 Р6 = 0,04*600550 = 24022 руб.

Р7 – стоимость силовой электроэнергии потребляемой ЭВМ.

	Р7 = Р*Сэ*Тн

	где Р – мощность электродвигателя (потребляемая мощьность)

	Сэ – стоимость 1 квт./ч.

	Тн – номинальное время работы ЭВМ за год.

	Р7 = 7050 руб

№

Статьи затрат

Сумма затрат (руб.)

1

Основная зарплата

39600

2

Дополнительная зарплата

3960

3

Отчисления на соцстрах

3049,2

4

Амортизационные отчисления

63395,25

5

Накладные расходы

35000

6

Расходы на текущий ремонт

24022

7

Стоимость электроэнергии

7050



ИТОГО

176076,45

2. Определяется фонд полезного времени работы на ЭВМ.



Тпол = Тном - Тпроф - Тпрост



где Тном - номинаьный фонд времени работы ЭВМ = 5000 час.

Тпрофилактики = 750 час.

Тпростоя - (по журналу)

Тпр = 231 час.

	(91 - неиспользованное время

	 20 - отсутствие работы

	 120 - прочее )

Тполн = 5000 - 750 - 231 = 4019 (час.)

Сн/ч = 176076,45/4019 = 43,81

Сн/ч = 44 руб.



3.

Сразр.пр. = Ссчета + Сотладки + Зпрогр.

Где  Ссчета - стоимость счета на ЭВМ одного варианта:

Ссч = Т/60 * Сн.час.

где  Т - время счета (мин.)  (3 мин.)

Ссч = 1/60 * 44 = 2,2 (руб.)

Сотл = Тотл * Сн.ч. = 2*44 = 88 (руб.)

Время составления и отладки программы 1 месяц.

Оклад техника-программиста за месяц = 500 руб. с учетом коэффициента.

Зпр = К*500 = 575 (руб.)

Сразр = 665,2 руб.

При многократном использовании программы затраты на разработку и отладку д/б удельными.


2.2. Расчет стоимости часа работы ПЭВМ

Определение расчета того же варианта вручную техником вычислителем с окладом 500 рублей в месяц.

По паспортным данным ЭВМ ее быстродействие = 1млн. оп/сек.

Из них на долю арифметических приходится 1/3.

При решении будем учитывать только арифметические, т.к. логические операции человек выполняет быстрее.

Таким образом технику-вычислителю необходимо проделать 4*108 операций.

Если он будет делать 10 операций в минуту ( 120000 операций в час ), то для решения задания потребуется : 

Твыч = N/счет = 4*108/1200000 = 3333,33 час.

Часовая ставка вычислителя определяется:

Зв = Змес*Кп/D*Тсм = 500*1,15/22*8 = 3,26 (руб.)

Змес - месячная зарплата 

Кп - поясной коэффициент

D - количество рабочих дней в году

Тсм - длительность смены.



Сбаз.реш. = Зв*Твыч = 3,26*3333,33 = 10866,66 (руб.)



Определим экономию решения на ЭВМ:

Э = Сбаз - Снов = 10866,66-665,2=10201,46 руб.



Если учесть, что при повторном счете отпадает необходимость в составлении программ и ее отладке, то экономия увеличивается.

Эф = (Сб+Ен*Кб)-(Сн+Ен*Кн)

где Сб - затраты по базовому варианту

Сн - затраты по новому варианту

Кб,Кн - капитальные затраты...

Ен - нормативный коэффициент эффективности.



Эф = (3333,33+0,2*700) - (665,2+0,2*10000) = 808,13 (руб.)

Ток = Кн-Кб/Эф = 100000-700/808,13=1,65 (года)


3.3. Расчет экономической эффективности задачи

Внедрение этой программы, как было рассчитано выше ( см. пункт 3.2.), окупается за полтора года, с небольшим. С экономической точки зрения экономики вложение денежных средств в разработку и внедрение этой программы очень выгодно. Во-первых программы окупается через небольшое время, во-вторых она позволяет облегчить труд рабочих, в-третьих исключить многие ошибки, позволить централизованно хранить данные и т.д. Так как программа является лишь частью большого комплекса задачи, в будущем можно будет расширить круг решаемых задач, и моя разработка, по моему мнению, займет достойное место в комплексе задач.


3. ОХРАНА ТРУДА И ОБЕСПЕЧЕНИЕ ЖИЗНЕДЕЯТЕЛЬНОСТИ

Женщины со времени установленной беременности и в период кормления ребенка грудью к работе не допускаются. 	Персонал, работающий на компьютере обязан соблюдать требования  инструкции, разработанной на основании Санитарных норм и правил СанПин 2.2.2.542-96 “Гигиенические требования к видео дисплейным терминалам, персональным электровычислительным машинам и организации работ”, а также нести личную ответственность за соблюдение требований безопасности своего труда и за создание опасного или вредного производственного фактора для других работающих и  поломку компьютера

При работе на компьютере необходимо:

- соблюдать трудовую и производственную дисциплину, ”Правила   внутреннего распорядка Фирмы”;

- выполнять только ту работу, по которой проинструктирован;

- не допускать присутсвия на рабочем месте посторонних лиц;

- уметь оказать первую помощь пострадавшему на производстве и принять меры по устранению нарушений требований безопасности труда;

- о замеченных нарушениях и случаях травматизма немедленно сообщить главным специалистам.

   Запрещается распитие спиртных напитков и употребление наркотиков на производстве. Курить разрешается только в специально отведенных местах, оборудованных противопожарным инвентарем.

  Запрещается загромождать доступ и проходы к противопожарному инвентарю,

огнетушителям и гидрантам.

  Помещение с компьютерами должно иметь естественное и искусственное освещение.

 Площадь на одно рабочее место с компьютером должна составлять не менее

6,0кв.м, кабинет должен иметь систему отопления, кондиционирование воздуха или эффективно приточно-вытяжную вентиляцию.

При работе с компьютером вредными и опасными факторами являются:

- электростатические поля;

- электромагнитное излучение;

-  наличие мощных ионизирующих излучений;

- локальное утомление, общее утомление;

- утомляемость глаз;

- опасность поражения электрическим током;

- пожароопасность.

   Режимы труда и отдыха при работе с компьютером должны организовываться в зависимости от вида и категории трудовой деятельности.

Виды трудовой деятельности разделяются на 3 группы:

Группа А- работа по считыванию информации с экрана компьютера с предварительным запросом;

Группа Б- работа по вводу информации;

Группа В- творческая работа в режиме диалога.

  За основную работу с компьютером следует принимать такую, которая занимает не менее 50% времени в течении рабочей смены.

Для видов трудовой деятельности устанавливается 3 категории тяжести и напряженности работы с компьютером, которые определяются:

для группы А- по суммарному числу считываемых знаков за рабочую смену, но не более 60 000 знаков за смену;

для группы Б- по суммарному числу считываемых или вводимых знаков за рабочую смену, но не более 40 000 знаков за смену;

для группы В-по суммарному времени непосредственной работы с компьютером за рабочую смену, но н более 6 часов за смену.

  Для обеспечения оптимальной работоспособности и сохранения здоровья на протяжении рабочей смены должны устанавливаться регламентированные перерывы.

 Перед началом работы необходимо убедиться, что мониторы компьютера имеют антиблоковое покрытие(кроме группы А) с коэффициентом отражения не более 0,5.

Покрытие должно также обеспечивать снятие электростатического заряда с поверхности экрана, искрение и накопление пыли.

Корпус монитора должен обеспечивать защиту от ионизирующих и неионизирующих излучений.

Необходимо проверить рабочее положение компьютера:

- расстояние между стеной с оконными проемами и столом должно быть не менее

0,8м.Принебольшом кол-ве рабочих мест желательно располагать столы у противоположной стены относительно оконных проемов.

Расстояние между рабочими столами должно быть не менее 1,2м. Не допускается нахождение второго рабочего места со стороны задней стенки компьютера.

Экран видеомонитора должен находиться от глаз на оптимальном расстоянии

600-700мм, но не ближе 500мм.

Высота рабочей поверхности стола должна регулироваться а пределах 680-800мм,при отсутствии такой возможности высота рабочей поверхности стола должна составлять 725 мм.

Клавиатуру следует располагать на поверхности стола на расстоянии 100-300мм от края, обращенного к  пользователю.

Оптимальными параметрами температуры в кабинете являются 19-21,допустимыми 18-22,относительная влажность воздуха 62-55% и соотв.39-31%

В кабинете следует осуществлять сквозное проветривание для улучшения качественного состава воздуха, ежедневно проводить влажную уборку.

Для повышения влажности воздуха следует использовать увлажнители. в кабинете должно быть искусственное и естественное освещение. Основной поток естественного света должен быть слева, не допускается справа, сзади и спереди работающего на компьютере. на окнах должны быть занавеси в два раза больше ширины окна. Запрещается применять для окон черные занавеси. Кабинет, где находиться компьютеры относится к пожароопасному помещению категории “Б”, поэтому необходимо иметь углекислотный огнетушитель типа ОУ-5 и уметь им пользоваться.

  Обратить внимание на заземление, так как в компьютере используются микросхемы, чувствительные к статическому электричеству. Обратить особое внимание на целостность изоляции всех кабелей и разъемов, чтобы не оказаться неожиданно под напряжением относительно земли. Запрещается самостоятельно вскрывать корпус компьютера, из-за высокого напряжения внутри. Исключается работа с компьютером и его периферийными устройствами с открытым корпусом, самостоятельно переключать силовые и интерфейсные кабели, проливать жидкости и т.д. Рабочее место работающего на компьютере предусмотрено оборудовать специальной мебелью: вращающимся стулом с изменяемой высотой сиденья  и угла наклона спинки.

При работе на компьютере работающий должен быть:

- внимательным, не отвлекаться на построение дела.

Во время работы компьютера запрещается:

- оставлять компьютер без присмотра;

- проводить ремонт;

- снимать корпус с компьютера.

Продолжительность непрерывной работы с компьютером без регламентированного перерыва не должна превышать 2 часов.

  Во время регламентированного перерыва с целью снижения нервно-эмоционального напряжения, утомления зрительного анализатора, устранения влияния гиподинамии и гипокинезии, предотвращения развития познотопического утомления целесообразно выполнять комплексы упражнений. Уровень шума в помещении во время работы компьютеров не должен превышать 50 дБА.

  Конструкция видеомонитора должна предусматривать меры, обеспечивающие

хорошую разборчивость изображения, независимую от внешней освещенности ,

В зависимости от назначения и области применения видеотерминалы могут быть разделены на следующие группы:

  - группа А- цветные мониторы только для демонстрационных целей

  - группа Б- цветные мониторы для персональной работы

  - группа В- монохромные мониторы.

Категорически запрещается использование на рабочем месте электронагревательных приборов с открытым элементом, открытым огнем. Пользование электронагревательными приборами с закрытыми нагревательными элементами разрешается только в специально отведенных для этого местах.

  Несоблюдение требований к микроклимату помещения может не только резко снижать производительность труда, вызывать потери рабочего времени из-за увеличенного числа ошибок в работе, но и приводить к функциональным расстройствам или хроническим заболеваниям органов дыхания, нервной системы, иммунной системы.

В АВАРИЙНЫХ СИТУАЦИЯХ компьютер должен немедленно отключен от сети: 

   - при отключении эл. энергии;

   - при пожаре;

   - при появлении запаха дыма.

 Человека попавшего под напряжение, немедленно освободить от действия тока, отключив компьютер или отбросив электропровода. Если это невозможно сделать быстро, пострадавшего оттащить от токоведущих частей, действуя одной рукой, изолированной резиновой перчаткой/сухой одеждой/ касаясь только одежды пострадавшего.  ДО прибытия врача пострадавшему оказать первую помощь. В первые минуты с момента поражения необходимо начать искусственное дыхание, закрытый массаж сердца. Во время пожара приступить к тушению пожара углекислотным огнетушителем и вызвать пожарную команду по тел. 01

   После окончания работы отключить компьютер от сети. Привести в порядок рабочее место. Обо всех неполадках, замеченных во время работы, сообщить главным специалистам.


4. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Джон Матчо, Дэвид Р.Фолкнер. «Delphi» — пер. с англ. — М.:Бином, 1995г.

WINDOWS 95 без проблем.  Под редакцией С.Молявко.   “Бином” Москва 1996 г.

Железо IBM 99 или все о современном компьютере А.Жаров изд. 5 Москва: «МикроАрт» 1999 г.