- •Пояснительная записка
- •1 Общие сведения о булевых функциях 10
- •2 Проектирование программного средства 32
- •Введение
- •1 Общие сведения о булевых функциях
- •1.1 Частично определенные булевы функции
- •1.2 Методы формирования полинома Жегалкина
- •1.2.1 Преобразование произвольной формулы алгебры логики
- •1.2.2 Метод неопределенных коэффициентов
- •1.2.3 Метод минимизации полностью определенных логических функций с помощью карт Карно
- •1.4 Обзор программных средств решения задачи
- •1.4.1 Анализ современных языков и сред программирования
- •1.4.2 Язык программирования Java
- •1.4.3 Язык программирования c#
- •1.4.4 Сравнение сред программирования
- •2 Проектирование программного средства
- •3 Разработка программного обеспечения
- •3.1 Разработка макета программного продукта
- •3.2 Технические условия работы
- •3.3 Руководство пользователя
- •4 Организационно-экономическая часть
- •5 Безопасность и экологичность
- •5.1 Безопасность в производственной среде
- •5.2 Анализ опасных и вредных производственных факторов
- •5.3 Расчёт и проектирование средств защиты
- •5.4 Экологичность
- •5.5 Пожарная безопасность
- •Заключение
- •Список литературы
1.4 Обзор программных средств решения задачи
1.4.1 Анализ современных языков и сред программирования
В настоящее время перед программистами ставятся задачи по созданию систем обработки и хранения информации, которые ещё двадцать лет назад казались невозможными. Появляются устройства и технологии, требующие принципиально новых подходов к программированию. Развитие Интернета предоставляет новые, ещё до конца не освоенные возможности по созданию распределённых сетевых технологий.
Всё это служит благодатной почвой для создания новых языков программирования, отвечающих всем современным задачам, использующих новые принципы программирования и позволяющих решать актуальные проблемы.
Несмотря на огромное множество языков программирования, лишь немногие из них получили широкую известность и признание программистов. Для того, что бы определить самые популярные языки программирования воспользуемся данными голландской компании «TIOBE Software BV» в первую очередь известной своим регулярно рассчитываемым рейтингом популярности языков программирования. Результаты рейтинга представлены на рисунке 1.8.
Рисунок 1.8 – Популярность языков программирования за 2014 год
Все эти языки программирования, безусловно, очень разные. Каждый из них имеет своё собственное назначение, подчас уникальную среду разработки, и конечно свой синтаксис и семантику.
Сравнение языков программирования между собой, по их возможностям, по способам реализации и даже сложности освоения, задача очень сложная. Оценить удобство тех или иных семантических конструкций возможно только на реальных примерах и для каждого языка программирования можно найти задачу, для которой он подходит лучше, чем все остальные. Зачастую подобные сравнения выливаются в настоящие «войну» между сообществами программистов. Каждая из сторон защищает «свой» язык программировании и никак не принимает доводы другой стороны. Как правило, такие «войны» заканчиваются «ничьей» или не заканчиваются вовсе.
Однако, рассмотрение языков программирования по общим для них всех концепциям, позволяет судить о развитии программирования в целом. Рассмотрим наиболее востребованные из них языки.
1.4.2 Язык программирования Java
Java — язык программирования, разработанный компанией SunMicrosystems. Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине(JVM) независимо от компьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года. Сегодня технология Java предоставляет средства для превращения статических Web-страниц в интерактивные динамические документы и для создания распределенных не зависящих от платформы приложений.
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) —программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Достоинство подобного способа выполнения программ — в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программы алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java:
применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,
широкое использование платформенно - ориентированного кода (native-код) в стандартных библиотеках,
аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).
Основные возможности языка:
автоматическое управление памятью;
расширенные возможности об работки исключительных ситуаций;
богатый набор средств фильтрации ввода/вывода;
набор стандартных коллекций, таких как массив, список, стек и т.п.;
наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI);
наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы;
встроенные в язык средства создания многопоточных приложений;
унифицированный доступ к базам данных:
на уровне отдельных SQL-запросов—на основе JDBC,SQLJ;
на уровне концепции объектов, обладающих способностью к хранению в базе данных—на основе Java Data Objects и Java Persistence API;
поддержка шаблонов (начиная с версии 1.5);
параллельное выполнение программ [6].
