Разработка лабораторного стенда для исследования фотоэффекта

2







Смоленский промышленно–экономический колледж

Кафедра Математики и Информатики

Специальность Программное Обеспечение

Вычислительной Техники и Автоматизированных Систем



























Дипломный проект

По теме

Разработка лабораторного стенда для исследования фотоэффекта


АННОТАЦИЯ



Дипломный проект на тему «Разработка лабораторного стенда для исследования фотоэффекта». Выполнил студент 4 курса группы 0814 Жгутов Кирилл Анатольевич. Проект предназначен для изучения темы фотоэффект из раздела физики. Он позволяет изучить теорию, проверить и закрепить свои знания, а так же провести лабораторную работу по изученному материалу.

В работе содержится приложения, листинг программы и электронная версия программы, 16 рисунков, 3 таблицы. Количество страниц в дипломе – 87.


СОДЕРЖАНИЕ

	

	АННОТАЦИЯ

	СОДЕРЖАНИЕ

	ВВЕДЕНИЕ

	1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Обзор литературы

1.2 Введение в базы данных

	2. ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1 Назначение программы

2.2 Описание программы

3. ПРОГРАММНАЯ ДОКУМЕНТАЦИЯ

3.1 Спецификация

3.2 Техническое задание

	4. ЭКСПЛУАТАЦИОННАЯ ДОКУМЕНТАЦИЯ

4.1 Ведомость эксплуатационных документов

4.2Описание применения

4.3 Составные части программы

	5. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ РАЗРАБОТКИ

5.1 Технико-экономическое обоснование

	6. ОХРАНА ТРУДА И ТЕХНИКА БЕЗОПАСНОСТИ

6.1 Введение

6.2 Освещение рабочего места оператора

	7. ЭРГОНОМИКА

7.1 Введение

7.2 Базовый подход к конструированию рабочего места оператора

7.3 Понятие рабочего места и рабочей зоны оператора

7.4 Формирование типового состава рабочей зоны

7.5 Условия, которым должна удовлетворять рабочая зона

7.6 Основные эргономические требования, предъявляемые к клавиатуре

	ЗАКЛЮЧЕНИЕ

	СПИСОК ЛИТЕРАТУРЫ

	ПРИЛОЖЕНИЕ 1




ВВЕДЕНИЕ



Данный дипломный проект на тему «Создание стенда по изучению фотоэффекта». Он предназначен для учащихся, для частного использования и для работников различных учебных заведений. Для написания программы я использовал язык программирования Borland Delphi v.6.0.

Для изучения принципа фотоэффекта требуется большое количество времени и средств. Многие учебные заведения не могут позволить себе провести наглядные эксперименты, поэтому выбор мной данной темы очень актуален. Для проведения экспериментов требуется дорогостоящее оборудование. Программа «Создание стенда по изучению фотоэффекта» позволяет экономить время и средства, так как для проведения эксперимента требуется только компьютер.

Объектно-ориентированный язык программирования Borland Delphi v.6.0. предназначен для разработки программ и имеет две характерные особенности: создаваемые им программы могут работать не только под управлением Windows, а сам он относится к классу инструментальных средств ускоренной разработки программ. Это ускорение достигается за счет двух характерных свойств Delphi: визуального конструирования форм и широкого использования библиотеки визуальных компонентов.

Визуальное конструирование форм избавляет программиста от многих аспектов разработки интерфейса программы, так как Delphi автоматически готовит необходимые программные заготовки. Delphi является объектно-ориентированным, визуально программируемым языком, управляемым по событиям и в полной мере соответствует новым требованиям, предъявляемым к современным средствам проектирования. В Borland Delphi v.6.0. имеется несколько уровней разработки приложений. Если необходимо в кротчайшее время разработать не очень сложное приложение, то можно воспользоваться средствами быстрой разработки приложений, которые представлены многочисленными мастерами для создания форм, отчётов и многого другого. Borland Delphi v.6.0. является системой управления реляционными базами данных, которые в настоящее время являются наиболее распространёнными.

В Borland Delphi 6 существует понятие базы данных, которая содержит совокупность таблиц. Borland Delphi 6 использует средства Windows, с помощью которых приложение Borland Delphi 6 может обмениваться данными с другими приложениями Windows. Borland Delphi 6 является системой управления реляционными базами данных. Реляционные базы данных в настоящее время наиболее распространенны и фактически являются промышленным стандартом. В Borland Delphi6 реализованы все атрибуты реляционных СУБД. Прежде всего, введено понятие базы данных, которая содержит совокупность таблиц. В базе данных вы можете определить условия целостности данных с помощью первичных и внешних ключей таблиц. В Borland Delphi 6 реализованы триггеры и хранимые процедуры, которые позволяют централизовано обрабатывать события, возникающие при любых изменениях в базе данных. 

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

Проектирование структуры базы данных; 

Создание удобного интерфейса;

Расчёт экономической эффективности данного проекта;

Также в работе подробно описаны этапы разработки дипломного проекта. Представлено приложение, содержащее формы, отчёты проекта. 

Для того чтобы облегчить процесс обучения учащихся в области физики и облегчить работу преподавателей я решил создать обучающую программу, написанную на языке программирования Borland Delphi v 6.0 и при помощи средств MS ACCESS.

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

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

Наиболее подходящей системой программирования с учетом имеющихся знаний является Borland Delphi. Мною было решено создать программу именно на ее основе, так как Delphi является системой программирования очень высокого уровня и даже «сама» пишет значительную часть текста программы: описание объектов, заголовки процедур и многое другое. Разработчику остаётся лишь вписать необходимые строчки, определяющие индивидуальное поведение программы. Однако ряд вопросов требовал более глубокого изучения, что и было проделано при исследовании задачи.

На основе имеющихся знаний относительно построения баз данных с помощью объектно-ориентированного языка программирования Borland Delphi было принято решение создать программу учитывая следующие требования:

	1.Требование к эффективности, то есть получение выходных данных с минимальными расходами машинного времени.

	2.Требование к мобильности, то есть возможность сохранения и эффективного использования программы в процессе развития аппаратуры ЭВМ.

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

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

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

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

Таким образом, автоматизация процесса обучения учащихся является нужным и перспективным процессом.




1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ



1.1 Обзор литературы



№ п/п

Наименование источника

Описание

1.

Глушаков С.В., Ломотько Д.В. Базы данных: Учебный курс Художественный оформитель А.С. Юхтман. – Харьков: Фолио; Ростов н/Д: Феникс; Киев:Абрис, 2000.

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

Книга содержит также материал о конфигурировании и управлении сервера баз данных Microsoft SQL Server 7.0, о создании приложений «клиент-сервер» на примере различных программных средств.

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

2.

Базы данных: модели, разработка, реализация/ Г.С. Карпова. – СПб.: Питер, 2001.



Настоящее учебное пособие подготовлено по материалам лекционных курсов, посвящённых основам теории баз данных, языка SQL и серверам баз данных, которые читались автором в течение последних десяти лет в Государственном Санкт-Петербургском университете аэрокосмического приборостроения и в Государственном техническом университете.

