Разработка электронного учебного методического комплекса по изучению раздела "Симплексный метод решения задачи линейного программирования" дисциплины "Математические методы"
Особенности задач линейного программирования. Симплексный метод решения задач линейного программирования. Обоснование выбора языка, инструментария программирования, перечень идентификаторов и блок-схема алгоритма. Логическая схема работы программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.08.2011 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ПОСТАНОВКА ЗАДАЧИ
2. ОПИСАНИЕ СИМПЛЕКСНОГО МЕТОДА РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГОПРОГРАММИРОВАНИЯ
3. ОБОСНОВАНИЕ ВЫБОРА ЯЗЫКА ПРОГРАММИРВОАНИЯ
4. ПЕРЕЧЕНЬ ИДЕНТИФИКАТОРОВ
5. БЛОК-СХЕМА АЛГОРИТМА
5.1 Блок - схема модуля Symplex
5.2 Блок - схема модуля eTest
6. ЛОГИЧЕСКАЯ СХЕМА РАБОТЫ ПРОГРАММЫ
7. ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ
8. ПРОВЕРКА СЧЕТА ПО ПРОГРАММЕ
9. ТЕХНИКА БЕЗОПАСНОСТИ И НАУЧНАЯ ОРГАНИЗАЦИЯ ТРУДА
9.1 Общие требования безопасности
9.2 Требования безопасности перед началом работ
9.3 Требования безопасности во время работы
9.4 Требования безопасности в аварийных ситуациях
9.5 Требования безопасности по окончании работ
10. ЭКОНОМИЧЕСКАЯ ЧАСТЬ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ 1. ЛИСТИНГ ПРОГРАММЫ
ПРИЛОЖЕНИЕ 2. РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ
ВВЕДЕНИЕ
Сами истоки линейного программирования (методы решения, геометрическая интерпретация и т.д.) были введены в 30х годах в ленинградском университете Л. В. Конторовичем.
Толчок в развитии линейного программирования дал основатель теории игр Нейман. Все 50е гг. - годы интенсивнейшего изучения методов линейного программирования, которые лежат в основе алгоритмов решения задач целочисленного, стохастического и не линейного программирования.
В последние годы толчок в развитии этой дисциплины дало развитие вычислительной техники.
Симплекс - метод является задачей динамического программирования, то есть задачей на экстремум функции при определенных ограничениях.
Одним из подвидов математического программирования является линейное программирование. Суть линейного программирования заключается в поиске экстремума линейных функций нескольких переменных при линейных дополнительных ограничениях, налагаемых на переменные.
Наиболее распространено понимание системы как совокупность элементов, находящихся во взаимодействии и образующих некоторую целостность, единство. При изучении системы недостаточно пользоваться методом их расчленения на элементы с последующим изучением этих элементов в отдельности. Одна из трудностей экономических исследований - в том, что почти не существует экономических объектов, которые можно было бы рассматривать как отдельные элементы.
Сложность системы определяется количеством входящих в нее элементов, связями между этими элементами, а также взаимоотношениями между системой и средой.
Потенциальная возможность математического моделирования любых экономических объектов и процессов не означает, ее успешной осуществимости при данном уровне экономических и математических знаний, имеющейся конкретной информации и вычислительной техники. И хотя нельзя указать абсолютные границы математической формализуемости экономических проблем, всегда будут существовать еще неформализованные проблемы, а также ситуации, где математическое моделирование недостаточно эффективно.
Особенностью задач линейного программирования является то, что экстремума целевая функция достигает на границе области допустимых решений. Классические же методы дифференциального исчисления связаны с нахождением экстремумов функции во внутренней точке области допустимых значений. Отсюда необходимость разработки новых методов.
Этот метод позволяет переходить от одного допустимого базисного решения к другому, причем так, что значения целевой функции непрерывно возрастают. В результате оптимальное решение находят за конечное число шагов.
Недостатком Симплекс - метода является трудоемкость ручного счета. Алгоритм метода довольно прост и понятен, но нужно учитывать множество факторов и условий. Вследствие чего можно сделать вывод о целесообразности решения данной задачи средствами вычислительной техники
Таким образом, целью данного дипломного проектирования является разработка программы - электронного учебного методического комплекса, реализующего решение задач линейного программирования симплекс - методом, содержащего модуль контроля знаний.
Объктом дипломного проектирования является методика решения задачи линейного программрования, приведенного к стандартному виду.
Предметом исследования автоматизация процессов решения задачи линейного программирования, формирования отчета и организации процесса контроля знаний.
Для достижения поставленной цели были поставлены и решены следующие задачи:
· изучение метода решения задачи линейного программрования, приведенного к стандартному виду;
· определение основных функций электронного учебного методического комплекса;
· выбор инструментария программирования;
· описание алгоритмов работы программы;
· разаработка логической и реализация физической структуры приложения;
· тестирование правильности работы программы и алгоритм её использования;
· расчет эконормической эффективности создания программы.
1. ПОСТАНОВКА ЗАДАЧИ
Дана линейная функция вида при ограничениях
,
где:
- коэффициент целевой функции ;
- коэффициент при ;
- неизвестные ;
- свободные члены ;
Требуется найти решение , которое удовлетворяет ограничениям, при которых функция будет принимать максимальное или минимальное значение.
Для данного типа задачи необходимо разработать программу, позволяющую:
1. Вносить исходные данные;
2. Производить протокол расчета решения задачи;
3. Выдавать справочную информацию по теории решения задачи;
4. Вести базу данных тестовых материалов по заданной теме;
5. Вести базу данных учетных записей пользователей тестовой системы;
6. Проводить тестирование с выдачей и сохранением результатов.
2. ОПИСАНИЕ СИМПЛЕКСНОГО МЕТОДА РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГОПРОГРАММИРОВАНИЯ
Задача линейного программирования состоит в том, что необходимо максимизировать или минимизировать некоторый линейный функционал на многомерном пространстве при заданных линейных ограничениях.
Заметим, что каждое из линейных неравенств на переменные ограничивает полупространство в соответствующем линейном пространстве. В результате все неравенства ограничивают некоторый многогранник (возможно, бесконечный), называемый также полиэдральным конусом. Уравнение W(x) = c, где W(x) -- максимизируемый (или минимизируемый) линейный функционал, порождает гиперплоскость L(c). Зависимость от c порождает семейство параллельных гиперплоскостей. Тогда экстремальная задача приобретает следующую формулировку -- требуется найти такое наибольшее c, что гиперплоскость L(c) пересекает многогранник хотя бы в одной точке. Заметим, что пересечение оптимальной гиперплоскости и многогранника будет содержать хотя бы одну вершину, причём, их будет более одной, если пересечение содержит ребро или k-мерную грань. Поэтому максимум функционала можно искать в вершинах многогранника. Принцип симплекс-метода состоит в том, что выбирается одна из вершин многогранника, после чего начинается движение по его рёбрам от вершины к вершине в сторону увеличения значения функционала. Когда переход по ребру из текущей вершины в другую вершину с более высоким значением функционала невозможен, считается, что оптимальное значение c найдено.
Последовательность вычислений симплекс-методом можно разделить на две основные фазы:
1. нахождение исходной вершины множества допустимых решений,
2. последовательный переход от одной вершины к другой, ведущий к оптимизации значения целевой функции.
При этом в некоторых случаях, как в задаче исходное решение очевидно или его определение не требует сложных вычислений, например, приведенной к стандартному виду, когда все ограничения представлены неравенствами вида «меньше или равно» (тогда нулевой вектор совершенно точно является допустимым решением, хотя и, скорее всего, далеко не самым оптимальным). В таких задачах первую фазу симплекс-метода можно вообще не проводить.
Теперь приведём шаги алгоритма. На каждом шаге мы будем менять множества простых и непростых векторов (двигаться по рёбрам), и матрица будет иметь следующий вид:
где cB -- коэффициенты вектора c соответствующие простым переменным (переменным xs соответствуют 0), B -- столбцы , соответствующие простым переменным. Матрицу, образованную оставшимися столбцами обозначим D. Почему матрица будет иметь такой вид поясним в описании шагов алгоритма.
Первый шаг.
Выбираем начальное допустимое значение, как указано выше. На первом шаге B -- единичная матрица, так как простыми переменными являются xs. cB -- нулевой вектор по тем же причинам.
Второй шаг
Покажем, что в выражении только непростые переменные имеют ненулевой коэффициент. Заметим, что из выражения Ax+xs=b простые переменные однозначно выражаются через непростые, так как число простых переменных равно числу уравнений. Пусть x ' -- простые, а x ' ' -- непростые переменные на данной итерации. Уравнение Ax+xs=b можно переписать, как Bx '+Dx ' '=b. Умножим его на B ? 1 слева: x' + B ? 1Dx'' = B ? 1b. Таким образом мы выразили простые переменные через непростые, и в выражении B ? 1Ax + B ? 1xs, эквивалентному левой части равенства, все простые переменные имеют единичные коэффициенты. Поэтому, если прибавить к равенству Z ? cTx = 0 равенство , то в полученном равенстве все простые переменные будут иметь нулевой коэффициент -- все простые переменные вида x сократятся, а простые переменные вида xs не войдут в выражение .
Выберем ребро, по которому мы будем перемещаться. Поскольку мы хотим максимизировать Z, то необходимо выбрать переменную, которая будет более всех уменьшать выражение
.
Для этого выберем переменную, которая имеет наибольший по модулю отрицательный коэффициент. Если таких переменных нет, то есть все коэффициенты этого выражения неотрицательны, то мы пришли в искомую вершину и нашли оптимальное решение. В противном случае начнём увеличивать эту непростую переменную, то есть перемещаться по соответствующему ей ребру. Эту переменную назовём входящей.
Третий шаг
Теперь необходимо понять, какая простая переменная первой обратится в ноль по мере увеличения входящей переменной. Для этого достаточно рассмотреть систему:
При фиксированных значениях непростых переменных система однозначно разрешима относительно простых, поэтому мы можем определить, какая из простых переменных первой достигнет нуля при увеличении входящей. Эту переменную назовем выходящей. Это будет означать, что мы натолкнулись на новую вершину. Теперь входящую и выходящую переменную поменяем местами -- входящая «войдёт» в простую, а выходящая из них «выйдет» в непростые. Теперь перепишем матрицу B и вектор cB в соответствии с новыми наборами простых и непростых переменных, после чего вернёмся ко второму шагу. x''
Поскольку число вершин конечно, то алгоритм однажды закончится. Найденная вершина будет являться оптимальным решением.
3. ОБОСНОВАНИЕ ВЫБОРА ЯЗЫКА ПРОГРАММИРВОАНИЯ
Программа для решения задач Симплекс - методом и система тестового контроля знаний студентов написана на языке программирования С++ и отлажена в среде Borland C++ Builder 6.0.
Си++ (англ. C++) -- компилируемый статически типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования, но в сравнении с его предшественником -- языком Си, -- наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
C++ -- чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В частности:
· Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы).
· Предсказуемое выполнение программ является важным достоинством для построения систем реального времени. Весь код, неявно генерируемый компилятором для реализации языковых возможностей (например, при преобразовании переменной к другому типу), определён в стандарте. Также строго определены места программы, в которых этот код выполняется. Это даёт возможность замерять или рассчитывать время реакции программы на внешнее событие.
· Автоматический вызов деструкторов объектов при их уничтожении, причём в порядке, обратном вызову конструкторов. Это упрощает (достаточно объявить переменную) и делает более надёжным освобождение ресурсов (память, файлы, семафоры и т. п.), а также позволяет гарантированно выполнять переходы состояний программы, не обязательно связанные с освобождением ресурсов (например, запись в журнал).
· Пользовательские функции-операторы позволяют кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме.
· Язык поддерживает понятия физической (const) и логической (mutable) константности. Это делает программу надёжнее, так как позволяет компилятору, например, диагностировать ошибочные попытки изменения значения переменной. Объявление константности даёт программисту, читающему текст программы дополнительное представление о правильном использовании классов и функций, а также может являться подсказкой для оптимизации. Перегрузка функций-членов по признаку константности позволяет определять изнутри объекта цели вызова метода (константный для чтения, неконстантный для изменения). Объявление mutable позволяет сохранять логическую константность при использовании кэшей и ленивых вычислений.
· Используя шаблоны, возможно создавать обобщённые контейнеры и алгоритмы для разных типов данных, а также специализировать и вычислять на этапе компиляции.
· Возможность имитации расширения языка для поддержки парадигм, которые не поддерживаются компиляторами напрямую. Например, библиотека Boost.Bind позволяет связывать аргументы функций.
· Возможность создания встроенных предметно-ориентированных языков программирования. Такой подход использует, например библиотека Boost.Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде C++.
· Используя шаблоны и множественное наследование можно имитировать классы-примеси и комбинаторную параметризацию библиотек. Такой подход применён в библиотеке Loki, класс SmartPrt которой позволяет, управляя всего несколькими параметрами времени компиляции, сгенерировать около 300 видов «умных указателей» для управления ресурсами.
· Кроссплатформенность: стандарт языка накладывает минимальные требования на ЭВМ для запуска скомпилированных программ. Для определения реальных свойств системы выполнения в стандартной библиотеке присутствуют соответствующие возможности (например, std::numeric_limits <T>). Доступны компиляторы для большого количества платформ, на языке C++ разрабатывают программы для самых различных платформ и систем.
· Эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования -- при необходимости язык позволяет обеспечить максимальную эффективность программы.
· Имеется возможность работы на низком уровне с памятью, адресами.
· Высокая совместимость с языком Си, позволяющая использовать весь существующий Си-код (код на Си может быть с минимальными переделками скомпилирован компилятором C++; библиотеки, написанные на Си, обычно могут быть вызваны из C++ непосредственно без каких-либо дополнительных затрат, в том числе и на уровне функций обратного вызова, позволяя библиотекам, написанным на Си, вызывать код, написанный на С++).
Borland C++ Builder 6.0 -- это комплексное решение для быстрой разработки приложений Windows®, .NET, веб-приложений и приложений баз данных.
Основные возможности для разработки приложений Windows
* Интегрированная среда разработки C++Builder с функцией “перетаскивания мышью”.
* Более 250 компонентов в библиотеке VCL.
* dbExpress с поддержкой 9 основных баз данных, включая InterBase®.
* DataSnap с поддержкой JSON, REST, HTTP, COM и XML.
* Возможность отладки многопоточных приложений.
* UML/аудит кода и учет показателей.
4. ПЕРЕЧЕНЬ ИДЕНТИФИКАТОРОВ
Модуль Symplex
Главная форма Form1
Таблица 4.1
Название |
Описание |
|
Label1 |
Метка, содержащая текст «f=». |
|
Label2 |
Метка, содержащая текст «Количество коэффициентов:». |
|
Label3 |
Метка, содержащая текст «Стремится к:». |
|
CSpinEdit1 |
Поле для ввода количества коэффициентов. |
|
Button1 |
Кнопка вызова процедуры применения параметров, введенных в CSpinEdit1, для таблиц StringGrid1 и StringGrid2. |
|
Label4 |
Метка, содержащая текст «Количество ограничений». |
|
CSpinEdit2 |
Поле для ввода количества строк ограничений. |
|
StringGrid2 |
Таблица для ввода исходных данных системы ограничений. |
|
Button2 |
Кнопка вызова процедуры применения параметров, введенных в CSpinEdit1, для таблицы StringGrid2. |
|
StringGrid3 |
Таблица для ведения расчетов Симплекс - методом. |
|
Memo1 |
Многострочный текст. Используется для формирования файла отчета в *.html. |
Unit 1
Таблица 4.2
Название |
Описание |
|
i |
Переменная целочисленного типа, используется в качестве счетчика цикла. |
|
j |
Переменная целочисленного типа, используется в качестве счетчика цикла. |
|
Err |
Переменная строкового типа, используется для формирования текста информации об ошибке ввода данных. |
|
err1 |
Переменная строкового типа, используется для формирования текста информации об ошибке ввода данных. |
|
err2 |
Переменная строкового типа, используется для формирования текста информации об ошибке ввода данных. |
|
e1 |
Переменная целочисленного типа, используется для идентификации ошибок ввода данных. |
|
e2 |
Переменная целочисленного типа, используется для идентификации ошибок ввода данных. |
|
convert |
Переменная вещественного типа, используется для хранения преобразования преобразованных данных. |
|
NCC |
Переменная целочисленного типа, используется в качестве счетчика итераций процесса. |
|
OtrStr |
Переменная целочисленного типа, используется для поиска отрицательных элементов в нижней строке. |
|
MinStlb |
Переменная вещественного типа, используется для хранения значения минимального отрицательного элемента нижней строки. |
|
NomStlb |
Переменная целочисленного типа, используется для хранения номера столбца, соответствующего минимальному отрицательному элементу в нижней строке. |
|
PolStlb |
Переменная целочисленного типа, используется для поиска положительных элементов в столбце, соответствующем минимальному отрицательному значению нижней строки. |
|
k |
Переменная целочисленного типа, используемая в качестве счетчика отношений элементов столбца «План» и положительных элементов столбца, соответствующему минимальному отрицательному значению нижней строки. |
|
MinOt |
Массив структур, используемых для поиска минимального отношения элементов столбца «План» и положительных элементов столбца, соответствующему минимальному отрицательному значению нижней строки. |
|
NomStr |
Переменная целочисленного типа, используется для хранения номера выводимой строки. |
|
MinStr |
Переменная вещественного типа, используется для хранения значения минимального отношения элементов столбца «План» и положительных элементов столбца, соответствующему минимальному отрицательному значению нижней строки. |
|
Rest |
Переменная вещественного типа, используется для хранения результирующего значения при расчетах в Симплекс - таблице. |
|
RazEl |
Переменная вещественного типа, используется для хранения разрешающего элемента таблицы. |
|
TekZn |
Переменная вещественного типа, используется для хранения значения текущей ячейки таблицы при расчетах в Симплекс - таблице. |
|
RazZn |
Переменная вещественного типа, используется для хранения значения элемента из разрешающего столбца , соответствующего текущему элементу, при расчетах в Симплекс - таблице. |
|
KonZn |
Переменная вещественного типа, используется для хранения значения элемента введенной строки , соответствующего текущему элементу. |
Форма отчета Form2
Таблица 4.3
Название |
Описание |
|
CppWebBowser1 |
Компонент, служащий для преобразования файла отчета Report.html. |
|
Button1 |
Кнопка вызова процедуры печати текста отчета работы программы. |
|
Button2 |
Кнопка вызова процедуры закрытия формы отчета Form2. |
Модуль eTest
Главная форма Form1
Таблица 4.4
Название |
Описание |
|
Lebel1 |
Метка, содержащая текст «Система электронного тестирования "eTest"». |
|
Lebel2 |
Метка, содержащая текст «Для того чтобы пройти тестирования, Вам необходимо быть зарегистрированным в базе данных программы». |
|
Lebel3 |
Метка, содержащая текст «Если Вы зарегистрированы, то Вам необходимо авторизоваться и начать тестирование». |
|
Button1 |
Кнопка вызова формы регистрации Form2. |
|
Button2 |
Кнопка вызова формы авторизации Form5. |
|
Button3 |
Кнопка вызова формы тестирования Form9. |
Unit1
Таблица 4.5
Название |
Описание |
|
ID |
Переменная целочисленного типа, используется для хранения ID - номера авторизованного пользователя. |
|
Login |
Переменная строкового типа, используется для хранения логина авторизованного пользователя. |
|
sName |
Переменная строкового типа, используется для хранения имени авторизованного пользователя. |
|
SurName |
Переменная строкового типа, используется для хранения фамилии авторизованного пользователя. |
|
Group |
Переменная строкового типа, используется для хранения номера группы авторизованного пользователя. |
|
Status |
Переменная строкового типа, используется для хранения статуса авторизованного пользователя. |
|
DateOfRegist |
Переменная строкового типа, используется для хранения даты регистрации авторизованного пользователя. |
|
TimeOfRegist |
Переменная строкового типа, используется для хранения времени регистрации авторизованного пользователя |
|
Lock |
Переменная строкового типа, используется для хранения информации о блокировке аккаунта зарегистрированного пользователя |
|
AVTORIZ |
Переменная строкового типа, используется для хранения информации об активности текущей учетной записи авторизованного пользователя |
Форма регистрации Form2
Таблица 4.6
Название |
Описание |
|
Label1 |
Метка, содержащая текст «Логин:». |
|
Label2 |
Метка, содержащая текст «Пароль:». |
|
Label3 |
Метка, содержащая текст «Подтверждение пароля:». |
|
Label4 |
Метка, содержащая текст «Имя:». |
|
Label5 |
Метка, содержащая текст «Фамилия:». |
|
Label6 |
Метка, содержащая текст «Группа:». |
|
Edit1 |
Поле для ввода логина. |
|
Edit2 |
Поле для ввода пароля. |
|
Edit3 |
Поле для повторного ввода пароля. |
|
Edit4 |
Поле для ввода имени. |
|
Edit5 |
Поле для ввода фамилии. |
|
Edit6 |
Поле для ввода Группы. |
|
Button1 |
Кнопка вызова процедуры регистрации в базе |
|
Button2 |
Кнопка отмены процедуры регистрации |
|
Button3 |
Кнопка вызова процедуры очистки полей формы |
Unit2
Таблица 4.7
Название |
Описание |
|
DATE |
Переменная типа Дата/время, используется для хранения текущих даты и времени. |
|
MaxIDU |
Переменная целочисленного типа, используется для хранения максимального ID - номера пользователя базы данных. |
Форма панели управления Form4
Таблица 4.8
Название |
Описание |
|
DBGrid1 |
Таблица, используемая для вывода результатов запросов к базе данных. |
|
RadioButton1 |
Переключатель, используемый для вывода информации о результатах тестирования в таблицу DBGrid1.. |
|
RadioButton2 |
Переключатель, используемый для вывода вопросов и ответов в таблицу DBGrid1. |
|
RadioButton3 |
Переключатель, используемый для вывода вопросов тестирования в таблицу DBGrid1. |
|
RadioButton4 |
Переключатель, используемый для вывода списка пользователей в таблицу DBGrid1. |
|
MaskEdit1 |
Поле для ввода даты. |
|
MaskEdit2 |
Поле для ввода даты. |
|
MaskEdit3 |
Поле для ввода даты. |
|
Button2 |
Кнопка вызова процедуры формирования отчета за определенную дату. |
|
Button3 |
Кнопка вызова процедуры формирования отчета за определенный период. |
|
Label1 |
Метка, содержащая текст «С». |
|
Label2 |
Метка, содержащая текст «По». |
|
Memo1 |
Многострочный текст, используется для формирования файла отчета. |
|
Button1 |
Кнопка вызова формы конструктора вопросов Form7. |
|
Button4 |
Кнопка вызова формы регистрации Form2. |
|
Button5 |
Кнопка вызова формы авторизации Form5. |
|
Button6 |
Кнопка вызова формы информации о текущей сессии Form6. |
|
Button7 |
Кнопка вызова формы тестирования Form9. |
Unit4
Таблица 4.9
Название |
Описание |
|
i |
Переменная целочисленного типа, используется в качестве счетчика цикла. |
|
D |
Переменная строкового типа, используется для хранения введенной даты. |
|
D1 |
Переменная строкового типа, используется для хранения введенной даты. |
|
D2 |
Переменная строкового типа, используется для хранения введенной даты. |
Форма авторизации Form5
Таблица 4.10
Название |
Описание |
|
Label1 |
Метка, содержащая текст «Логин:». |
|
Label2 |
Метка, содержащая текст «Пароль:». |
|
Edit1 |
Поле для ввода логина. |
|
Edit2 |
Поле для ввода пароля. |
|
Button1 |
Кнопка вызова процедуры входа в систему и авторизации. |
|
Button2 |
Кнопка отмены авторизации. |
Unit5
Таблица 4.11
Название |
Описание |
|
ID |
Переменная целочисленного типа, используется для хранения ID - номера авторизованного пользователя. |
|
Login |
Переменная строкового типа, используется для хранения логина авторизованного пользователя. |
|
sName |
Переменная строкового типа, используется для хранения имени авторизованного пользователя. |
|
SurName |
Переменная строкового типа, используется для хранения фамилии авторизованного пользователя. |
|
Group |
Переменная строкового типа, используется для хранения номера группы авторизованного пользователя. |
|
Status |
Переменная строкового типа, используется для хранения статуса авторизованного пользователя. |
|
DateOfRegist |
Переменная строкового типа, используется для хранения даты регистрации авторизованного пользователя. |
|
TimeOfRegist |
Переменная строкового типа, используется для хранения времени регистрации авторизованного пользователя |
|
Lock |
Переменная строкового типа, используется для хранения информации о блокировке аккаунта зарегистрированного пользователя |
|
AVTORIZ |
Переменная строкового типа, используется для хранения информации об активности текущей учетной записи авторизованного пользователя |
Форма информации о текущей сессии Form6
Таблица 4.12
Название |
Описание |
|
Label1 |
Метка с текстом «ID:». |
|
Label2 |
Метка с текстом «Имя:». |
|
Label3 |
Метка с текстом «Фамилия:». |
|
Label4 |
Метка с текстом «Группа:». |
|
Label5 |
Метка с текстом «Статус:». |
|
Label6 |
Метка с текстом «Дата регистрации:». |
|
Label7 |
Метка с текстом «Время регистрации:». |
|
Label8 |
Метка с текстом «Блокировка:». |
|
Label9 |
Метка с текстом «Активность». |
|
Label10 |
Метка для вывода ID - номера авторизованного пользователя. |
|
Label11 |
Метка для вывода имени авторизованного пользователя. |
|
Label12 |
Метка для вывода фамилии авторизованного пользователя. |
|
Label13 |
Метка для вывода группы авторизованного пользователя. |
|
Label14 |
Метка для вывода статус авторизованного пользователя. |
|
Label15 |
Метка для вывода даты регистрации авторизованного пользователя. |
|
Label16 |
Метка для вывода времени регистрации авторизованного пользователя. |
|
Label17 |
Метка для вывода информации о блокировке авторизованного пользователя. |
|
Label18 |
Метка для вывода информации об активности авторизованного пользователя. |
Форма конструктора вопросов на выборку Form7
Таблица 4.13
Название |
Описание |
|
RadioButton1 |
Переключатель типа вопроса. Установлен на вопрос - выборку. |
|
RadioButton2 |
Переключатель Типа вопроса. Переключает на вопрос, который требует письменного ответа. |
|
L1able1 |
Метка с текстом «Текст вопроса:». |
|
L1able2 |
Метка с текстом «Варианты ответа:». |
|
L3able3 |
Метка с текстом «Количество вариантов:». |
|
Memo1 |
Многострочный текст, используется для ввода текста вопроса. |
|
CSpinEdit1 |
Поле для ввода количества вариантов ответа. |
|
Button1 |
Кнопка вызова процедуры формирования компонентов на форме. |
|
Button2 |
Кнопка вызова процедуры изменения вариантов ответа. |
|
Button3 |
Кнопка вызова процедуры сохранения вопроса и ответов к нему в базе. |
Unit7
Таблица 4.14
Название |
Описание |
|
*Label |
Массив типа TLabel, используется для формирования меток на форме. |
|
*Edit |
Массив типа TEdit, используется для формирования полей ввода на форме. |
|
*RadioButton |
Массив типа TRadioButton, используется для формирования переключателей на форме. |
|
i |
Переменная целочисленного типа, используется в качестве счетчика по циклу. |
|
Error |
Переменная строкового типа, используется для хранения текста ошибки. |
|
err |
Переменная целочисленного типа, используется для обнаружения ошибок при заполнении полей. |
|
RBS |
Переменная целочисленного типа, используется для обнаружения ошибок при выборе верного ответа. |
|
bul |
Переменная строкового типа, используется для хранения текста для хэширвоания. |
|
MaxIDQ |
Переменная целочисленного типа, используется для хранения количества вопросов в базе. |
|
MaxIDA |
Переменная целочисленного типа, используется для хранения количества ответов в базе. |
Форма конструктора вопросов, требующих письменного ответа Form8
Таблица 4.15
Название |
Описание |
|
RadioButton1 |
Переключатель типа вопроса. Установлен на вопрос, требующий ответ. |
|
RadioButton2 |
Переключатель типа вопроса. Переключает на вопрос - выборку. |
|
Edit1 |
Поле, для вывода адреса загружаемого на изображения. |
|
Button1 |
Кнопка вызова процедуры загрузки изображения. |
|
Button2 |
Кнопка вызова процедуры сохранения вопроса и ответа в базу |
|
Label1 |
Метка с текстом «Изображение:». |
|
Label2 |
Метка с текстом «Текс вопроса:». |
|
Label3 |
Метка с текстом «Ответ:». |
|
Edit2 |
Поле для ввода ответа. |
|
Memo1 |
Многострочный текст, используется для ввода текста вопроса. |
|
Image1 |
Компонент, используемый для вывода изображения. |
Unit8
Таблица 4.16
Название |
Описание |
|
DBFName |
Переменная строкового типа, используется для хранения имени графического файла. |
|
FName |
Переменная строкового типа, используется для хранения имени графического файла. |
|
Dir |
Переменная строкового типа, используется для хранения адреса текущей директории. |
|
NewName |
Переменная строкового типа, используется для хранения имени графического файла. |
|
Error |
Переменная строкового типа, используется для хранения текста ошибки. |
|
err |
Переменная целочисленного типа, используется для обнаружения ошибок при заполнении полей. |
|
MaxIDQ |
Переменная целочисленного типа, используется для хранения количества вопросов в базе. |
|
MaxIDA |
Переменная целочисленного типа, используется для хранения количества ответов в базе. |
Форма тестирования Form9
Таблица 4.17
Название |
Описание |
|
Label1 |
Метка с текстом «Текст вопроса:». |
|
Label2 |
Метка с текстом «Варианты ответа:». |
|
Label3 |
Метка с текстом «ID». |
|
Label4 |
Метка с текстом «Логин:». |
|
Label5 |
Метка с текстом «Имя:». |
|
Label6 |
Метка с текстом «Фамилия:». |
|
Label7 |
Метка с текстом «Группа:». |
|
Label8 |
Метка с текстом «Статус:». |
|
Label9 |
Метка с текстом «Активность:». |
|
Label10 |
Метка для вывода ID - номера авторизованного пользователя. |
|
Label11 |
Метка для вывода логина авторизованного пользователя. |
|
Label12 |
Метка для вывода имени авторизованного пользователя. |
|
Label13 |
Метка для вывода фамилии авторизованного пользователя. |
|
Label14 |
Метка для вывода группы авторизованного пользователя. |
|
Label15 |
Метка для вывода статус авторизованного пользователя. |
|
Label16 |
Метка для вывода информации об активности авторизованного пользователя. |
|
Label17 |
Метка с текстом «Изображение:». |
|
Label18 |
Метка с текстом «Текущий вопрос:». |
|
Label19 |
Метка с текстом «Всего вопросов:». |
|
Label20 |
Метка для вывода номера текущего вопроса. |
|
Label21 |
Метка для вывода количества вопросов текущего тестирования. |
|
Label23 |
Метка с текстом «Ответ:». |
|
Memo1 |
Многострочный текст, используется для вывода текста вопроса. |
|
Memo2 |
Многострочный текст, используется для формирования файла отчета о тестировании. |
|
Edit1 |
Поле для ввода ответа. |
|
Button1 |
Кнопка вызова процедуры начала тестирования |
|
Button2 |
Кнопка вызова процедуры переключения вопросов тестирования |
|
Button3 |
Кнопка вызова процедуры завершения тестирования |
Unit9
Таблица 4.18
Название |
Описание |
|
ID |
Переменная целочисленного типа, используется для хранения ID - номера авторизованного пользователя. |
|
Login |
Переменная строкового типа, используется для хранения логина авторизованного пользователя. |
|
sName |
Переменная строкового типа, используется для хранения имени авторизованного пользователя. |
|
SurName |
Переменная строкового типа, используется для хранения фамилии авторизованного пользователя. |
|
Group |
Переменная строкового типа, используется для хранения номера группы авторизованного пользователя. |
|
Status |
Переменная строкового типа, используется для хранения статуса авторизованного пользователя. |
|
DateOfRegist |
Переменная строкового типа, используется для хранения даты регистрации авторизованного пользователя. |
|
TimeOfRegist |
Переменная строкового типа, используется для хранения времени регистрации авторизованного пользователя |
|
Lock |
Переменная строкового типа, используется для хранения информации о блокировке аккаунта зарегистрированного пользователя |
|
AVTORIZ |
Переменная строкового типа, используется для хранения информации об активности текущей учетной записи авторизованного пользователя |
|
NowIDQ |
Переменная целочисленного типа, используется для хранения номера текущего вопроса. |
|
NowIDA |
Переменная целочисленного типа, используется для хранения номера текущего ответа. |
|
MaxIDQ |
Переменная целочисленного типа, используется для хранения количества вопросов. |
|
MaxIDA |
Переменная целочисленного типа, используется для хранения количества ответов. |
|
Ans |
Переменная целочисленного типа, используется для хранения количества данных ответов. |
|
TrAns |
Переменная целочисленного типа, используется для хранения количества правильных ответов. |
|
CControl |
Переменная целочисленного типа, используется для определения типа предыдущего вопроса. |
|
i |
Переменная целочисленного типа, используется в качестве счетчика цикла. |
|
Type |
Переменная строкового типа используется для определения типа текущего вопроса. |
|
NCheckAns |
Переменная целочисленного типа, используется для хранения номера выбранного варианта ответа. |
|
Error |
Переменная строкового типа, используется для хранения текста ошибки. |
|
err |
Переменная целочисленного типа, используется для обнаружения ошибок при заполнении полей. |
|
T |
Переменная текстового типа, используется для хранения текста для хэшиварования правильного ответа |
|
F |
Переменная текстового типа, используется для хранения текста для хэшиварования неправильного ответа |
|
Dir |
Переменная строкового типа, используется для хранения адреса текущей директории. |
|
ND |
Переменная типа Дата/Время, используется для хранения даты и времени. |
|
MaxIDT |
Переменная целочисленного типа, используется для хранения номера последней записи в таблице TestResults базы данных. |
5. БЛОК-СХЕМА АЛГОРИТМА
5.1 Блок - схема модуля Symplex
5.2 Блок - схема модуля eTest
Блок- схема модуля регистрации
Блок - схема модуля авторизации
Блок - схема модуля конструктора вопросов 1
Блок - схема модуля конструктора вопросов 2
Блок - схема модуля тестирования
6. ЛОГИЧЕСКАЯ СХЕМА РАБОТЫ ПРОГРАММЫ
7. ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ
Программа состоит из двух независимых модулей: модуля решения Symplex и модуля системы тестового контроля eTest.
После запуска модуля Symplex, перед пользователем открывается главное окно программы, в котором содержатся элементы управления (Рис. 6.1).
Рис. 6.1. Головная форма программы Symplex
Пользователь должен выставить количество коэффициентов, затем нажать кнопку «Применить». Таблицы для ввода исходных данные преобразуются и примут вид, соответствующий заданному параметру. Необходимо заполнить таблицу, коэффициентами целевой функции. Затем нужно выбрать, к чему стремится функция.
Далее необходимо выставить число ограничений и нажать кнопку «Применить». Таблица для ввода системы ограничений преобразуется и примет вид, соответствующий заданному параметру.
Далее необходимо заполнить таблицу системы ограничений и нажать кнопку «Решить». Кнопка «Очистить» служит для очистки элементов и подготовки полей для заполнения.
В случае если введены не все исходные данные, то программа выдаст сообщение об этом (Рис. 6.2).
Рис. 6.2. Сообщение об ошибке ввода данных
Если же все данные введены верно, то программа выдаст сообщение о том, что найден оптимальный план, либо сообщение о том, что задача не имеет решения (Рис. 6.3).
Рис. 6.3. Сообщения о результате работы программы
После этого кнопка «Сформировать отчет на форме становится активна». При ее нажатии появляется форма с отчетом (Рис. 6.4).
Рис. 6.4. Форма вывода отчета
Отчет на данной форме можно распечатать при нажатии на кнопку «Печать». При нажатии на кнопку «Закрыть» форма закроется.
Модуль eTest может быть запущен независимо от модуля Symplex, а может быть вызван из модуля Symplex через меню Опции / Пройти тестирование (Рис. 6.5).
Рис. 6.5 Запуск модуля eTest
После запуска модуля eTest, пользователь увидит главное окно программы (Рис. 6.6).
Рис. 6.6. Головная форма программы eTest
Система тестового контроля работает на основе базы данных UsDB. Она сформирована при помощи программы Microsoft Access и содержит 4 таблицы:
· Таблица учетных записей пользователей;
· Таблица результатов тестирования пользователей;
· Таблица вопросов тестирования;
· Таблица ответов на вопросы.
Чтобы пройти тестирование, пользователь должен быть зарегистрирован в базе данных. Для регистрации нужно нажать соответствующую кнопку на главной форме. В этом случае откроется окно регистрации, где необходимо заполнить все поля (Рис. 6.7).
Рис. 6.7. Форма регистрации
Логин и пароль являются идентификаторами для входа. Каждый логин в базе должен быть уникальным.
После заполнения всех полей, необходимо нажать на кнопку «Зарегистрироваться». Программа проверит все ли данные введены, совпадают ли введенные пароли и не зарегистрирован ли пользователь с таким логином ранее. С случае обнаружения этих ситуаций, программа выдаст соответствующие сообщения (Рис. 6.8).
Рис. 6.8. Возможные сообщения об ошибках при регистрации
В случае успешной авторизации, программа выдаст сообщение следующего вида. (Рис. 6.9)
Рис. 6.9. Сообщение об успешной регистрации
Программа прописывает в базу данных новую запись.
После регистрации пользователю нужно авторизоваться. Нужно вызвать форму авторизации и ввести в нее логин и пароль, указанные при регистрации (Рис.6.10).
Рис. 6.10. Форма авторизации
При успешной авторизации, программа выдаст сообщение следующего вида. (Рис. 6.11)
Рис. 6.11. Сообщение об успешной авторизации
Каждому пользователю при регистрации присваивается статус «Student». Этот статус предоставляет право только проходить тестирование.
Если пользователю присвоен статус Admin, то у него есть право доступа к системе управления базой данных.
После регистрации пользователь может пройти тестирование, нажав на соответствующую кнопку. Перед ни откроется форма, на которой производится тестирование. При нажатии кнопки «Начать» начинает процесс тестирования: на форму загружаются вопросы и варианты ответов. Необходимо выбрать какой-то вариант ответа и нажать кнопку «Продолжить», загрузится другой вопрос. Вопросы в системе могут быть двух типов: вопросы, основанные на выборе ответа и вопросы, основанные на вводе ответа (Рис. 6.12, 6.13).
Рис. 6.12. Форма тестирования, вопрос второго типа
Рис. 6.13. Форма тестирования, вопрос первого типа
Если пользователю присвоен статус «Admin», то он имеет доступ к панели управления. Для перехода к ней, он должен быть авторизован и должен перейти по пунктам главного меню Управление / Панель управления (Рис. 6.14).
Рис. 6.14. Форма панели управления
В данной форме можно производить управление всеми таблицами базы данных, можно выводить и формировать отчеты за даты и периоды времени.
Так же из этой формы есть кнопки вызова всех остальных основных форм. Это удобно, среди которых есть кнопка конструктора вопросов.
Конструктор вопросов позволяет вводить вопросы двух видов, для переключения между режимами ввода используются переключатели в области объединения «Тип вопроса». По умолчанию представлена форма ввода вопросов с выбором вариантов ответа. Форма ввода вопросов, подразумевающих ввод ответа выглядит следующим образом:
Для ввода вопросов с выбором ответа нужно ввести текст вопроса, выставить количество вариантов ответа, заполнить поля и выбрать верный ответ. После чего нажать кнопку «Сохранить вопрос в базу» (Рис. 6.15).
Рис. 6.15. Форма конструктора вопросов первого типа
Для ввода вопросов с вводом ответа необходимо загрузить сопроводительное изображение, если оно необходимо, ввести текст вопроса и ввести правильный ответ, после чего нажать кнопку «Сохранить вопрос в базу» (Рис. 6.16).
Рис. 6.16. Форма конструктора вопросов второго типа
По завершению тестирования, пользователю будет выдано сообщение о результате (Рис. 6.17)
Рис. 6.17 Сообщение результата тестирования
Создастся файл отчета, а результат запишется в базу.
8. ПРОВЕРКА СЧЕТА ПО ПРОГРАММЕ
Используя симплексный метод, решим следующую задачу:
Дана функция
При ограничениях
.
Задача представлена в общем виде. Для ее решения условие необходимо преобразовать в вид ОЗЛП путем введения новых переменных. В этом случае, условие задачи примет вид:
.
По данному условию составим Симплекс - таблицу. В столбец «План» заносятся свободные члены из системы ограничений. Ячейки столбцов X1 - X5 заполняются в соответствии с коэффициентами уравнений системы ограничений.
Нижняя строка заполняется по следующему алгоритму:
· Поскольку задача решается обычным симплекс -методом, то в ячейке соответствующей столбцу «План» записывается 0;
· Ячейки, соответствующие столбцам X1- X5, заполняются в соответствие с целевой функцией, но с противоположным знаком.
Базис |
План |
X1 |
X2 |
X3 |
X4 |
X5 |
|
X3 |
12 |
1 |
2 |
1 |
0 |
0 |
|
X4 |
24 |
1 |
6 |
0 |
1 |
0 |
|
X5 |
30 |
1 |
1 |
0 |
0 |
1 |
|
F' |
0 |
-1 |
-3 |
0 |
0 |
0 |
Найден начальный опорный план:
F0=0;
X3=12; X4=24; X5=30.
После заполнения ячеек исходной Симплекс - таблицы начинается процесс вычисления.
Необходимо найти максимальный по модулю отрицательный элемент. Если таковых нет, то считается, что задача приведена к оптимальному плану. В нашем случае таким элементом является элемент -3, находящийся в нижней строке столбца X2. Переменная, соответствующая этому столбцу будет вводимой. Затем происходит поиск выводимой переменной. Для этого нужно найти минимальное отношение элементов столбца «План» и соответствующих им положительных элементов столбца, соответствующего вводимой переменной. Если в столбце нет положительных элементов, то задача не имеет решения. Та строка, на которой находится наименьшее отношение, является выводимой, а элемент на пересечении выводимого вводимого столбца и выводимой строки называется направляющий. В данном случае из базиса выводиться будет переменная X4, а вводиться - X2.
Для вывода и ввода переменных используется следующий алгоритм:
Все элементы выводимой строки делятся на направляющий элемент, затем от каждого остального элемента отнимается соответствующее значение направляющего столбца, умноженное на соответствующий элемент новой введенной строки.
В результате этих операций, получим следующую Симплекс - таблицу:
Базис |
План |
X1 |
X2 |
X3 |
X4 |
X5 |
|
X3 |
4 |
0,66 |
0 |
1 |
-0,34 |
0 |
|
X2 |
4 |
0,17 |
1 |
0 |
0,17 |
0 |
|
X5 |
26 |
0,83 |
0 |
0 |
-0,17 |
1 |
|
F' |
12 |
-0,49 |
0 |
0 |
0,51 |
0 |
Найден новый опорный план:
F1=12;
X3=4; X2=4; X5=26.
Опорный план можно улучшить, так как в нижней строке присутствуют отрицательные элементы. Алгоритм, описанный выше снова повторяется, в результате чего получаем новую Симплекс - таблицу.
Базис |
План |
X1 |
X2 |
X3 |
X4 |
X5 |
|
X1 |
6,06 |
1 |
0 |
1,52 |
-0,52 |
0 |
|
X2 |
2,97 |
0 |
1 |
-0,26 |
0,26 |
0 |
|
X5 |
20,97 |
0 |
0 |
-1,26 |
0,26 |
1 |
|
F' |
14,97 |
0 |
0 |
0,74 |
0,26 |
0 |
Найден новый опорный план:
F2=14,97;
X1=6,06; X2=2,97; X5=20,97.
Данный опорный план является оптимальным, так как в нижней строке нет отрицательных элементов.
Решим эту же задачу в программе. Результат работы программы представлен на рисунке.
Сравнивая результат работы программы, представленный в приложении 2 и результат ручного счета можно сделать вывод, что программа работает правильно, так как результаты, как промежуточные, так и итоговые совпадают.
9. ТЕХНИКА БЕЗОПАСНОСТИ И НАУЧНАЯ ОРГАНИЗАЦИЯ ТРУДА
Инструктажи по требованиям безопасности в зависимости от характера, цели, места и времени проведения подразделяют на:
· вводный;
· первичный;
· повторный;
· внеплановый;
· целевой;
Вводный инструктаж по требованиям безопасности проводит инженер по технике безопасности предприятия с каждым работником -- после поступления на предприятие; со слушателями, прибывшими на стажировку (практику) -- перед ее началом. О проведении вводного инструктажа по требованиям безопасности делается запись в Журнале учета проведения инструктажа с обязательной подписью инструктируемого и инструктирующего. Проведение целевых инструктажей по сопровождению грузов фиксируется в Журнале учета инструктажей с обязательной росписью инструктируемого и инструктирующего в соответствующем журнале.
Первичный инструктаж по требованиям безопасности проводится индивидуально с каждым, вновь поступившим на работу, с практическим показом безопасных приемов и способов выполнения должностных обязанностей. Проведение первичного инструктажа по требованиям безопасности возможно как с отдельным работником, так и с группами вновь поступивших работников, если им предстоит выполнять одинаковые задачи. О проведении первичного инструктажа по требованиям безопасности на месте исполнения должностных обязанностей делается запись в Журнале учета инструктажа по требованиям безопасности с обязательной подписью инструктируемого и инструктирующего.
Повторный инструктаж по требованиям безопасности проводится по программе первичного инструктажа по требованиям безопасности на рабочем месте со всеми категориями рабочих. Повторный инструктаж по требованиям безопасности проводится индивидуально или с группой специалистов, обслуживающих однотипную технику по программе первичного инструктажа по требованиям безопасности на месте исполнения обязанностей в полном объеме перед началом периода обучения. Целью повторного инструктажа является повышение уровня знаний по вопросам обеспечения безопасности. С лицами, которые по каким-либо причинам отсутствовали при проведении повторного инструктажа, он проводится в день выхода на работу перед началом выполнения обязанностей.
Внеплановый инструктаж по требованиям безопасности проводится при введении новых инструкций по требованиям безопасности, замене оборудования, изменении технологии выполнения операций; при поступлении обзоров о происшествиях, выявлении нарушений требований безопасности, которые могут привести (привели) к травмам, авариям, пожарам, отравлениям и пр.; по указанию начальников; при перерывах в выполнении работниками должностных обязанностей свыше двух месяцев. Внеплановые инструктажи по требованиям безопасности могут проводиться и в других случаях по указаниям начальников. Внеплановый инструктаж по требованиям безопасности проводится индивидуально или с группой работников одной специальности. Объем и содержание этого инструктажа определяются в каждом конкретном случае в зависимости от причин и обстоятельств, вызвавших необходимость его проведения.
Целевой инструктаж по требованиям безопасности проводится: перед выполнением работ на опасных объектах или разовых (непостоянных) работ с повышенной опасностью, не связанных с должностными обязанностями; в начале купального сезона - о правилах купания; при привлечении работников к ликвидации чрезвычайных ситуаций природного или техногенного характера, со старшими машин перед перевозкой людей или взрывоопасных грузов: по указанию начальников. Все инструктажи на месте исполнения обязанностей должны завершаться проверкой знаний (методом устного опроса или с помощью технических средств обучения), а также проверкой приобретенных навыков безопасных способов выполнения задачи. Знания проверяет должностное лицо, проводившее инструктаж.
Работники, показавшие неудовлетворительные знания и навыки, к самостоятельной работе или практическим занятиям не допускаются и обязаны вновь пройти инструктаж.
Проведение первичного, повторного и внепланового инструктажей по требованиям безопасности, целевого инструктажа о правилах купания перед началом купального сезона, при перевозке людей и взрывоопасных грузов (со старшими машин) фиксируется в Журнале учета инструктажа по требованиям безопасности. При регистрации внепланового инструктажа по требованиям безопасности указывается причина его проведения.
Отметка о проведении целевого инструктажа по требованиям безопасности с работниками, привлекаемыми к производству разовых (непостоянных) работ с повышенной опасностью, с росписями инструктирующего и инструктируемых делается в Журнале-допуске на производство данных работ.
9.1 Общие требования безопасности
К работе на ПЭВМ допускаются лица, изучившие «Инструкцию оператора по работе на ПЭВМ», имеющие квалификационную группу по электробезопасности и допущенные к самостоятельной работе приказом по предприятию.
Работник обязан проходить периодический инструктаж не реже одного раза в 3 месяца с оформлением в Журнале учета проведения инструктажей по правилам и мерам безопасности» и ежегодно проверку знаний в квалификационной комиссии на квалификационную группу по технике электробезопасности.
Работник должен помнить об опасности поражения электрическим током (на ПЭВМ имеются точки с высоким потенциалом и 220В -- ОПАСНО ДЛЯ ЖИЗНИ).
Работник должен быть ознакомлен с правилами оказания первой (до врачебной) помощи пострадавшим от электрического тока, уметь пользоваться средствами тушения пожара.
О случаях травмирования работников и неисправностях аппаратуры немедленно докладывать начальнику отдела.
Лица, допустившие нарушения требований инструкции, обязаны пройти внеочередной инструктаж по технике безопасности, в зависимости от степени и характера нарушений они могут быть привлечены к дисциплинарной (административной) или уголовной ответственности.
9.2 Требования безопасности перед началом работ
1. Для проведения работ на ПЭВМ получить разрешение у ответственного за ПЭВМ.
2. Перед началом работы произвести внешний осмотр ПЭВМ, ее составных частей. Убедиться:
- в наличии и исправности защитного заземления в сетевой розетке;
- в закрытом положении крышек, кожухов, панелей;
- в отсутствии повреждений кабелей, их изоляции, целостности разъёмов (радиусы изгибов должны быть не менее 3-5 их диаметров);
- в обеспечении свободного доступа воздуха к ПЭВМ (не менее 200мм между составными частями и внешними предметами);
- в том, что органы управления составных частей ПЭВМ и периферии находятся в исходном положении.
9.3 Требования безопасности во время работы
1. Включение ПЭВМ и работа на ней должны производиться в строгом соответствии с «Инструкцией оператору по работе на ПЭВМ».
2. Запрещается:
- снимать крышки, кожухи, панели, заменять предохранители;
- производить какие-либо ремонтные работы;
- допускать посторонних лиц к работе на ПЭВМ.
- оставлять включенную ПЭВМ или ее составные части без присмотра.
9.4 Требования безопасности в аварийных ситуациях
1. В случае возникновения аварийной ситуации (поражение работника электрическим током, угрозе жизни или здоровью людей, возникновению пожара, появление дыма, огня, посторонних шумов) немедленно отключить ПЭВМ от сети.
2. При поражении электрическим током освободить пострадавшего от токоведущих частей, оказать ему первую помощь, вызвать врача и доложить о случившемся начальнику отдела.
Подобные документы
Анализ решения задачи линейного программирования. Симплексный метод с использованием симплекс-таблиц. Моделирование и решение задач ЛП на ЭВМ. Экономическая интерпретация оптимального решения задачи. Математическая формулировка транспортной задачи.
контрольная работа [196,1 K], добавлен 15.01.2009Анализ метода линейного программирования для решения оптимизационных управленческих задач. Графический метод решения задачи линейного программирования. Проверка оптимального решения в среде MS Excel с использованием программной надстройки "Поиск решения".
курсовая работа [2,2 M], добавлен 29.05.2015Теоретическая основа линейного программирования. Задачи линейного программирования, методы решения. Анализ оптимального решения. Решение одноиндексной задачи линейного программирования. Постановка задачи и ввод данных. Построение модели и этапы решения.
курсовая работа [132,0 K], добавлен 09.12.2008Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.
курсовая работа [1,1 M], добавлен 21.03.2012Применение методов линейного программирования для решения оптимизационных задач. Основные понятия линейного программирования, свойства транспортной задачи и теоремы, применяемые для ее решения. Построение первичного опорного плана и системы потенциалов.
курсовая работа [280,8 K], добавлен 17.11.2011Постановка задачи линейного программирования и формы ее записи. Понятие и методика нахождения оптимального решения. Порядок приведения задач к каноническому виду. Механизмы решения задач линейного программирования аналитическим и графическим способами.
методичка [366,8 K], добавлен 16.01.2010Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.
курсовая работа [581,5 K], добавлен 13.10.2008Расчет производства необходимого количества продукции для получения максимальной прибыли предприятия. Математическая модель для решения задач линейного программирования. Построение ограничений и целевых функций. Исследование чувствительности модели.
задача [74,7 K], добавлен 21.08.2010Сущность линейного программирования. Математическая формулировка задачи ЛП и алгоритм ее решения с помощью симплекс-метода. Разработка программы для планирования производства с целью обеспечения максимальной прибыли: блок-схема, листинг, результаты.
курсовая работа [88,9 K], добавлен 11.02.2011Особенности метода ветвей и границ как одного из распространенных методов решения целочисленных задач. Декомпозиция задачи линейного программирования в алгоритме метода ветвей и границ. Графический, симплекс-метод решения задач линейного программирования.
курсовая работа [4,0 M], добавлен 05.03.2012