Разработка автоматизированной системы для автоматизации расчета заработной платы
Целесообразность разработки адаптивной системы передачи данных. Возможность изменения параметров помехоустойчивых кодов. Информационный подход к оценке качества функционирования систем передачи информации. Алгоритм работы передатчика и приемника.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.03.2013 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
При разработке алгоритма функционирования ФКТ использован нисходящий принцип проектирования, заключающийся в направленном разбиении исходной задачи на независимые друг от друга части (процедуры), каждая из которых логически завершена и может быть использована самостоятельно. Это, в свою очередь, значительно упрощает понимание алгоритма в целом.
Таким образом, весь алгоритм можно на разбить на следующие структуры:
а) алгоритм основного модуля;
б) алгоритм модели передающего устройства;
в) алгоритм модели приёмного устройства.
При разработке алгоритма использован принцип структурного программирования. Он заключается в разбиении программы на некоторое количество подпрограмм. В результате применения данного принципа значительно упрощается процесс программирования.
Алгоритм является ветвящимся, циклическим, в нем реализованы обратные связи, позволяющие пользователю выбирать наиболее приемлемый путь для продолжения программы.
Перед передачей данных модель решающего устройства выдаёт служебный сигнал на модулятор, который преобразует дискретный сигнал в сигнал с частотной модуляцией и посылает его канал связи служебное сообщение (приложение А). Состав двоичной кодовой комбинации этого сообщения записан в памяти модели решающего устройства приёмника. Модель демодулятора приемника преобразует сообщение в дискретный вид и передает это сообщение на модель решающего устройства приемника. Модель решающего устройства приемника сравнивает полученное сообщение с эталонным и посылает по обратному каналу на передатчик информацию о том, какое количество ошибок возникло в канале связи. Модель решающего устройства передатчика, обрабатывая принятое сообщение, принимает решение о состоянии канала связи. Решающее устройство передаёт модели кодирующего устройства передатчика, какой образующий полином выбрать из трёх применяемых в данной модели СПД.
Информация в ИИ формируется с помощью ручного ввода букв, которые кодируются в десятичную систему исчисления, в дальнейшем в двоичную систему исчисления (приложение Б). Кодирующие устройство передатчика, повышает достоверность передаваемых данных путём помехоустойчивого кодирования циклическим кодом. Выбор образующего полинома зависит от качества канала связи (приложение В). С выхода модели КУ кодовая комбинация поступает на модель устройства цикловой синхронизации передатчика. Модель Б передатчика выдает сигнал, через модель канала связи, на модель БС передатчика о длине сообщения и готовности передающего устройства выдавать данные. Модель БС передатчика через модель модулятор посылает стартовый сигнал на приемник (приложение Г). Модель демодулятора приемника анализирует полученное сообщение и передает его на модель БС приемника. Модель БС приемника устанавливает регистры модели ДКУ приемника в исходное положение.
После передачи стартового сигнала модель БС принимает решение о возможности начинать передачу информационных кодовых комбинаций. Модель БС передатчика побитно выдает в КСвп сообщение, кодированное помехоустойчивым кодом.
Модель ДКУ приемника побитно принимает сообщение и записывает на свои регистры.
После выдачи всего сообщения модель БС приёмника (приложение Д) принимает решение о выдаче модели БС передатчика о том, что сообщение передано. Модель БС передатчика выдает стоповый сигнал.
Стоповый сигнал поступает на модель М приемника. Модель БС приемника выдает на модель ДКУ приемника сигнал о том, что сообщение передано. Получив сигнал о том, что сообщение передано, модель ДКУ приемника производит деление на образующий полином (приложение Е) и переводит информационную часть полученного сообщения в символьный код КОИ-8. Остаток от деления модель ДКУ приемника передает на модель РУ приемника. Модель РУ приемника анализирует остаток от деления (приложение Ж). При выявлении синдрома ошибки, т.е остаток не равен нулю, модель РУ приемника посылает в КСво сообщение об ошибке. Модель декодирующего устройства производит преобразование двоичного сигнала в символьную последовательность КОИ-8 (приложение К)
Модель решающего устройства передатчика (приложение Л), получив сообщение об ошибке, посылает сигнал на модель М передатчика сигнал об изменении параметра сигнала, и сигнал на модель БС передатчика о повторной передаче сообщения. Получив это сообщение, модель М передатчика изменяет один из параметров передаваемого сообщения (мощность, вид модуляции), а модель буферного накопителя повторно выдает сообщение.
При не обнаружении синдрома ошибки модель РУ приемника выдает в КСв сигнал о том, что сообщение принято без ошибок.
Модель РУ передатчика приняв сообщение о том, что кодовая комбинация принята без ошибки, выдает команду на модель Б передатчика. Модель Б передатчика стирает сообщение из своих регистров и передаётся новая информация. Модель РУ передатчика приняв сообщение о том, что кодовая комбинация принята без ошибок в течении определённого времени, выдает команду на модель Б передатчика об изменении параметров передатчика. Модель М и КУ передатчика устанавливает параметры сигнала, например с небольшой мощностью, частотно модулируемый и с наименьшим полиномом, что соответствует исходному состоянию.
2.3 Разработка интерфейса модели
адаптивный помехоустойчивый код передатчик
Интерфейс информационной модели адаптивной системы должен наглядно показывать принцип работы адаптивной системы.
В состав интерфейса модели входят следующие основные блоки:
а) интерфейс передатчика;
б) интерфейс приёмника;
в) интерфейс устройства преобразования сигналов.
Интерфейс передатчика позволяет продемонстрировать основные параметры передаваемого сообщения, такие как вид модуляции предаваемого сигнала, мощность передаваемого сигнала, техническую скорость передачи информации, а также изменение параметров в ходе передачи сообщения.
Интерфейс передатчика позволяет контролировать синхронизацию приемника и передатчика по импульсам, как по прямому так и по обратному каналу. Когда приемник и передатчик синхронизирован две лампы "синхронизация" горят зеленым цветом, при выключении приемника лампы горят красным.
Рисунок 2.5 - Интерфейс передатчика
Интерфейс позволяет вводить в поле "сообщение" сообщение в виде букв, которые необходимо передать. Отображает сообщение в двоичном коде закодированное помехоустойчивым кодом.
Рисунок 2.6 - Интерфейс передатчика
Кнопка "установить соединение" предназначена для синхронизации передатчика по импульсам.
Кнопка "передать" предназначена для осуществления передачи кодовой комбинации.
Интерфейс приёмника позволяет в поле "сообщение" позволяет отображать принимаемое сообщение побитно в момент приема каждого бита информации.
Кнопка "установить соединение" предназначена для синхронизации приёмника по импульсам. Поле "memo" позволяет накапливать все принятые с ошибкой сообщения, а затем выводит сообщение в решающее устройство, какие сообщения приняты без ошибки.
Интерфейс устройства преобразования сигналов позволяет наглядно продемонстрировать состояние канала связи и вид передаваемого сигнала без воздействия и под воздействием помехи.
Рисунок 2.7 - Интерфейс УПС.
Вид осциллограммы частотно модулированного сигнала реальной АПД представлен на рисунке 2.7. На данном рисунке представлен меандр частотно-модулированного сигнала, где логической единице соответствует сигнал частотой f=1300 Гц, а логическому нулю соответствует сигнал частотой f=2100 Гц, причём метод передачи без разрыва фазы.
Рисунок 2.8 - Вид ЧМ сигнала при воздействии помех .
При изменении состояния канала связи можно посмотреть, что происходит с сигналом при воздействии на него помехи воспроизводимой генератором шума.
Выводы
Одним из путей повышения эффективности систем передачи информации является адаптация, которая применяется с различной целью. Одной из задач является поддержание заданной верности передачи данных при условии максимальной скорости передачи.
Созданная структура модели, наилучшим образом с точки зрения выбранного критерия эффективности системы кодирования, изменяет свои характеристики в зависимости от условий передачи. Разработанные алгоритмы, описывающие принцип работы устройств модели, полностью совпадают с алгоритмом работы адаптивной системы передачи данных.
Разработанный интерфейс модели позволяет наглядно продемонстрировать работу модели адаптивной системы при изменении параметров передаваемых сигналов.
3. Особенности программной реализации модели
3.1 Выбор среды программирования
В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать.
Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и Unix подобные системы и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах, причем во всех или по крайней мере в самых распространенных модификациях.
Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, даже при том отсталом по сравнении с нынешними возможностями положении, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессиональное использование, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку. В основе систем быстрой разработки (RAD-систем, Rapid Application Development - среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста, при использовании RAD-систем, фантастическая.
Delphi представляет собой систему программирования, как любая подобная система Delphi предназначена для разработки программ и имеет две характерные особенности: создаваемые с ее помощью программы могут работать не только под управлением Windows, а сама она относиться к классу инструментальных средств ускоренной разработки программ.
Первый инструмент RAD создан корпорацией Microsoft и называется Visual Basic. Среда Delphi, созданная тремя годами позже, вместе с такими продуктами как Visual C++, C++ Builder, J Builder, Power Builder также относится к классу инструментов ускоренной разработки программ. Это ускорение достигается за счет двух характерных свойств Delphi: визуального конструирования форм и широкого использования библиотеки визуальных компонентов (Visual Component Library, VCL).
Визуальное конструирование форм избавляет программиста от многих аспектов разработки интерфейса программы, так как Delphi автоматически готовит необходимые программные заготовки и соответствующий файл ресурсов. Программист использует специальное окно, которое называется окном формы, как прототип будущего окна программы и наполняет его компонентами, реализующими нужные интерфейсные свойства (разного рода списки, кнопки, полосы прокрутки и т.п.). После размещения на форме очередного компонента Delphi автоматически вставляет в связанный с формой модуль ссылку на компонент и корректирует специальный файл описания формы с расширением DFM, который после компиляции преобразуется в ресурсный файл Windows.
Библиотека визуальных компонентов представляет программисту огромное разнообразие созданных разработчиками Delphi программных заготовок, которые немедленно или после несложной настройки готовы к работе в рамках вашей программы. Компоненты характеризуются важным свойством: они включают в себя программный код и все необходимые для его работы данные, что избавляет программиста от рутинной работы. Как уже упоминалось, с Delphi поставляется великое множество компонентов, рассчитанных на самые разные аспекты применения - от простеньких компонентов, создающих поясняющие надписи, до сложных текстовых процессоров или инструментов принятия решения. Если по каким-либо причинам в Delphi нет компонента с нужной функциональностью, его можно создать средствами самой среды Delphi и включить затем в VCL.
Использование компонентов не только во много раз сокращает сроки разработки программ, но и существенно снижает вероятность случайных программных ошибок.
Безусловное достоинство Delphi, выгодно отличающее эту систему программирования от других инструментов RAD - мощность и гибкость языка программирования Delphi. Ядром языка Delphi является язык Паскаль, созданный профессором Цюрихского университета Никлаусом Виртом еще в конце 60-х годов специально для обучения студентов программированию. В числе его студентов были Филипп Канн и Андерс Хейлсберг. Первый основал корпорацию Borland, второй стал ее главным программистом. За долгие годы А. Хейлсберг и программисты под его началом превратили Паскаль в мощный современный объектно-ориентированный язык, пригодный для эффективного создания программ любой сложности.
От Visual Basic язык Delphi отличают строгая типизированность, позволяющая компилятору еще на этапе компиляции обнаружить многие ошибки, а также средства работы с указателями. Последнее дает возможность использовать так называемое раннее связывание с библиотеками типов в технологии COM, в то время как Visual Basic (и Java, в котором тоже поддерживаются указатели) вынуждены при обращении к COM использовать более медленное, позднее связывание и интерфейсы диспетчеризации.
Синтаксис С++ прямо-таки провоцирует создание запутанных программ, в которых трудно разобраться даже автору, в то время как простой и ясный синтаксис Delphi позволяет последнему претендовать на роль языка, идеально подходящего для описания алгоритма.
Если по каким-либо причинам возможности Delphi окажутся недостаточными, вы можете программировать на Ассемблере (машинно-зависимом языке программирование), который ограниченно вплетен в Delphi.
Во всех случаях Delphi имеет самый быстрый среди продуктов подобного рода оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы
Отличительной особенностью седьмой версии является поддержка технологии. NET.Borland Delphi 6 Studio может работать в среде операционных систем от Windows 98 до Windows XP. Особых требований, по современным меркам, к ресурсам компьютера пакет не предъявляет: процессор должен быть типа Pentium или Celeron с тактовой частотой не ниже 166 МГц (рекомендуется Pentium II 400 МГц), оперативной памяти - 128 Мбайт (рекомендуется 256 Мбайт), достаточное количество свободного дискового пространства (для полной установки версии Enterprise необходимо приблизительно 475 Мбайт).
Преимущества Delphi по сравнению с аналогичными программными продуктами:
а) быстрота разработки приложения;
б) высокая производительность разработанного приложения.
3.2 Реализация обмена данными между ЭВМ
В процессе сетевого соединения два процесса обмениваются данными. Сокет является выражением абстрактной точки сетевого соединения.
Сокеты Windows (Winsock) - это интерфейс прикладного программирования, разработанный на основе сокетов Беркли. Сокеты Беркли используются на различных ОС, а Winsock - для Windows 2000, Windows ХР.
В состав Winsock входит множество функций из интерфейса Беркли. Кроме того, имеется ряд специфических функций, позволяющих использовать интерфейс Windows.
Спецификация Winsock описывает стандарт, по которому программы Windows обязаны общаться с сетями TCP/IP.
Корпорация Microsoft не имеет имущественных прав на стандарт Winsock.
Цель разработки - создание единого интерфейса прикладного программирования с TCP/IP.
В UNIX интерфейс сокетов был встроен в систему. Интерфейс Winsock не входит в состав Windows, а реализован в виде динамически загруженной библиотеки DLL.
DLL представляет собой модуль исполняемого кода, который умеет загружаться по требованию прикладного процесса, т.е. когда процессу нужна функция, входящая в состав DLL. Когда необходимость в функциях исчезает, Windows выгружает модуль из памяти. Архитектура DLL построена таким образом, что позволяет нескольким прикладным программам одновременно пользоваться одним и тем же модулем.
Согласно [3], API Winsock содержит набор функций. Спецификация Winsock разбивает их на три группы:
а) функции сокетов в стиле Беркли, включенные в Winsock API;
б) функции для работы с базами данных, позволяющие программам получать информацию об именах доменов, протоколах и т.д.
в) функции, распределяющие набор функций интерфейса сокетов Беркли.
Кроме того, все функции можно разделить на две большие группы: блокирующие и неблокирующие.
Блокирующая функция заставляет вызвавшую ее программу ждать окончательно сетевой операции ввода-вывода. Неблокирующая функция не ждет окончания ожидания.
Для осознания картины программирования в Windows целиком, нужно понимать, какое место в ней занимает Windows и какие именно функции им выполняются.
Модуль Winsock.dll находится между стеком протоколов TCP/IP и клиентским приложением. Он управляет интерфейсом к стеку TCP/IP.
Производители продукции на базе Winsock разрабатывают свои собственные версии протоколов SLIP и PPP, стек протоколов TCP/IP. Но все это не является нитью интерфейса Winsock.
Компоненты ServerSocket и ClientSocket реализуют коммуникацию двух компьютеров (клиента и сервера) через протокол TCP/IP. Большинство остальных Internet-компонентов являются модификациями данных компонентов с конкретными портами и вспомогательными методами для обработки конкретных данных.
Из названий этих компонентов ясно, что один из них размещается на сервере, а другой - на клиенте. Для использования этих компонентов необходимо после установки компонента на форму изменить значение свойства Port. По умолчанию это свойство равно нулю, и при этом значении компоненты работают некорректно. Можно определить, например, номер порта 1024. Оба компонента имеют свойство Active, но изменение этого свойства приводит к различной реакции ServerSocket и ClientSocket. Компонент ServerSocket начинает или прекращает проверку порта, указазанного в его свойстве Port на предмет появления на нем запроса от клиента. Вместо свойства Port можно указать свойство Service (и это рекомендуется делать для сервера - например, HTTP, FTP). Компонент ClientSocket старается соединиться (или прекращает соединение) с сервером, адрес которого указан в свойстве Address (например, 192.168.0.1), и через порт, указанный в свойстве Port. Вместо свойства Address в компоненте ClientSocket можно определить свойство Host (например, myserv.ipac.ac.ru). Так же, как и для сервера, вместо свойства Port можно изменять свойство Service.
Для тестирования необходимо сначала запустить сервер и присвоить его свойству Active значение True. После этого можно запускать клиент, указать ему адрес сервера и также выставить свойство Active в True. При установке связи будет вызван ряд событий как на сервере, так и на клиенте. На сервере будет вызвано событие OnClientConnect. В качестве параметра событию будет передана ссылка на переменную типа TCustomWinSocket, которая содержит в себе детальную информацию о клиенте. Например, можно обратиться к свойствам RemoteAddress или RemoteHost для определения адреса, откуда пришел запрос на соединение. Далее можно проанализировать адрес и, например, занести его в список текущих соединений или оборвать соединение, если адрес не содержится в определенном программистом списке разрешенных адресов. Сказанное можно проиллюстрировать кодом:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
var
S: String;
begin
S := Socket.RemoteAddress;
if (S = '192.168.0.1') or (S = '192.168.0.2') then
ListBox1.Items.Add(S) // Добавить адрес в список
else
Socket.Close; // Оборвать соединение
end;
Соответственно при прекращении клиентом связи с сервером будет вызываться событие OnClientDisconnect, которое для примера, приведенного выше, следует использовать для удаления адреса из списка. В клиентском приложении, если сервер будет найден, будут вызваны три события: 1 OnLookup - перед тем как начать поиск сервера; 2 OnConnecting - немедленно после завершения поиска сервера; 3 OnConnect - сразу же после установления связи с сервером. Если же сервер с указанным адресом не будет найден, то на клиенте будет вызвано событие OnError.
После успешного установления связи с сервером можно начать обмен данными между клиентом и сервером. Для этого следует использовать ключевые свойства этих компонентов с именем Socket типа TServerWinSocket для компонента ServerSocket и типа TClientWinSocket для компонента ClientSocket. Переменная TClientWinSocket содержит ряд методов, название которых начинается со слова Send. Вызов этих методов с соответствующим списком параметров - строка или поток - позволяет передать данные серверу. В свою очередь, переменная Socket, TServerWinSocket содержит список Connections, где находятся переменные типа TCustomWinSocket. В каждой из этих переменных хранится ссылка на соединенный клиент - с сервером одновременно могут работать несколько клиентов. Число соединенных клиентов хранится в свойстве Socket.ActiveConnections. Вызывая методы Connections[I].Send, можно инициировать передачу данных I-му клиенту с сервера. Это, пожалуй, единственный серверный компонент страницы Internet, который может инициировать передачу данных клиенту - во всех остальных случаях клиент либо передает данные серверу, либо обращается к серверу с требованием предоставить данные.
Как получить переданные данные? Для этого необходимо создать обработчик события OnRead для ClientSocket (читает данные, посланные с сервера) и OnClientRead для ServerSocket (читает данные, отправленные клиентом). Списки параметров этих методов для ClientSocket и ServerSocket одинаковы и, если приложение использует оба этих компонента одновременно, то можно создать общий обработчик событий, например:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
S : string;
begin
S := 'From:' + Socket.RemoteAddress + ' - ' + Socket.ReceiveText;
ListBox2.Items.Add(S);
end;
Данный обработчик события будет заносить в список текст сообщения и адрес, откуда оно было послано. Определение адреса важно для компонента ServerSocket: с ним может быть связано несколько клиентов. Следует отметить очень хорошую реализацию получения данных в ServerSocket при работе с несколькими клиентами - каждому клиенту выделяется собственный поток (Thread), и ServerSocket при приеме данных не блокирует порт и может одновременно работать с несколькими клиентами. ReceiveText - это не свойство, а метод. Если происходит обмен двоичными данными (вызов метода SendStream на сервере или клиенте), то следует воспользоваться методом ReceiveBuf(var Buf; Count: Integer), который копирует Count-байт в переменную Buf. Для определения размера полученных данных следует воспользоваться методом ReceiveLength.
Из других полезных обработчиков событий - OnWrite для ClientSocket и OnClientWrite для ServerSocket - вызываются сразу же перед тем, как отправляются данные серверу или клиенту. OnError и OnClientError соответственно для ClientSocket и ServerSocket - при возникновении ошибки. В параметрах этих методов имеется переменная ErrorCode - если ей присвоить значение, равное нулю, то исключение не будет показано пользователю. Другой параметр - ErrorEvent - содержит информацию об ошибке (ошибка чтения, ошибка отправки данных, ошибка при попытке установления связи и т. д.). Компонент ServerSocket имеет также обработчик события OnAccept, которое вызывается сразу же после того, как клиент успешно связался с сервером.
В комплекте поставки Delphi 7.0 имеется демонстрационное приложение Chat, каталог ..\Chat. В этом приложении (оно является одновременно и клиентом и сервером) реализуется передача текстовых сообщений через протокол TCP/IP с использованием компонентов ClientSocket и ServerSocket. Недостаток проекта - ServerSocket может работать только с одним клиентом. Для его устранения при передаче данных необходимо учитывать число присоединенных клиентов посредством чтения свойства Socket.ActiveConnections и использовать массив Socket.Connections[I]. Кроме того, при закрытии этого приложения возникает исключение ESocketError. Исключение связано с тем, что для корректного обрыва связи через эти компоненты необходимо, чтобы некоторое время продолжался цикл выборки сообщений Windows в приложении. Это достигается явным прерыванием связи в обработчике события OnDestroy главной формы приложения:
procedure TForm1.FormDestroy(Sender: TObject);
begin
ClientSocket1.Active := False;
ServerSocket1.Active := False;
Application.ProcessMessages;
end;
3.3 Требования к разрабатываемой программе
Требования к функциональным характеристикам:
а) программа запускается быстро, без ошибок,
б) все кнопки, пункты меню и другие элементы соответствуют возложенным на них функциям,
в) вся информация представлена визуально.
Требования к надёжности:
а) для обеспечения надежного функционирования программы и предотвращения появления ошибок из-за некорректных действий необходимо осуществлять контроль за входными и выходными данными,
б) система должна выполнять поставленные перед ней задачи без ошибок и задержек. Потеря надежности системой связывается с появлением отказов в работе.
Рекомендуемый набор технических средств для работы программы:
а) компьютер на базе процессора Intel (R) Pentium (R) CPU с частотой 300МГц;
б) не менее 20 Мб на жёстком диске;
в) накопитель CD-ROM;
г) стандартный SVGA монитор;
д) клавиатура, мышь.
Тексты программы содержат в себе программный код на языке Delphi, пояснения программного кода в виде специально выделенных комментариев. В программный код включены все основные процедуры и функции работы программы. Просмотреть тексты программы можно в приложении Л.
3.4 Описание программы
Программный продукт должен работать под управлением операционной системы Windows 98/Me/2000/XP/VISTA. С программным продуктом может работать любой пользователь, имеющий навыки работы на персональном компьютере и обладающий базовыми знаниями работы с операционной системой Windows. Пользователю перед работой с программным продуктом рекомендуется прочитать справку.
Алгоритм программы является циклическим, ветвящимся.
Установка программы: программа устанавливается с CDR диска. Для запуска программы и установки необходимо скопировать папку с программой.
Для начала работы, необходимо запустить программные модули Peredatchik.exe и Priemnik.exe, нажать кнопку "включить" и выбрать состояние канала связи. Далее в поле ввода записать комбинацию, которую необходимо передать.
Выводы
В процессе разработки алгоритма функционирования модели был найден оптимальный путь его реализации на языке программирования Delphi 7.0. Использование модульного принципа построения программы предоставляет возможность ее дальнейшего развития
Использование встроенных компонентов Delphi 7.0, ServerSocket и ClientSocket и сетевых возможностей ОС WINDOWS 2000, в частности принципа обмена информацией в локальной вычислительной сети по протоколу TCP/IP, позволяют реализовать модель в локальной сети.
4. Экономическая эффективность
4.1 Расчет экономической эффективности от внедрения
Целью написания данного раздела является определение затрат на разработку и внедрение ПП для учебного заведения "автоматизированная система для автоматизации расчетов заработной платы преподавателей учебного заведения", расчёт экономического эффекта от внедрения данного продукта в эксплуатацию.
Затраты на разработку и внедрение
Затраты на разработку включают в себя все расходы связанные с разработкой данного ПП: приобретение компьютера, установка ОС, установка языка программирования, установка СУБД, заработная плата программистов, амортизация компьютера.
Рассчитаем расходы разработчика на разработку ПП.
К капитальным затратам относятся единовременные затраты, связанные с разработкой и внедрением проектных решений. Расчет этих затрат осуществляется по формуле 4.1:
К = Зпп +Зп + Зоб +Зтм +Змэ (4.1)
где Зпп - предпроектные затраты на создание системы (на специальное обучение проектного персонала, обследование объекта, разработку, согласование и утверждение технического задания), в рублях рассчитывается по формуле (4.2):
(4.2)
где H - коэффициент накладных расходов (в расчетах берется по данным конкретной проектной организации или равным 1.8);
tпп - затраты времени на работу, выполняемую на предпроектной стадии, час (возьмем 24 часа для руководителя проекта и 72 часа для программиста);
Ссч - среднечасовая ставка специалиста в рублях, выполняющего работу, рассчитывается по формуле (4.3):
(4.3)
где Кр - районный коэффициент;
См - месячный оклад (ставка, заработок) специалиста, руб. (месячная ставка руководителя проекта 3000 рублей, а месячная ставка программиста См2 =2500 рублей). Получаем, что:
Ч - численность специалистов, выполняющих работу:
Рассчитаем предпроектные затраты на создание системы:
Проектные затраты на создание системы в рублях рассчитывается по формуле (4.4):
(4.4)
где tn - затраты времени на работы, выполняемые на проектной стадии (на разработку технических проектов, программирование; подготовку, проведение экспериментальных, внедренческих и сдаточных работ и др.), час. ( возьмем для руководителя проекта эту величину, равную 60 час., а для программиста 660 час.);
tпд - время подготовки данных (переноса информации на машинные носители, час. (в нашем случае 0.12 часов);
- среднечасовая ставка оператора подготовки данных, в рублях (в нашем случае равна 16,3 рублей);
tотл - суммарное машинное время для отладки программ или проведения других отладочных работ с помощью ЭВМ (208 часов);
tэкс - суммарное машинное время для проведения экспериментальных работ, час. (160 часов);
tоп - суммарное машинное время для опытного внедрения (16 часов);
Смч - стоимость машинного часа, руб/час (21.48 руб/час).
Затраты, связанные с приобретением оборудования и ПО, в рублях, рассчитываются по формуле (4.5):
Зоб = Зк + Зос + Зя + Зоф(4.5)
где, Зк - затраты на приобретение компьютера, в рублях;
Зос - затраты на приобретение операционной системы в рублях;
Зя - затраты на приобретение языка программирования в рублях;
Зоф - затраты на приобретение MS Office, в рублях.
Таблица 1 - Затраты, связанные с приобретением оборудования и ПО
Статья затрат |
Цена рублей |
Количество, шт. |
Стоимость рублей |
|
Компьютер |
25 000 |
1 |
25 000 |
|
ОС |
3 000 |
1 |
3 000 |
|
Язык Delphi 7 |
25 000 |
1 |
25 000 |
|
MS Office |
300 |
1 |
300 |
|
Итого: |
53300 |
Рассчитаем предпроектные затраты:
Зп = (60*19.6+660*16.3*1+0.12*16.3)*1.8+(208+160+16)*21.48 =
= 29733.04 (рублей)
Зоб - затраты, связанные с приобретением оборудования, руб.;
Зтм - затраты на транспортировку и монтаж оборудования, руб. (0 руб.);
Змэ - материально-энергетические затраты, связанные с созданием системы, руб. (возьмем 800 руб.).
Таким образом, по формуле размер капитальных затрат равен:
(рублей)
Таким образом, стоимость разработки ПП (Ср) можно рассчитать по формуле (4.6) как отношение капитальных затрат к предполагаемому количеству внедрений.
(4.6)
где В - предполагаемое количество внедрений системы.
Предполагаемое количество внедрений равно 20.
Таким образом:
Ср = / 41 = 2238.83 руб.
При внедрении ПП заказчику потребуется оплатить стоимость программы и дополнительные расходы, которые включают приобретение OS, MS Office, СУБД.
Таким образом, стоимость внедрения определяется по формуле (7):
(4.7)
Имеем:
руб.
Оценка экономической эффективности ПП должна осуществляться по аналогии с оценкой инвестиционного проекта. При этом, основная трудность заключается в выявлении экономических выгод для компании от его внедрения. Необходимо не только обнаружить эти экономические выгоды, но получить их количественную оценку и структурировать таким образом, чтобы они подавались интеграции в единый денежный поток.
Необходимо рассчитать планируемый доход от внедрения системы как разницу между суммой потерь до ввода разработанной модели в эксплуатацию и потерь после ввода модели в эксплуатацию. Доход (Д) может быть рассчитан по формуле (4.8):
(4.8)
где Пд - потери до ввода модели в эксплуатацию,
Пп - планируемые потери после ввода модели в эксплуатацию.
Таким образом, получим:
Д = 7100 - 500 = 6600 руб.
4.2 Экономический эффект
Основными показателями экономической эффективности являются экономический эффект, срок окупаемости. Экономический эффект - результат внедрения какого-либо мероприятия, выраженный в стоимостной форме, в виде экономии от его осуществления. Срок окупаемости (величина, обратная коэффициенту эффективности) - показатель эффективности использования капиталовложений - представляет собой период времени, в течение которого произведенные затраты на программное изделие окупаются полученным эффектом.
Годовой экономический эффект определяется как разница между доходом от внедрения системы и расходами на внедрение.
(4.9)
где Св - стоимость внедрения для компании, руб.,
Св в данном случае равно 5000.
Таким образом, получим:
Э = 7100 - 5000 = 2100 руб.
Срок окупаемости рассчитывается по формуле (4.10):
(4.10)
где Св - стоимость внедрения для компании, руб.,
Э - годовой экономический эффект, руб.
Получаем:
Коэффициент эффективности рассчитывается по формуле:
(4.11)
Имеем:
Должно соблюдаться условие:
где Тн = 3 года и Ен = 0.33 - нормативные сроки окупаемости, и коэффициент эффективности для АСУ.
Так как 2.3 ? 3 и 0.47 ? 0.33, то можно сделать вывод о целесообразности внедрения проекта.
Исходя из вышесказанного, применение данной разработки позволит, бесспорно, в самые кратчайшие сроки компенсировать затраты на разработку и эксплуатацию, получить экономический эффект от использования данного комплекса.
Выводы
В данном разделе проведён расчет экономической эффективности от внедрения разработанной адаптивной системы, который показал целесообразность внедрения проекта.
Экономический анализ позволит в кратчайшие сроки компенсировать затраты на разработку и эксплуатацию, получить экономический эффект от использования данного программного продукта.
Заключение
Создание автоматизированной системы - трудоемкая задача, для решения которой необходимо иметь представление о методах анализа, проектирования и реализации программных систем, ориентироваться в существующих подходах и технологиях.
Индустрия производства автоматизированных систем претерпела за два последних десятилетия качественные изменения. Это связано с такими тенденциями компьютерного мира и мировой экономики, как:
1) развитием и появлением новой элементной базы;
2) наступлением эпохи персональных компьютеров;
3) появлением и развитием интегрированных сред разработки;
4) появлением глобальных сетей передачи данных;
5) глобализацией бизнеса;
6) ростом конкуренции;
7) переходом к экономике, ориентированной на потребителя;
8) появлением и развитием электронного бизнеса и др.
АИС прошли путь от однопользовательских систем к системам масштаба рабочей группы, малого предприятия, холдинга, транснациональной корпорации.
Среди современных тенденций в развитии технологий создания АИС следует отметить:
1) быстрые методы прототипирования;
2) ориентацию на варианты использования;
3) переход от разработки к настройке.
Система передачи данных - система, предназначенная для передачи информации как внутри различных систем инфраструктуры организации, так и между ними, а также с внешними системами. В работе представлена классификация систем передачи данных.
В результате выполнения дипломной работы решены следующие задачи:
1) дан теоретический обзор по заданной теме, где описаны все преимущества и недостатки различных методов использования данных средств для реализации поставленной задачи, в дипломной работе;
2) проведен анализ предметной области;
3) проанализированы требования к компьютерной модели;
4) приведено и описано разработанное дерево программных модулей;
5) разработан алгоритм, который переведен на алгоритмический язык программирования и проведена проверка его работоспособности.
При разработке алгоритма компьютерной модели выбран нисходящий способ проектирования, позволяющий разбивать исходную задачу на отдельные подзадачи. Алгоритм является ветвящимся, циклическим.
Алгоритм является модульным, что позволяет постоянно совершенствовать и дополнять программу.
Для программирования алгоритма выбран алгоритмический язык Delphi версии 7.0. Данная версия позволяет в полном объеме реализовать разработанный алгоритм, используя команды, операторы и функции языка.
Текст программы представлен в Приложении М.
Список использованной литературы
1. Андреева Т.А. Программирование на языке Pascal Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
2. Архангельский, А.Я. Программирование в Delphi 7/А. Я. Архангельский - М.: ООО "Бином-Пресс", 2003г.
3. Брябрин В.М., "Программное обеспечение персональных ЭВМ", Москва, 'Hаука', 2000 г.
4. Дарахвелидзе, П. Г. Программирование в Delphi 7/ П. Г. Дарахвелизде, Е. П. Марков -- СПб.: БХВ-Петербург, 2003 г.
5. Ден Оузьер, Стив Гробман, Стив Батсон. DELPHI. "Освой самостоятельно" Перевод с англ.-М.: Восточная Книжная Компания, 2007 г.-624с.
6. Джон Матчо, Дэвид Р.Фолкнер. "Delphi" -- пер. с англ. -- М.:Бином, 2002г.
7. Епанешников A.M. Епанешников В.А., "Программирование в среде Delphi 7.0",М.: Диалог-Мифи, 2000г.-235с.
8. Зимихин Д. А., Квашенников В. В., Кухарев А. Д., Манкевич Д. М., Турилов В. А. Перспективная телекодовая аппаратура с адаптивной коррекцией параметров помехоустойчивого кода. /Труды VI Российской научно - технической конференции, Калуга, изд - во ЦНТИ, 2007, с. 51-54.
9. Касьянова Г.Ю., Колесников С.Н., " Управленческий учёт по формуле три в одном " М.: Издательство-консультационная компания 'Статус Кво 97', 1999г.-328с.
10. Квашенников В. В., Кухарев А. Д. "Адаптивное помехоустойчивое кодирование в технике связи", Монография, Изд-во научной литературы Н. Ф. Бочкаревой, Калуга: 2007 - 148с.
11. Квашенников В. В. Система связи с адаптивным помехоустойчивым кодированием. //Телекоммуникации, 2005, №6, с. 43-47
12. Липаев, В.В. Методы обеспечения качества крупномасштабных программных средств / В.В. Липаев - М.: СИНТЕГ, 2003 - 350 с.
13. Оспищева Д. А. "Paradox for Windows: Практическое руководство". Под редакцией Издательство АОЗ "Алевар", 2003г.
14. Орлов, С.А. Технологии разработки программного обеспечения: Учебник / С.А. Орлов - СПб.: Питер, 2002. - 464 с.
15. Патент РФ №2236090 МПК7 H 04 B 17/00 Квашенников В. В., Солдатенко Э. Н. Способ контроля качества канала связи. Приор. 27.01.2003
16. Патент РФ №2285345 МПК7 H 04 B 17/00 Квашенников В. В., Рынденков М. В. Способ контроля качества канала связи. Приор. 28.12.2004
17. Патент РФ на полезную модель №46399 МПК7 H 04 B 17/00 Карпиков А. А., Ква-шенников В. В., Рынденков М. В. Устройство для контроля качества канала связи, Приор. 09.03.2005, опубл. 27.06.2005.
18. "Рекоммендации по общепользовательскому интерфейсу", Microsoft, редакция 2007г.
19. Тейксейра, Стив, Пачеко, Ксавье. Delphi 7.0 "Руководство разработчика".СПб: Издательский дом 'Вильямс' 2007 г.-912с.
20. Цикритизис Д., Лоховски Ф., "Модели данных". - М.: Финансы и статистика, 2001г. - 344 с.
21. Шафрин Ю.А., "Основы компьютерной технологии". М., 2002 г.
22. Шеховцов. О. И., Горохов С. Г. Передача информации по нестационарным каналам связи. Учебн. пособие. - Л.: Изд-во Ленингр. ун-та, 1985, - 172 с.Советов Б. Я., Стах В. М. Построение адаптивных систем передачи информации для автоматизированного управления. - Л.: "Энергоиздат" Ленингр. отделение, 1982, - 120 с.
23. Элементы теории передачи информации, под ред. Л. П. Пуртова, - М
24. Юрьев А. Н., Хазан В. Л., Мереминский И.А., Зенков А. Н. Идентификация параметров модели дискретного связи декаметрового диапазона. //Техника средств связи, сер. ТРС, 1991, вып.9, стр. 27 - 32.
Приложение А
Выбор параметра сигнала
Приложение Б
Кодирование
Приложение В
Алгоритм кодирования помехоустойчивым кодом
Приложение Г
Передатчик. Прямой канал
Приложение Д
Общий алгоритм работы приемника
Приложение Е
Деление принятой комбинации на образующий полином
Приложение Ж
Проверка синдрома ошибки
Приложение К
Приемник. Декодирование
Приложение Л
Передатчик. Обратный канал
Приложение М
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, ScktComp, ComCtrls, Grids;
type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
GroupBox3: TGroupBox;
Image8: TImage;
Image9: TImage;
Image10: TImage;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
GroupBox4: TGroupBox;
Image11: TImage;
Image12: TImage;
Image13: TImage;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
BitBtn1: TBitBtn;
ClientSocket1: TClientSocket;
ServerSocket1: TServerSocket;
Image14: TImage;
Button3: TButton;
Edit2: TEdit;
StringGrid1: TStringGrid;
Label14: TLabel;
Edit3: TEdit;
Image15: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure kodirovanie;
procedure vib_param;
procedure zvet;
procedure perevod;
procedure Image11Click(Sender: TObject);
procedure Image13Click(Sender: TObject);
procedure Image12Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button3Click(Sender: TObject);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
p:integer;//мощность
w:integer; //вид модуляции
coct:integer;//состояние ксв
k:integer;//коректирующие
s,st,stat:string;
m:integer;
implementation
uses Math;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Port:=1024;
ClientSocket1.Address:='127.0.0.1';
ClientSocket1.Active:=true;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
dln,i,cs:integer;
stper:string;
begin
if coct=0 then
begin
ShowMessageFmt('выберите состояние канала связи',[getlasterror]);
exit;
end;
zvet;
perevod;
kodirovanie;
if StringGrid1.Cells[p,w]='1' then
begin
dln:=length(s);
Edit2.Text:=IntToStr(dln);
if dln=55 then ClientSocket1.Socket.SendText(IntToStr(55));
if dln=63 then ClientSocket1.Socket.SendText(IntToStr(63));
if dln=71 then ClientSocket1.Socket.SendText(IntToStr(71));
for i:=0 to dln do
begin
stper:=s[i];
ClientSocket1.Socket.SendText(stper);
for cs:=1 to 100000000 do
//Image15.Picture.LoadFromFile('красная.bmp');
end;
ClientSocket1.Socket.SendText(IntToStr(5));
zvet;
end
else
begin
dln:=length(st);
Edit2.Text:=IntToStr(dln);
if dln=55 then ClientSocket1.Socket.SendText(IntToStr(55));
if dln=63 then ClientSocket1.Socket.SendText(IntToStr(63));
if dln=71 then ClientSocket1.Socket.SendText(IntToStr(71));
for i:=0 to dln do
begin
stper:=st[i];
ClientSocket1.Socket.SendText(stper);
for cs:=1 to 100000000 do
//Image15.Picture.LoadFromFile('красная.bmp');
end;
ClientSocket1.Socket.SendText(IntToStr(5));
zvet;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
p:=1;
w:=1;
StringGrid1.Cells[0,1]:='ам';
StringGrid1.Cells[0,2]:='чм';
StringGrid1.Cells[0,3]:='фм';
StringGrid1.Cells[1,0]:='-2';
StringGrid1.Cells[2,0]:='-13';
StringGrid1.Cells[3,0]:='-23';
StringGrid1.Cells[1,1]:='0';
StringGrid1.Cells[1,2]:='0';
StringGrid1.Cells[1,3]:='0';
StringGrid1.Cells[2,1]:='0';
StringGrid1.Cells[2,2]:='0';
StringGrid1.Cells[2,3]:='0';
StringGrid1.Cells[3,1]:='0';
StringGrid1.Cells[3,2]:='0';
StringGrid1.Cells[3,3]:='1';
Image1.Picture.LoadFromFile('красная.bmp');
Image2.Picture.LoadFromFile('черная.bmp');
Image3.Picture.LoadFromFile('черная.bmp');
Image4.Picture.LoadFromFile('черная.bmp');
Image5.Picture.LoadFromFile('черная.bmp');
Image6.Picture.LoadFromFile('черная.bmp');
Image7.Picture.LoadFromFile('черная.bmp');
Image8.Picture.LoadFromFile('черная.bmp');
Image9.Picture.LoadFromFile('черная.bmp');
Image10.Picture.LoadFromFile('черная.bmp');
Image11.Picture.LoadFromFile('черная.bmp');
Image12.Picture.LoadFromFile('черная.bmp');
Image13.Picture.LoadFromFile('черная.bmp');
Image14.Picture.LoadFromFile('красная.bmp');
end;
procedure TForm1.kodirovanie;
var
D:ARRAY of array of integer;
dd:array of integer;
d1:array of integer;
d2:array of integer;
i,n,j,z:integer;
begin
st:='';
s:='';
n:=0;
m:=48;
//k:=4;
//задаем массива динамический
SetLength(d,2);
SetLength(d[0],m+k);
SetLength(d[1],m+k);
SetLength(dd,k);
SetLength(d1,k);
SetLength(d2,k);
for i:=0 to m-1do
d[0,i]:=strtoint(stat[i+1]);
stat:='';
if coct=1 then
begin
dd[0]:=1;
dd[1]:=1;
dd[2]:=0;
dd[3]:=0;
dd[4]:=1;
dd[5]:=1;
dd[6]:=0;
dd[7]:=0;
end;
if coct=2 then
begin
dd[0]:=1;
dd[1]:=1;
dd[2]:=0;
dd[3]:=0;
dd[4]:=1;
dd[5]:=1;
dd[6]:=0;
dd[7]:=0;
dd[8]:=1;
dd[9]:=1;
dd[10]:=0;
dd[11]:=0;
dd[12]:=1;
dd[13]:=1;
dd[14]:=0;
dd[15]:=0;
end;
if coct=3then
begin
dd[0]:=1;
dd[1]:=1;
dd[2]:=0;
dd[3]:=0;
dd[4]:=1;
dd[5]:=1;
dd[6]:=0;
dd[7]:=0;
dd[8]:=1;
dd[9]:=1;
dd[10]:=0;
dd[11]:=0;
dd[12]:=1;
dd[13]:=1;
dd[14]:=0;
dd[15]:=0;
dd[16]:=1;
dd[17]:=1;
dd[18]:=0;
dd[19]:=0;
dd[20]:=1;
dd[21]:=1;
dd[22]:=0;
dd[23]:=0;
end;
for i:=0 to k-1 do
begin
d1[i]:=d[0,i];d[1,i]:=1;
n:=n+1;
end;
repeat
if d1[0]=dd[0]then
for i:=0 to k-1 do
begin
if (d1[i]=1)and(dd[i]=1)then d2[i]:=0;
if (d1[i]=0)and(dd[i]=1)then d2[i]:=1;
if (d1[i]=1)and(dd[i]=0)then d2[i]:=1;
if (d1[i]=0)and(dd[i]=0)then d2[i]:=0;
end
else
for i:=0 to k-1 do
d2[i]:=d1[i];
j:=1;
for i:=0 to k-2 do
begin
d2[j-1]:=d2[j];
j:=j+1;
end;
d2[k-1]:=d[0,n];
d[1,n]:=1;
n:=n+1;
for i:=0 to k-1 do
d1[i]:=d2[i];
until d[1,m+k-1]=1;
s:= '';
n:=0;
for i:=0 to M+k-1 do
d[1,m+k-1]:=0;
for i:=0 to k-1 do
d[0,i+m]:=d1[i];
s:='';
for i:=0 to m+k-2 do
s:=s+IntToStr(d[0,i]);
Edit1.Text:=s;
if StringGrid1.Cells[p,w]='0' then
begin
if d[0,8]=1 then d[0,z]:=0
else begin d[0,8]:=1; end;
if d[0,36]=1 then d[0,z]:=0
else begin d[0,36]:=1; end;
if d[0,2]=1 then d[0,z]:=0
else begin d[0,2]:=1; end;
for i:=0 to m+k-2 do
st:=st+IntToStr(d[0,i]);
for i:=28 to 32 do
d[0,i]:=1;
end;
end;
procedure TForm1.Image11Click(Sender: TObject);
begin
coct:=1;
k:=8;
Image8.Picture.LoadFromFile('черная.bmp');
Image9.Picture.LoadFromFile('черная.bmp');
Image10.Picture.LoadFromFile('красная.bmp');
Image11.Picture.LoadFromFile('красная.bmp');
Image13.Picture.LoadFromFile('черная.bmp');
Image12.Picture.LoadFromFile('черная.bmp');
end;
procedure TForm1.Image13Click(Sender: TObject);
begin
coct:=2;
k:= 16;
Image8.Picture.LoadFromFile('черная.bmp');
Image9.Picture.LoadFromFile('красная.bmp');
Image10.Picture.LoadFromFile('черная.bmp');
Image11.Picture.LoadFromFile('черная.bmp');
Image13.Picture.LoadFromFile('красная.bmp');
Image12.Picture.LoadFromFile('черная.bmp');
end;
procedure TForm1.Image12Click(Sender: TObject);
begin
coct:=3;
k:=24;
Image8.Picture.LoadFromFile('красная.bmp');
Image9.Picture.LoadFromFile('черная.bmp');
Image10.Picture.LoadFromFile('черная.bmp');
Image11.Picture.LoadFromFile('черная.bmp');
Image13.Picture.LoadFromFile('черная.bmp');
Image12.Picture.LoadFromFile('красная.bmp');
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Image1.Picture.LoadFromFile('зеленая.bmp');
end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Image1.Picture.LoadFromFile('красная.bmp');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Image2.Picture.LoadFromFile('красная.bmp');
Image5.Picture.LoadFromFile('красная.bmp');
ServerSocket1.Port:=300;
ServerSocket1.Active:=true;
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Image14.Picture.LoadFromFile('зеленая.bmp');
end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Image14.Picture.LoadFromFile('красная.bmp');
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
rez,stper:string;
dln,cs,i:integer;
begin
rez:=Socket.ReceiveText;
if rez=IntToStr(1) then
begin
vib_param;
zvet;
if StringGrid1.Cells[p,w]='1' then
begin
dln:=length(st);
Edit2.Text:=IntToStr(dln);
if dln=55 then ClientSocket1.Socket.SendText(IntToStr(55));
if dln=63 then ClientSocket1.Socket.SendText(IntToStr(63));
if dln=71 then ClientSocket1.Socket.SendText(IntToStr(71));
for i:=0 to dln do
begin
stper:=s[i];
ClientSocket1.Socket.SendText(stper);
for cs:=1 to 100000000 do
//Image15.Picture.LoadFromFile('красная.bmp');
end;
ClientSocket1.Socket.SendText(IntToStr(5));
zvet;
end
else
begin
dln:=length(st);
Edit2.Text:=IntToStr(dln);
if dln=55 then ClientSocket1.Socket.SendText(IntToStr(55));
if dln=63 then ClientSocket1.Socket.SendText(IntToStr(63));
if dln=71 then ClientSocket1.Socket.SendText(IntToStr(71));
for i:=0 to dln do
begin
stper:=st[i];
ClientSocket1.Socket.SendText(stper);
for cs:=1 to 100000000 do
//Image15.Picture.LoadFromFile('красная.bmp');
end;
ClientSocket1.Socket.SendText(IntToStr(5));
zvet;
end;
end
else
begin
p:=1;
w:=1;
zvet;
end;
end;
procedure TForm1.vib_param;
begin
if p=3 then begin w:=w+1;p:=1;
end
else
begin
p:=p+1;
end;
end;
procedure TForm1.zvet;
begin
if p=1 then
begin
Image5.Picture.LoadFromFile('красная.bmp');
Image6.Picture.LoadFromFile('черная.bmp');
Image7.Picture.LoadFromFile('черная.bmp');
end;
if p=2 then
begin
Image5.Picture.LoadFromFile('черная.bmp');
Image6.Picture.LoadFromFile('красная.bmp');
Image7.Picture.LoadFromFile('черная.bmp');
end;
if p=3 then
begin
Image5.Picture.LoadFromFile('черная.bmp');
Image6.Picture.LoadFromFile('черная.bmp');
Image7.Picture.LoadFromFile('красная.bmp');
end;
if w=1 then
begin
Image2.Picture.LoadFromFile('красная.bmp');
Image3.Picture.LoadFromFile('черная.bmp');
Image4.Picture.LoadFromFile('черная.bmp');
end;
if w=2 then
begin
Image2.Picture.LoadFromFile('черная.bmp');
Image3.Picture.LoadFromFile('красная.bmp');
Image4.Picture.LoadFromFile('черная.bmp');
Подобные документы
Способы передачи данных и методы фазирования. Передача алфавитно-цифровой информации. Разработка кодирующего и декодирующего устройства. Расчет среднего времени запаздывания информации. Разработка структурных схем и алгоритмов функционирования СПД.
курсовая работа [2,0 M], добавлен 21.12.2012Изучение сущности циклических кодов - семейства помехоустойчивых кодов, включающих в себя одну из разновидностей кодов Хэмминга. Основные понятия и определения. Методы построения порождающей матрицы циклического кода. Понятие открытой системы. Модель OSI.
контрольная работа [99,5 K], добавлен 25.01.2011Офисные программы, необходимые для автоматизации работы турфирмы. Описание входной и выходной информации, структуры базы данных. Аппаратное и программное средства для функционирования автоматизированной информационной системы, ее работоспособность.
курсовая работа [902,2 K], добавлен 02.05.2017Понятие и классификация систем передачи данных. Характеристика беспроводных систем передачи данных. Особенности проводных систем передачи данных: оптико-волоконных и волоконно-коаксиальных систем, витой пары, проводов. Оценка производителей аппаратуры.
курсовая работа [993,0 K], добавлен 04.03.2010Разработка программы автоматизации подбора запчастей для ремонта автомобилей. Структурные единицы сообщений. Концептуальная модель системы. Алгоритм работы автоматизированной системы. Физическая модель данных. Описание пользовательского интерфейса.
дипломная работа [2,1 M], добавлен 20.06.2013Создание автоматизированной системы, включающей системы видеоконтроля качества полиграфической продукции и ее учета. Разработка программной системы. Модули обработки информации и изображения. Общий алгоритм распознавания. Интерфейс системы управления.
дипломная работа [3,0 M], добавлен 22.11.2015Анализ входной информации и процессов, уровня автоматизации на предприятии. Выявление объекта и задачи автоматизации. Разработка концепции построения информационной модели информационной системы. Разработка структуры базы данных и клиентского приложения.
дипломная работа [2,0 M], добавлен 22.11.2015Разработка алгоритма и программы кодирования и декодирования данных кодом Рида-Малера. Понятие избыточных кодов, их применение. Корелляционный код. Особенности построения простых помехоустойчивых кодов Рида-Маллера. Рассмотрение частных случаев.
курсовая работа [31,9 K], добавлен 09.03.2009Выбор программного обеспечения для разработки интерфейса информационной системы. Создание базы данных для расчета заработной платы сотрудникам средне-специальных учебных заведений, создание выходной информации в виде отчетов, установочного файла.
дипломная работа [2,4 M], добавлен 11.04.2010Автоматизация проектирования на основе применения ЭВМ. Алгоритм решения задачи расчета плоскоконической передачи. Контроль корректности функционирования и пригодности программы к эксплуатации. Оптимизация конической передачи. Условия выполнения программы.
курсовая работа [796,6 K], добавлен 24.06.2013