3.

Архангельский А.Я. Работа с локальными базами данных в Delphi 5 – М.: ЗАО «Издательство БИНОМ», 2000.

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

4.

Фаронов В.В. Delphi 4. Учебный курс. – М.: «Нолидж», 1999



В книге даются начальные сведения по системе программирования Delphi. Книга рассчитана на читателей, не знакомых с программированием вообще или имеющих небольшой опыт программирования в MS-DOS. В ней описывается версия Delphi 4, работающая под управлением современных 32-разрядных операционных систем Windows 95/98/NT (Windows 32). 

5.

Михаэль Эбнер Delphi 5. Руководство разработчика: Пер. с нем. – К.: Издательская группа BHV, 2000.

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

6.

Жуков А. Изучаем Delphi. – СПб.: Питер, 2000.

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

7.

Методические рекомендации no технико-экономическому обоснованию инвестиционных проектов в дипломном проектировании

Настоящие методические рекомендации предназначены для экономического обоснования инвестиционных проектов, разрабатываемых студентами, обучающимися по специальности 2203 "Программное обеспечение ПО ВТ и AC".



1.2 Введение в базы данных



1.2.1 Основные положения

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

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

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

Слова “динамически обновляемая” означают, что соответствие БД текущему состоянию предметной области обеспечивается не периодически (раз в месяц, неделю, день), а в режиме реального времени. 

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

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

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

1. Добавлять новые данные в существующие файлы.

Вести поиск информации в БД.

Изменять информацию в БД.

Удалять информацию из существующей БД.



1.2.2 Виды баз данных

Выбор модели базы данных зависит прежде всего от анализа поставленной задачи. Существуют четыре модели баз данных:

Автономные.

Файл-серверные.

Клиент/сервер.

Многоярусные.

Автономные локальные базы хранят свои данные в локальной файловой системе на том компьютере, на котором установлены. Сеть при этом не используется. Они полезны для тех приложений, в которых каждый пользователь такого приложения манипулирует своими собственными данными на своём компьютере.

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

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

Многоярусные базы данных - это новый путь обработки данных в сети. По другому этот способ организации данных называется multi-tier - многонитевые. Под нитью понимается один из множества потоков данных, обменивающихся одновременно с базой данных.

Наиболее распространён трехъярусный вариант:

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

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

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

Это наиболее сложная и гибкая организация баз данных. Delphi обеспечивает в основном создание приложений для первых двух уровней этой системы.



1.2.3 Основные концепции реляционных баз данных

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

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

Столбцы в таблице соответствуют тем или иным характеристикам объектов - полям. Каждое поле имеет своё имя и тип хранящихся данных. 

Тип поля определяет тип хранящихся в поле данных (числа, тексты и так далее). 

Имя поля - это идентификатор, который используется для манипуляции данными.

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

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

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

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

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



1.2.4 Требования к базам данных

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

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



1.2.5 Проектирование базы данных

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

Хорошо спроектированная БД:

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

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

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

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



1.2.6 Базы данных в среде Delphi

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

кто будет вводить данные в базу и в какой форме, как часто будут изменяться данные;

какая информация является наиболее чувствительной к скорости её извлечения и изменения.

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

идентификация функциональной деятельности предметной области;

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

идентификация характеристик этих сущностей;

идентификацию взаимосвязей между сущностями.

		Третий шаг заключается в установлении соответствия между сущностями и характеристиками предметной области и отношениями и атрибутами в рамках выбранной СУБД.

		Четвёртый шаг предполагает выработку правил, которые будут устанавливать и поддерживать целостность данных.

		На пятом шаге устанавливаются связи между объектами.

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

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

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

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

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

Delphi содержит полноценный текстовый редактор типа Brief, назначения клавиш в котором соответствуют принятым в Windows стандартам, а глубина иерархии операций Undo неограниченна. Как это стало уже обязательным, реализовано цветовое выделение различных лексических элементов программы. Процесс построения приложения достаточно прост. Нужно выбрать форму (в понятие формы входят обычные, диалоговые, родительские и дочерние окна MDI), задать ее свойства и включить в нее необходимые компоненты (видимые и, если понадобится, неотображаемые): меню, инструментальные панели, строку состояния и т. п., задать их свойства и далее написать (с помощью редактора исходного кода) обработчики событий. 



1.2.7 Компилятор языка Delphi

В смысле проектирования в Delphi после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем тоже самое, сделанное при помощи интерпретатора. Кроме того в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения. 

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



1.2.8 Объектная ориентация языка Delphi

Язык программирования Delphi базируется на Borland Object Pascal. Кроме того, Delphi поддерживает такие низкоуровневые особенности, как подклассы элементов управления Windows, перекрытие цикла обработки сообщений Windows, использование встроенного ассемблера.

Предусмотренный в Delphi аппарат исключений максимально упрощает кодирование обработки нештатных ситуаций и освобождения ресурсов. 

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

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

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

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

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

Delphi предлагает разработчикам - как в составе команды, так и индивидуальным - открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help’ы, доступные через меню Delphi. 



1.2.9 Формы, модули и метод разработки

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

Информация о формах хранится в двух типах файлов - .dfm и .pas, причем первый тип файла - двоичный - хранит образ формы и ее свойства, второй тип описывает функционирование обработчиков событий и поведение компонент. Оба файла автоматически синхронизируются Delphi, так что если добавить новую форму проект, связанный с ним файл .pas автоматически будет создан, и его имя будет добавлено в проект. 

Визуальный построитель интерфейсов (Visual User-interface builder) дает возможность быстро создавать клиент-серверные приложения визуально, просто выбирая компоненты из соответствующей палитры. В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде.


2. ПРАКТИЧЕСКАЯ ЧАСТЬ



2.1 Назначение программы



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

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

Наиболее рутинными и в то же время наиболее ответственными процессами являются:

поиск и ввод нужной информации; 

		заполнение вопросов к тестирующей программе;

		создание лабораторного стенда. 

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

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



2.2 Описание программы



Форма 1 

Главная форма(Приложение 1, рис. 1). Она появляется при запуске программы. На ней находятся компоненты: MainMenu1 – это компонент главного меню, клавиши Button1, Button2, Button3, текстовые поля Label1, Label2, Label3 и поле Image1.

Главное меню содержит пункты «Файл», «Справка», «Помощь». В пункте меню «Файл» находятся подпункты:

«Теория» - при его выборе на экране появляется теоретическая часть(Приложение 1, рис. 2);

«Тест» - на экране появляется форма с тестом(Приложение 1, рис. 3);

«Лабораторная работа» - на экране появляется форма с лабораторной работой(Приложение 1, рис. 8, 9);

«Выход» - при выборе этого пункта программа завершает работу(Приложение 1, рис. 14).

В пункте меню «Справка» находятся подпункты:

«О программе» - появляется сообщение о программе(Приложение 1, рис. 5);

«Автор» - появляется сообщение об авторе(Приложение 1, рис. 6).

При выборе пункта меню «Помощь» появляется справка, помогающая разобраться в программе(Приложение 1, рис. 7).

Клавиша Button1 - «Теория» при ее нажатии на экране появляется теоретическая часть(Приложение 1, рис. 2). Клавиша Button2 - «Тест» - на экране появляется форма с тестом(Приложение 1, рис. 3). Клавиша Button3 - «Лабораторная работа» - на экране появляется форма с лабораторной работой(Приложение 1, рис. 8). 

Форма 2 

Форма регистрации(Приложение 1, рис. 12). На ней находятся компоненты: ComboBox1 – в нем находится список групп, Edit1 – в это поле вводится фамилия, Button1 – фиксирует значения в полях и позволяет начать работу с тестом, Label1 и Label2 – содержат пояснения для полей.

Форма 3 

Форма содержит информацию о программе(Приложение 1, рис. 7). На ней находятся компоненты Memo1, в котором записывается информация о программе и Button1, при нажатии на которую, данная форма закрывается. 

Форма 4

Тестирующая форма(Приложение 1, рис. 3). На ней находятся компоненты: 4 компонента DBEdit – в них отображаются вопросы и ответы к тесту. Button2 (Следующий) – переходит к следующему вопросу. Button1 (Выход) – закрывает форму и возвращается на главную форму. 6 компонентов Label. 12 компонентов Image, в которых записываются формулы. Компонент Gauge1 – считает процент правильных ответов. MainMenu1 – компонент главного меню.

Главное меню содержит пункты меню «Файл» и «Справка». Пункт меню «Файл» содержит подменю:

«Начать» - при его выборе происходит обнуление результатов и появляется окно регистрации(Приложение 1, рис. 4), после чего начинается сам тест(Приложение 1, рис. 10);

«Выход» - закрывается форма теста и переходит на главную форму. 

Пункт меню «Справка» содержит подменю:

«Список результатов» - появляется форма пароля(Приложение 1, рис. 15), если пароль введен правильно, то появляется форма, в которой содержится список учеников, прошедших тест(Приложение 1, рис. 12);

«Помощь» - содержится информация о том, как работать с тестом(Приложение 1, рис. 13).

Компоненты DataSource1, ADOTable1, DBGrid1, подключают базу данных с вопросами и ответами к компонентам DBEdit.

Форма 5 

Форма «Список студентов» (Приложение 1, рис. 12). На ней находятся компоненты DataSource1, ADOTable1, DBGrid1, DBNavigator1 подключают базу данных со списком студентов, прошедших тест. Button1 «Выход» - закрывает форму 5 и переходит на форму 4.

Форма 6 

Форма ввода пароля(Приложение 1, рис. 15). На ней находится компонент Password, в который вводится пароль. OkBtn – клавиша подтверждения пароля. CancelBtn – клавиша подтверждения выхода из формы пароля.

Форма 7

Форма справки(Приложение 1, рис. 13). На ней находится компонент Memo1, в котором находится информация о том, как работать с тестом. Клавиша Button1 выходит из формы 7 и возвращается на форму 4. 

Форма 8 

Форма «Лабораторная работа» (Приложение 1, рис. 8, 9). На ней находится компоненты: GroupBox1, в котором находятся компоненты RadioButton1, RadioButton2, RadioButton3, которые, в свою очередь, служат для выбора цвета, 9 компонентов Image – им соответствуют все графические компоненты формы. Gauge1 и Gauge2 измеряют показания амперметра и вольтметра. ScrollBar1 – служит для увеличения и уменьшения напряжения в цепи. Button1 – закрывает форму 8 и переходит на главную форму. Button2 – включает цепь, Button3 – выключает цепь.

Форма 9

Форма помощь(Приложение 1, рис. 7). На ней находится компонент Memo1, в котором находится информация о том, как работать с программой. Клавиша Button1 выходит из формы 9 и возвращается на форму 1.


3. ПРОГРАММНАЯ ДОКУМЕНТАЦИЯ



3.1 Спецификация



	Обозначение

Наименование

Примечание

	А.В.00009-01

	Создание стенда по исследованию фотоэффекта

	

	А.В.00009-01_12_01-1

	Текст программы

	

	А.В.00009-01_13_01-1

	Описание программы

	

	А.В.00009-01_20_01-1

	Ведомость эксплуатационных документов

	

	А.В.00009-01_32_01-1

	Техническое задание

	

	А.В.00009-01_46_01-1

	Руководство по техническому обслуживанию

	

	А.В.00009-01_51_01-1

	Программа и методика испытаний

	

	А.В.00009-01_81_01-1

	Пояснительная записка

	

Таблица 3.1.



3.2 Техническое задание



Техническое задание – включает назначение, области применения программы; технические, технико-экономические и специальные требования, предъявляемые к программе; необходимые стадии и сроки разработки; виды испытаний. 



3.2.1 Требования к функциональным характеристикам

Требования к программе или программному изделию

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

Входные данные программы – это база вопросов к тестирующей программе. 

Выходные данные программы – это результат, получаемый при прохождении лабораторной работы.

Требования к надёжности

Надёжность – один из важнейших факторов, определяющих общую производительность и эффективность систем. В связи с этим уже на стадии проектирования вопросам надёжности должно уделяться пристальное внимание.

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

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

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

Свойства надёжности проявляются в том, что система выполняет поставленные перед ней задачи без проблем.

Потери надёжности системой связываются с появлением отказа в работе. 

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

Условия эксплуатации

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

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

Требования к составу и параметрам технических средств

Для установки и работы на компьютере данного программного продукта должна быть установлена операционная система Windows 98.

Минимальный набор технических средств для работы программы:

Компьютер на базе процессора Pentium II 233 MMX;

CD-ROM для установки программного продукта на компьютере;

Манипулятор типа «мышь»;

Клавиатура;

4 Gb на жестком диске;

Цветной монитор.

Требования к информационной и программной совместимости

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

Так как программа была разработана на языке программирования Delphi 6, то она будет работать даже на том компьютере, где не установлен этот язык программирования или библиотека данного языка. 



3.2.2 Требования к программной документации

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

Программная документация может включать следующий комплекс документов:

Техническое задание (ГОСТ 19.201-78), определяющее требования, предъявляемые к программному обеспечению, необходимые стадии и сроки разработки, виды испытаний;

Текст программы (ГОСТ 19.401-78) – запись программы с необходимыми комментариями;

Описание программы (ГОСТ 19.402-78), в котором содержатся сведения о логической структуре и функционировании программного обеспечения;

Пояснительная записка (ГОСТ 19.201-78), включающая общее описание алгоритмов и функционирования программного обеспечения.

Общие требования к программным документам

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

	Титульный лист. 

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

– обозначение структурного элемента (номер раздела, код раздела);

– наименование структурного элемента;

– адрес структурного элемента на носителе данных (номер страницы, номер файла).

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

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

Порядок контроля и приёмки

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

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

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

Отладка программы предполагает наличие той или иной ошибки.

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

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

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

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

	Основными целями тестирования является:

Получение результатов по конкретным данным;

Контроль качества программы;

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

Произведём некоторые тесты с данным программным продуктом:

при выборе пункта меню «Файл -> Тест» мы переходим на другую форму, где находится тестирующая программа;

при начале работы с тестом в пункте меню «Файл -> Начать тест» на форме появляется окно, в котором Вам будет предложено занести свои данные в базу. В случае, если Вы ничего не ввели и нажали клавишу «Дальше»,то появится окно с сообщением: «Введите фамилию» или «Введите номер группы». Программа не будет дальше работать, пока Вы не введете фамилию и номер группы;

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



3.2.3 Вызов и загрузка программы

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


4. ЭКСПЛУАТАЦИОННАЯ ДОКУМЕНТАЦИЯ



4.1 Ведомость эксплуатационных документов



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

		Ведомость эксплуатационных документов – включает перечень эксплуатационных документов на программу. 



Таблица 4.1. Ведомость эксплуатационных документов

	А.В.00009-01_31_01-1

	Описание применения

	1

	Папка № 1

	А.В.00009-01_46_01-1

	Руководство по техническому обслуживанию

	1

	Папка № 1



Описание применения



Условия применения

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

Программа проста в обращении, с ней может работать не только специалисты в области программирования, а простые пользователи.

Описание задачи

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

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

Входные данные программы – это база вопросов к тестирующей программе. 

Выходные данные программы – это результат, получаемый при прохождении лабораторной работы.

Максимальный состав технических средств:

Компьютер на базе процессора Pentium III 1400;

Винчестер

Цветной монитор

Windows 98;

Язык программирования Delphi 6;

Дисковод 3,5” 1,44Мб;

Клавиатура;

Мышь.

Для программы должен иметься компьютер, работающий под управлением Windows 98, и установленным на нем языком программирования Microsoft Office 2000. Программа проста в обращении, отлажена и не должны возникать ошибки при правильной работе с ней. В большинстве случаев, для продолжения работы после отказа, вызванного некорректными действиями пользователя, нужно просто перезапустить программу.



4.3 Составные части программы



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

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

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

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

Прежде чем начать строить приложение, надо иметь саму базу данных. Создание таблиц осуществляется при помощи программы Microsoft Access 2000. Работа в базе данных осуществляется на основе двух таблиц: Вопросы (приложение 1 рис. 1.1), Сведения (приложение 1 рис.1.2). 

База данных в программе «Стенд по изучению фотоэффекта» имеет следующую структуру, которая представлена на рис. 16 :







База данных











Рис. 16. Структура базы данных


5. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ РАЗРАБОТКИ 



5.1 Технико-экономическое обоснование



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

Для изучения принципа фотоэффекта требуется большое количество времени и средств. Многие учебные заведения не могут позволить себе провести наглядные эксперименты, поэтому выбор мной данной темы очень актуален. Для проведения экспериментов требуется дорогостоящее оборудование. Программа «Создание стенда по изучению фотоэффекта» позволяет экономить время и средства, так как для проведения эксперимента требуется только компьютер.

Мероприятия по составлению программного продукта «Стенд для исследования фотоэффекта» затрагивает функции преподавателей физики. Он упростит работу преподавателей по объяснению данной темы.

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

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

Если общий результат оказывается положительным, то проект является полезным.

Для определения затрат, связанных с созданием программного продукта «Стенд для исследования фотоэффекта» необходимо определить по фактическим затратам значения:

Заработной платы программиста (часовая, дневная или месячная), руб.;

Доля накладных расходов на предприятии;

Время на составление программы (чел./час, чел./дней, чел./мес);

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

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



Таблица 3 Фотохронометраж составления программы «Стенд по исследованию фотоэффекта»

№ п/п

Элементы затрат времени

Время текущее

Время на этап



1

2

3

4

5

1-ый день

Начало работы

Подготовка рабочего места

Составление алгоритма

Составление программы

Окончание работы



9:00

9:10

9:30

10:00

14:00



10 мин

20 мин

30 мин

4 ч



1

2

3

4

5

2-ой день

Начало работы

Подготовка рабочего места

Составление алгоритма

Составление программы

Окончание работы 



9:00

9:10

9:30

10:00

14:00



10 мин

20 мин

30 мин

4 ч



1

2

3

4

5

 3, 4, 5 -ый день

Начало работы

Подготовка рабочего места

Составление алгоритма

Составление программы

Окончание работы 



10:00

10:10

10:30

11:00

14:00



10 мин

20 мин

30 мин

3 ч



1

2

3

4

5

6, 7, 8-ой день

Начало работы

Подготовка рабочего места

Подбор информации

Составление программы

Завершение работы



9:00

9:10

9:20

10:00

14:00





10 мин

10 мин

40 мин

4 ч



9-ый день

Начало работы

Подготовка рабочего места

Разработка теоретической части программы

Завершение работы



9:00

9:10

9:20

14:00





10 мин

10 мин

4 ч 40 мин



1

2

3

4

10-ый день

Начало работы

Подготовка рабочего места

Разработка теоретической части программы

Завершение работы



9:00

9:10

9:20

14:00





10 мин

10 мин

4 ч 40 мин



1

2

3

4

11-ый день

Начало работы

Подготовка рабочего места

Разработка практической части программы

Завершение работы



9:00

9:10

9:20

14:00





10 мин

10 мин

4 ч 40 мин



1

2

3

4

12-ый день

Начало работы

Подготовка рабочего места

Составление теста программы

Завершение работы



9:00

9:10

9:20

14:00





10 мин

10 мин

4 ч 40 мин

1

2

3

4

13, 14-ый день

Начало работы

Подготовка рабочего места

Редактирование программы

Завершение работы

9:00

9:10

9:20

14:00

10 мин

10 мин

4 ч 40 мин

1

2

3

4

15-ый день

Начало работы

Подготовка рабочего места

Отладка и редактирование программы

Завершение работы

9:00

9:10

9:20

14:00

10 мин

10 мин

4 ч 40 мин

Итого

72 ч 


На основании данных Таблицы 1 получаем Тн = 72 чел/час.

Текущие затраты на создание программного продукта могут быть определены следующим образом:



Ао = Тн *З/плср * (1 + КЕСН + Кнр) + Смч *Тмо (Ф2) ,

Ао = 72 * 14 * (1 + 0,356 + 0,2) + 2,59 * 5 = 1581,35 руб.



Рассчитаем текущие затраты с учетом НДС



Ао=1581,35*1,2=1897,62 руб.



Тн - время на составление программного продукта (72 чел/час)

З/плср=Зпл /20/8, где

Зпл – заработная плата программиста (2240 руб.)

20 – число рабочих дней в месяце

8 – число рабочих часов в день

З/плср – средняя заработная плата программиста (часовая, дневная или месячная) (14 руб.)

КЕСН – коэффициент единого социального налога (0,356). Налоговый кодекс РФ ст. 24 гл. 149.

Кнр - Коэффициент накладных расходов, используемый на предприятии.

Смч – стоимость одного часа машинного времени (2,59 руб)

Тмо – затраты машинного времени на отладку программы (5 ч)

На полученную сумму начисляется НДС по ставке налога 20%.

Стоимость одного машинного часа рассчитывается по формуле



Смч = Сбал. + Сэл.эн. (Ф3),

 Тсл * Др * Чд

Смч = +0,26=2,59 руб



где 

Сбал. – балансовая стоимость персонального компьютера, руб(17600 руб);

Тсл – нормативный срок эксплуатации ПК (по паспортным данным)(5 лет)

Др – число рабочих дней в году (252 дня)

Чд - число часов работы ПК в день (6 ч)

Сэл.эн. - стоимость электроэнергии, которая рассчитывается по формуле: 



Сэл.эн = Рэл * Цквт (Ф4),

Сэл.эн = 0,3 * 0,86 = 0,26 руб



где

Рэл - расход электроэнергии в час (по паспортным данным ПК), (0,3 квт)

Цквт – стоимость (цена) квт. часа электроэнергии (0,86 руб)

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



Э=З1 – З2 (Ф5)

Э=1123,43-280,9=842,53 руб.



Где

З1 – элемент производственных затрат, связанных с использованием информационной технологии (или) традиционного способа решения задачи)

З2 – элемент производственных затрат, связанных с использованием новой информационной технологией.

Затраты могут быть определены по формуле:



З=З/пл *Тр(1+КЕСН+КНР) (Ф6),

З1=18,05*4*10*(1+0,356+0,2)=1123,43 руб.



В данной формуле 4 – это количество часов, которые преподаватель тратил на объяснение темы. 10 – это количество групп или классов, которые обучаются данной теме в течении одного месяца.



З2=18,05*1*10*(1+0,356+0,2)=280,9 руб.



В данной формуле 1 – это количество часов, которые преподаватель тратит на объяснение темы, используя данный программный продукт. 10 – это количество групп или классов, которые обучаются данной теме в течении одного месяца.

Где

З/пл - средняя заработная плата работника (часовая, дневная, месячная), (18,05 руб.)

Тр – трудоемкость решения задачи из расчета за год в чел./час., чел./дн., чел./мес.(до внедрения 40 ч, после внедрения 10 ч)

Срок окупаемости программного продукта рассчитывается по формуле:



Ток=А/Э (Ф7),

Ток=1897,62 /842,53=2,25



Где

А- затраты, связанные с созданием программного продукта 

(1897,62 руб.)

Э – эффект от использования программного продукта (842,53 руб.).



Для оценки эффективности проекта используются следующие показатели:

Чистый доход (ЧД);

Чистый дисконтированный доход (ЧДД);

Индекс доходности (ИД);

Внутренняя норма доходности (ВНД).

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

Выплаты предприятия делятся на капитальные (единовременные) затраты и текущие затраты.

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

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

Поступления – это результат деятельности предприятия в процессе осуществления проекта в виде выручки от реализации произведенной продукции.

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

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

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

При этом:

Заранее задается минимально допустимая ставка процента окупаемости (прибыльный процент – норма дисконта), при которой объект инвестирования считается прибыльным. Такой ставкой является ставка банковского процента. Она равна 15 % и условно считается неизменной для всего срока службы объекта инвестирования (Е =0,15)

Осуществляется дисконтирование (приведение к базисному моменту времени) на основе расчетной ставки процента с текущих поступлений, полученных после приобретения объекта инвестирования (иначе – дисконтированный эффект): 



n 

Э =  Э1___

 t=1 (1 + Е)t



где n - срок службы объекта инвестирования (для программных продуктов обычно 3 года); t – номер шага расчета (=1,2,3), Э1 – текущие годовые поступления в году t т.е.



Э = Э1___ + Э1___ + Э1___

 (1 + Е)1 (1 + Е)2 (1 + Е)3 

Э = 842,53 + 842,53_ + 842,53_=1932,6

 (1 + 0,15)1 (1 + 0,15)2 (1+ 0,15)3 



Условно можно считать, что Э1, Э2, Э3 равны между собой (они рассчитываются по формуле Э= З1-З2 эти величины могут корректироваться с учетом инфляции.



Рассчитывается дисконтированная (чистая) стоимость расходов на приобретение (создание) объекта инвестирования из величины выручки от инвестиций:



К = Э-А0=1932,6-1897,62=34,98 руб.



Положительная величина дисконтированной стоимости капитала означает, что проект эффективен (при данной норме дисконта). Чем больше эта величина, тем эффективнее проект.

Отрицательная величина дисконтированной стоимости капитала означает убыточность инвестиций.

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



ИД = Э =1,02

          А0

ИД = 1932,6=1,02

1897,62



Если ИД > 1, то проект эффективен, в противном случае – неэффективен, так как ИД при создании программы больше 1, то проект является эффективным. 

В связи с тем, что ИД при вычислении эффективности программного продукта составил 1,02, можно сделать вывод, что данный программный продукт является эффективным.




6. ОХРАНА ТРУДА И ТЕХНИКА БЕЗОПАСНОСТИ



6.1 Введение



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

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

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

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

	недостаточное освещение;

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

	выделение избытков теплоты.

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

Развитию утомляемости на производстве способствуют следующие факторы:

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

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



6.2 Освещение рабочего места оператора



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

Для освещения помещения, в котором работает оператор, используется смешанное освещение, т.е. сочетание естественного и искусственного освещения.

Естественное освещение – осуществляется через окна в наружных стенах здания.

Искусственное освещение – используется при недостаточном естественном освещении и осуществляется с помощью двух систем: общего и местного освещения. Общим называют освещение, светильники которого освещают всю площадь помещения. Местным называют освещение, предназначенное для определённого рабочего места.

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


7. ЭРГОНОМИКА



7.1 Введение



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

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

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

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

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

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

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



7.2 Базовый подход к конструированию рабочего места оператора



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

	позволяет упростить процесс конструирования;

	обеспечивает возможность непрерывного совершенствования аппаратуры без коренных изменений конструкции;

	сокращает объем конструкторской документации на этапе производства;

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

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



7.3 Понятие рабочего места и рабочей зоны оператора



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

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



7.4 Формирование типового состава рабочей зоны



В общем случае в типовой состав рабочей зоны включают:

	средства отображения информации индивидуального пользования (блоки отображения дисплеев, экраны персональных ЭВМ, и т.п.);

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

	устройства печати, документирования и хранения информации;

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

	стол и кресло оператора.

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

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

	учет требований к скорости и точности приема информации оператором;

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



7.5 Условия, которым должна удовлетворять рабочая зона



Пространственные и размерные соотношения между элементами рабочего места должны быть достаточными для: 

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

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

	оптимального обзора визуальной информации, 

	смены рабочей позы и рабочего положения;

	свободного доступа к оборудованию при ремонте и наладке;

	рационального размещения основных и вспомогательных средств труда;

	ведения записей, работы с документами и приборами.



7.6 Основные эргономические требования, предъявляемые к клавиатуре



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

Для оператора ввода данных документ (бланк) рекомендуется располагать на расстоянии 45-50 см от глаз оператора, преимущественно слева.

Клавиатуру, манипулятор “мышь” следует располагать в оптимальной зоне – части пространства рабочего места, ограниченного дугами, описываемыми предплечьями при движении в локтевых суставах с опорой в точке локтя и с относительно неподвижным плечом. Эта зона составляет не более 30 - 40 см от точки опоры локтя оператора.


ЗАКЛЮЧЕНИЕ



В процессе выполнения дипломного проекта мною был решен ряд теоретических и практических вопросов, связанных с выбором средств программной и аппаратной реализации поставленной задачи. Также были углублены знания относительно объектно-ориентированного языка программирования Borland Delphi v.6.0.

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

При использовании программы «Фотоэффект» достигается значительная экономия времени. 

В экономической части описываются затраты, связанные с созданием программного продукта и составили Ао=1581,35 руб. Эффект от использования программы составил Э=842,53 руб. Срок окупаемости составил Ток=2,25 месяца.

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

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

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


СПИСОК ЛИТЕРАТУРЫ



Глушаков С.В., Ломотько Д.В. Базы данных: Учебный курс/ Художественный оформитель А.С. Юхтман. – Харьков: Фолио; Ростов н/Д: Феникс; Киев:Абрис, 2005г.

Хомоненко А.Д., Цыганков В.М., Мальцев В.Г. Базы данных: Учебник для высших учебных заведений/ под ред. Проф. А.Д. Хомоненко. – СПб: КОРОНА принт, 2006г.

Базы данных: модели, разработка, реализация/ Г.С. Карпова. – СПб.: Питер, 2007г.

Могилёв А.В. и др. Информатика: Учебное пособие для студентов педагогических вузов/А.В. Могилёв, Н.И. Пак, Е.К. Хеннер; под ред. Е.К. Хеннера. – М.: Издательский центр «Академия», 2006г

Архангельский А.Я. Работа с локальными базами данных в Delphi 5 – М.: ЗАО «Издательство БИНОМ», 2005г.

Фаронов В.В. Delphi 4. Учебный курс. – М.: «Нолидж», 2007г.

Михаэль Эбнер Delphi 5. Руководство разработчика: Пер. с нем. – К.: Издательская группа BHV, 2006г.

Жуков А. Изучаем Delphi. – СПб.: Питер, 2000.

Культин Н.Б. Программирование на Object Pascal в Delphi 6. – СПб.: БХВ – Санкт-Петербург, 2005г.

Благодатских В.А. и др. Экономика, разработка и использование программного обеспечения ЭВМ. М.: Финансы и статистика, 2005г.


ПРИЛОЖЕНИЕ 1



ЛИСТИНГ ПРОГРАММЫ



Главная форма (1)



Закрытие формы

procedure TForm1.N6Click(Sender: TObject);

begin

If MessageDlg('Завершить работу ? ', mtinformation,

[mbYes, mbNo], 0) = mrYes Then close;

end;



Обращение к Web-странице

procedure TForm1.Button1Click(Sender: TObject);

begin

winexec('C:\Program Files\Internet Explorer\iexplore.exe C:\Мои документы\Диплом-Жгутов\теория\1.htm',SW_MAXIMIZE);

end;



Обращение к Web-странице

procedure TForm1.N2Click(Sender: TObject);

begin

winexec('C:\Program Files\Internet Explorer\iexplore.exe C:\Мои документы\Диплом-Жгутов\теория\1.htm',SW_MAXIMIZE);

end;



Открывает форму 4

procedure TForm1.Button2Click(Sender: TObject);

begin

Form4.Show;

Form1.Hide;

end;



Открывает форму 4

procedure TForm1.N3Click(Sender: TObject);

begin

Form4.Show;

Form1.Hide;

end;



Открывает форму 3

procedure TForm1.N8Click(Sender: TObject);

begin

Form3.Visible:=True;

Form1.Enabled:=false;

end;





Выводит сообщение о программе 

procedure TForm1.N9Click(Sender: TObject);

begin

messagedlg ('Данный проект разработал студент 4-го курса, специальности 2203 "Программное обеспечение вычислительной техники и автоматизированных систем", Жгутов К.А.',mtInformation,[mbOk],0);

end;



Переходит на форму 8 и очищает на ней все данные

procedure TForm1.N4Click(Sender: TObject);

begin

form8.Show;

form1.Hide;

form4.Hide;

Form8.ScrollBar1.Enabled:=false;

Form8.Button2.Visible:=true;

Form8.Button3.Visible:=false;

Form8.Image1.Visible:=true;

Form8.Image2.Visible:=False;

Form8.Image3.Visible:=False;

Form8.Image4.Visible:=False;

Form8.Image7.Visible:=False;

Form8.Image8.Visible:=False;

Form8.Image9.Visible:=False;

Form8.ScrollBar1.Position:=0;

Form8.Gauge1.Progress:=100-Form8.ScrollBar1.Position;

Form8.Gauge2.Progress:=Form8.ScrollBar1.Position;

Form8.ScrollBar1.Enabled:=false;

Form8.radiobutton1.Checked:=false;

Form8.radiobutton2.Checked:=false;

Form8.radiobutton3.Checked:=false;

end;



Переходит на форму 8 и очищает на ней все данные

procedure TForm1.Button3Click(Sender: TObject);

begin

form8.Show;

form1.Hide;

form4.Hide;

Form8.ScrollBar1.Enabled:=false;

Form8.Button2.Visible:=true;

Form8.Button3.Visible:=false;

Form8.Image1.Visible:=true;

Form8.Image2.Visible:=False;

Form8.Image3.Visible:=False;

Form8.Image4.Visible:=False;

Form8.Image7.Visible:=False;

Form8.Image8.Visible:=False;

Form8.Image9.Visible:=False;

Form8.ScrollBar1.Position:=0;

Form8.Gauge1.Progress:=100-Form8.ScrollBar1.Position;

Form8.Gauge2.Progress:=Form8.ScrollBar1.Position;

Form8.ScrollBar1.Enabled:=false;

Form8.radiobutton1.Checked:=false;

Form8.radiobutton2.Checked:=false;

Form8.radiobutton3.Checked:=false;

end;



Переходит на форму 9

procedure TForm1.N10Click(Sender: TObject);

begin

Form9.Visible:=true;

Form1.Enabled:=false; 

end;



Закрывает главную форму и выводит сообщение

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

If MessageDlg('Завершить работу ? ', mtinformation,

 [mbYes, mbNo], 0) = mrYes

Then

begin

Action:=caFree;

end

else

Action:=caNone;

end;



Форма2



Процедура регистрации пользователей

procedure TForm2.Button1Click(Sender: TObject);

var i:integer;

begin

i:=0;

If ComboBox1.Text='' then

begin

messagedlg('Введите номер группы ',mtInformation,[mbOk],0);

i:=i+1;

end;

If Edit1.Text='' then

begin

messagedlg('Введите фамилию',mtInformation,[mbOk],0);

i:=i+1;

end;

If i=0 then

begin

Form4.show;

Form2.Close;

end;

end;

Форма 3



Переходит на форму 1

procedure TForm3.Button1Click(Sender: TObject);

begin

Form1.Enabled:=true;

close;

end;



Форма 4



Процедура для начала теста

procedure TForm4.Button1Click(Sender: TObject);

var i:integer;

begin

sum:=0;

proc:=0;

Button2.Enabled:=true;

Button1.Enabled:=false;

for i:=1 to 11 do

begin

Gauge1.Progress:=proc;

DBEdit1.Visible:=false;

DBEdit2.Visible:=false;

DBEdit3.Visible:=false;

DBEdit4.Visible:=false;

DBEdit5.Visible:=false;

Image1.Visible:=false;

Image2.Visible:=false;

Image3.Visible:=false;

Image4.Visible:=false;

Image5.Visible:=false;

Image6.Visible:=false;

Image7.Visible:=false;

Image8.Visible:=false;

Image9.Visible:=false;

Image10.Visible:=false;

Image11.Visible:=false;

radiobutton1.Visible:=true;

radiobutton2.Visible:=true;

radiobutton3.Visible:=true;

radiobutton4.Visible:=true;

AdoTable1.Prior;

end;

Form1.show;

Form4.Close;

end;



Тестирование

procedure TForm4.Button2Click(Sender: TObject);

begin

if (radiobutton1.Checked=false) and (radiobutton2.Checked=false) and (radiobutton3.Checked=false) and (radiobutton4.Checked=false)then

begin

messagedlg('Выберите вариант ответа!',mtInformation,[mbOk],0);

end else



begin

AdoTable1.Next;



if ADOTable1.FieldValues['Счетчик']=6 then

begin

Image1.Visible:=true;

Image2.Visible:=true;

Image3.Visible:=true;

DBEdit2.Visible:=false;

DBEdit3.Visible:=false;

DBEdit4.Visible:=false;

end;



if ADOTable1.FieldValues['Счетчик']=7 then

begin

Image4.Visible:=true;

Image5.Visible:=true;

Image6.Visible:=true;

Image7.Visible:=true;

Image1.Visible:=false;

Image2.Visible:=false;

Image3.Visible:=false;

DBEdit2.Visible:=false;

DBEdit3.Visible:=false;

DBEdit4.Visible:=false;

DBEdit5.Visible:=false;

end;



if ADOTable1.FieldValues['Счетчик']=11 then

begin

Image8.Visible:=true;

Image9.Visible:=true;

Image10.Visible:=true;

Image11.Visible:=true;

Image12.Visible:=false;

DBEdit2.Visible:=false;

DBEdit3.Visible:=false;

DBEdit4.Visible:=false;

DBEdit5.Visible:=false;

end;



if ADOTable1.FieldValues['Счетчик']=10 then

begin

Image12.Visible:=true;

end;



if (ADOTable1.FieldValues['Счетчик']<>6) and (ADOTable1.FieldValues['Счетчик']<>7) and (ADOTable1.FieldValues['Счетчик']<>10) and (ADOTable1.FieldValues['Счетчик']<>11) then

begin

DBEdit2.Visible:=true;

DBEdit3.Visible:=true;

DBEdit4.Visible:=true;

DBEdit5.Visible:=true;

Image1.Visible:=false;

Image2.Visible:=false;

Image3.Visible:=false;

Image4.Visible:=false;

Image5.Visible:=false;

Image6.Visible:=false;

Image7.Visible:=false;

Image8.Visible:=false;

Image9.Visible:=false;

Image10.Visible:=false;

Image11.Visible:=false;

Image12.Visible:=false;

end;



if radiobutton1.Checked=true then flag:='A';

if radiobutton2.Checked=true then flag:='B';

if radiobutton3.Checked=true then flag:='C';

if radiobutton4.Checked=true then flag:='D';

if flag=adotable1.FieldValues['Правильный_ответ'] then

begin

sum:=sum+1;

proc:=proc+9;

Gauge1.Progress:=proc;

end;





if ADOTable1.FieldValues['Счетчик']=12 then

begin

Gauge1.Progress:=proc+1;

DBEdit1.Visible:=false;

DBEdit2.Visible:=false;

DBEdit3.Visible:=false;

DBEdit4.Visible:=false;

DBEdit5.Visible:=false;

radiobutton1.Visible:=false;

radiobutton2.Visible:=false;

radiobutton3.Visible:=false;

radiobutton4.Visible:=false;

messagedlg('Тест пройден. Позовите преподавателя, чтобы показать результат.',mtInformation,[mbOk],0);

Button1.Enabled:=true;

N2.Enabled:=true;

N3.Enabled:=true;

Button2.Enabled:=false;

form5.adotable1.Insert;

form5.adotable1.fieldbyname ('Группа').AsString:=Form2.combobox1.Text;

form5.adotable1.fieldbyname ('Фамилия').AsString:=Form2.Edit1.Text;

form5.adotable1.fieldbyname ('Результат').AsString:=inttostr(proc+1);

form5.adotable1.post;

end;



if sum>=9 then

begin

Form1.Button3.Enabled:=true;

Form1.N4.Enabled:=true;

end

else

begin

Form1.Button3.Enabled:=false;

Form1.N4.Enabled:=false;

end;



RadioButton1.Checked:=false;

RadioButton2.Checked:=false;

RadioButton3.Checked:=false;

RadioButton4.Checked:=false;

end;

end;



Переходит на форму 2

procedure TForm4.N2Click(Sender: TObject);

var i:integer;

begin

Form2.Show;

form2.ComboBox1.Text:='';

form2.Edit1.Text:='';

sum:=0;

proc:=0;

Button2.Enabled:=true;

Button1.Enabled:=false;

for i:=1 to 11 do

begin

Gauge1.Progress:=proc;

DBEdit1.Visible:=true;

DBEdit2.Visible:=true;

DBEdit3.Visible:=true;

DBEdit4.Visible:=true;

DBEdit5.Visible:=true;

Image1.Visible:=false;

Image2.Visible:=false;

Image3.Visible:=false;

Image4.Visible:=false;

Image5.Visible:=false;

Image6.Visible:=false;

Image7.Visible:=false;

Image8.Visible:=false;

Image9.Visible:=false;

Image10.Visible:=false;

Image11.Visible:=false;

radiobutton1.Visible:=true;

radiobutton2.Visible:=true;

radiobutton3.Visible:=true;

radiobutton4.Visible:=true;

AdoTable1.Prior;

end;

N2.Enabled:=false;

N3.Enabled:=false;

Button2.Enabled:=true;

end;

procedure TForm4.N3Click(Sender: TObject);

begin

Form1.show;

Form4.Close;

end;





Очистка пароля

procedure TForm4.N5Click(Sender: TObject);

begin

PasswordDlg.Show;

PasswordDlg.Password.Text:='';

PasswordDlg.Label2.Caption:='';

Form4.Enabled:=false; 

end;



Переходит на форму 7

procedure TForm4.N6Click(Sender: TObject);

begin

Form7.Show;

Form4.Enabled:=false; 

end;



Форма 5



Переходит на форму 4

procedure TForm5.Button1Click(Sender: TObject);

begin

form4.Enabled:=true;

Form5.Close;

end;



Форма 6



Проверка пароля

procedure TPasswordDlg.OKBtnClick(Sender: TObject);

begin

If Password.Text='физика' then

begin

Form5.show;

PasswordDlg.Close; 

end

else

Label2.Caption:='Неверный пароль';

Password.Text:='';

end;



Переходит на форму 4 и очищает пароль

procedure TPasswordDlg.CancelBtnClick(Sender: TObject);

begin

Form4.Enabled:=true;

Label2.Caption:='';

Password.Text:='';

close;

end;



Форма 7



Переходит на форму 4

procedure TForm7.Button1Click(Sender: TObject);

begin

form4.Enabled:=true;

close;

end;



Форма 8



Переходит на форму 1

procedure TForm8.Button1Click(Sender: TObject);

begin

form1.Show;

form8.Hide;

end;



Определение показателей вольтметра

procedure TForm8.ScrollBar1Change(Sender: TObject);

var i:integer;

f:real;

a:string;

begin

If RadioButton1.Checked=true then

begin

Gauge2.Progress:=ScrollBar1.Position;

Gauge1.Progress:=100-(ScrollBar1.Position*2);

f:=0;

for i:=0 to ScrollBar1.Position do

begin

f:=f+0.1;

a:=floattostr(f);

Label3.Caption:=a+' B';

if ScrollBar1.Position=0 then Label3.Caption:='0'+' B';

if ScrollBar1.Position<47 then Image7.Visible:=true;

if ScrollBar1.Position=50 then f:=4.9;

if ScrollBar1.Position<21 then Image7.Left:=350+ScrollBar1.Position*5;

if (ScrollBar1.Position>21) and (ScrollBar1.Position<41) then Image7.Left:=550-ScrollBar1.Position*5;

if ScrollBar1.Position>47 then Image7.Visible:=false;

end;

end;



If RadioButton2.Checked=true then

begin

Gauge2.Progress:=ScrollBar1.Position;

Gauge1.Progress:=100-(ScrollBar1.Position*2);

f:=0;

for i:=0 to ScrollBar1.Position do

begin

f:=f+0.1;

a:=floattostr(f);

Label3.Caption:=a+' B';

if ScrollBar1.Position=0 then Label3.Caption:='0'+' B';

if ScrollBar1.Position<36 then Image8.Visible:=true;

if ScrollBar1.Position=50 then f:=4.9;

if ScrollBar1.Position<12 then Image8.Left:=350+ScrollBar1.Position*9;

if (ScrollBar1.Position>12) and (ScrollBar1.Position<23) then Image8.Left:=550-ScrollBar1.Position*9;

if ScrollBar1.Position>35 then Image8.Visible:=false;

end;

end;



If RadioButton3.Checked=true then

begin

Gauge2.Progress:=ScrollBar1.Position;

Gauge1.Progress:=100-(ScrollBar1.Position*2);

f:=0;

for i:=0 to ScrollBar1.Position do

begin

f:=f+0.1;

a:=floattostr(f);

Label3.Caption:=a+' B';

if ScrollBar1.Position=0 then Label3.Caption:='0'+' B';

if ScrollBar1.Position<40 then Image9.Visible:=true;

if ScrollBar1.Position=50 then f:=4.9;

if ScrollBar1.Position<16 then Image9.Left:=360+ScrollBar1.Position*6;

if (ScrollBar1.Position>16) and (ScrollBar1.Position<35) then Image9.Left:=550-ScrollBar1.Position*6;

if ScrollBar1.Position>39 then Image9.Visible:=false;

end;

end;

end;



Обнуление результатов при выборе красного цвета

procedure TForm8.RadioButton1Click(Sender: TObject);

begin

If RadioButton1.Checked=true Then

begin

ScrollBar1.Position:=0;

Image2.Visible:=true;

Image7.Visible:=false;

Image1.Visible:=False;

Image3.Visible:=False;

Image4.Visible:=False;

Image8.Visible:=False;

Image9.Visible:=False;

ScrollBar1.Enabled:=false;

Button2.Visible:=true;

Button3.Visible:=false;

Gauge1.Progress:=100-ScrollBar1.Position;

Gauge2.Progress:=ScrollBar1.Position;

ScrollBar1.Enabled:=false;

end;

end;





Обнуление результатов при выборе синего цвета

procedure TForm8.RadioButton2Click(Sender: TObject);

begin

If RadioButton2.Checked=true Then

begin

ScrollBar1.Position:=0;

Image3.Visible:=true;

Image8.Visible:=false;

Image7.Visible:=False;

Image9.Visible:=False;

Image1.Visible:=False;

Image2.Visible:=False;

Image4.Visible:=False;

ScrollBar1.Enabled:=false;

Button2.Visible:=true;

Button3.Visible:=false;

Gauge1.Progress:=100-ScrollBar1.Position;

Gauge2.Progress:=ScrollBar1.Position;

ScrollBar1.Enabled:=false;

end;

end;

Обнуление результатов при выборе зеленого цвета

procedure TForm8.RadioButton3Click(Sender: TObject);

begin

If RadioButton3.Checked=true Then

begin

ScrollBar1.Position:=0;

Image4.Visible:=true;

Image9.Visible:=false;

Image8.Visible:=False;

Image7.Visible:=False;

Image1.Visible:=False;

Image2.Visible:=False;

Image3.Visible:=False;

ScrollBar1.Enabled:=false;

Button2.Visible:=true;

Button3.Visible:=false;

Gauge1.Progress:=100-ScrollBar1.Position;

Gauge2.Progress:=ScrollBar1.Position;

ScrollBar1.Enabled:=false;

end;

end;





Проверяет выбор цвета

procedure TForm8.Button2Click(Sender: TObject);

begin

if (radiobutton1.Checked=false) and (radiobutton2.Checked=false) and (radiobutton3.Checked=false)then

begin

messagedlg('Выберите цвет света!',mtInformation,[mbOk],0);

end else

begin

ScrollBar1.Enabled:=true;

Button3.Visible:=true;

Button2.Visible:=false;

If RadioButton1.Checked=true then Image7.Visible:=true;

If RadioButton2.Checked=true then Image8.Visible:=true;

If RadioButton3.Checked=true then Image9.Visible:=true;

end;

end;

Выключает цепь

procedure TForm8.Button3Click(Sender: TObject);

begin

ScrollBar1.Position:=0; 

ScrollBar1.Enabled:=false;

Button2.Visible:=true;

Button3.Visible:=false;

Image7.Visible:=False;

Image8.Visible:=False;

Image9.Visible:=False;

Image1.Visible:=true;

Image2.Visible:=False;

Image3.Visible:=False;

Image4.Visible:=False;

ScrollBar1.Position:=0;

Gauge1.Progress:=100-ScrollBar1.Position;

Gauge2.Progress:=ScrollBar1.Position;

ScrollBar1.Enabled:=false;

radiobutton1.Checked:=false;

radiobutton2.Checked:=false;

radiobutton3.Checked:=false;

end;



Форма 9



Переходит на форму 1

procedure TForm9.Button1Click(Sender: TObject);

begin

form1.Enabled:=true;

close;

end;