Розробка алгоритму та його програмна реалізація для комп’ютеризованої системи оптимального розподілу квазістохастичного ресурсу
Створення алгоритму програмної моделі розкладу в учбовому закладі для ефективного вирішення завдань автоматичного складання розкладу, шляхом підбору найбільш оптимальних варіантів. Шляхи реалізації розробленого алгоритму в середовищі Mathemetica 5.0.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 25.10.2012 |
Размер файла | 5,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Position [list, expr] - повертає значення позиції вираження expr у списку list.
Наступний оператор тіла циклу - це заміна елемента вільного ресурсу на об'єднання елементів ресурсу й обраного попиту. Для цього використовується функція ReplacePart. Загальний вид функції:
ReplacePart [list, expr, pos] - повертає список елементів list, у якому вираження expr заміняє елемент, що знаходиться в позиції pos.
Загальному масиву ресурсу (resurs) привласнимо масив, у якому за допомогою функції ReplacePart заміняємо елементи, що знаходяться в позиції f об'єднанням обраного елемента попиту з ресурсом. Об'єднання здійснюємо за допомогою функції Join.
Останнім оператором тіла циклу є присвоєння змінної beg, значення при якому здійснюється вихід із циклу, у якому перебираються дні тижня. Таким чином, реалізується перехід до наступного елемента попиту і його подальший розподіл по ресурсу.
Якщо ж умова If, у якому порівнюється кількість пар обраної дисципліни з довжиною кластера, що сформувався (Kl), не виконується, тоді для цієї ж дисципліни формується новий кластер для наступного дня тижня.
Таким чином, при виконанні функції Rasp здійснюється розподіл дисциплін по ресурсу. При цьому здійснюється перетворення початкового виду масиву ресурсу, у якому на деяких позиціях встановлені об'єднання елементів попиту й ресурсу.
Якщо необхідно розподілити попит по ресурсу, починаючи з понеділка, тоді функція Rasp запишеться в такий спосіб:
Сформуємо масив, що складається з розподілених елементів попиту по ресурсу. Масиву привласнимо ім'я gotovo. За допомогою функції Cases здійснимо вибірку з перетвореного масиву resurs елементів за зразком {{_, _, _, _, _},{_, _, _, _}}.
При необхідності можна здійснити вибірку по заданому елементу попиту. Для реалізації даного завдання в пакеті Mathematica використаємо функцію Cases.
Як джерело-масив використаємо масив resurs. В якості зразка, за яким буде здійснюватися вибірка, можна скористатися наступним вираженням: { {2, 5, 1, 6, 2}, {_, _, _, _} }, де значення {2, 5, 1, 6, 2} є певним елементом попиту й відбір буде проводитися тільки для даного елементу.
За допомогою функції Length можна визначити кількість розподілених пар для заданої дисципліни. Для цього як параметри функції Length вкажемо значення попереднього вираження (%).
Описана вище, функція Rasp має недолік у тім, що при розподілі не враховується необхідність наявності певної аудиторії для проведення конкретного заняття.
Співвідношення вільних аудиторій за їх видами представлено діаграмою (Мал.4.3).
Мал. 4.3 Співвідношення аудиторій
Для рішення цього завдання створимо функцію, в результаті роботи якої формується кластер, що містить елементи вільного ресурсу. Значення кластера є елементами ресурсу, призначеного для проведення занять, що вимагають наявності комп'ютерів.
У пакеті Mathematica створимо функцію kks. Для виклику функції необхідно вказати, як параметр, ім'я масиву з якого буде здійснюватися вибірка (www_).
Тіло функції kks опишемо за допомогою функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожнюя множуну - { }. У тілі функції використаємо цикл For. Даний цикл здійснює перебір по індексах аудиторій. У базі даних аудиторії з індексами 1 - 5 є аудиторіями в наявності яких є комп'ютери. Тому перебір у циклі проводиться від аудиторії з індексом 1 і до аудиторії з індексом 5.
У тілі циклу за допомогою функції Cases реалізуємо вибірку елементів. Як параметри функції вказуємо ім'я масиву, з яким буде працювати функція. Ім'я масиву передається з параметрів функції kks (www_). Як зразок у функції Cases використаємо вираження: {_, j, _, _}, де j виступає конкретним значенням аудиторії.
За допомогою функції Join поєднуємо підмножини, що формуються на етапах виконання функції kks.
У підсумку одержуємо масив з ім'ям vub, що містить елементи вільного ресурсу, призначеного для проведення занять потребуючих наявності комп'ютерів.
Якщо задати як масив-джерело ім'я масиву resurs, тоді функція kks запишеться в такий спосіб:
Створимо функцію, у результаті роботи якої формується кластер, що містить елементи вільного ресурсу. Значення кластера є елементами ресурсу, призначеного для проведення занять з дисципліни - Електроніка та мікросхемотехніка.
У пакеті Mathematica створимо функцію el. Для виклику функції необхідно вказати, в якості параметру, ім'я масиву з якого буде здійснюватися вибірка (www_).
Тіло функції el опишемо за допомогою функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожню множину - { }. У тілі функції використаємо цикл For. Даний цикл здійснює перебір по індексах аудиторій. У базі даних аудиторія з індексом 6 є аудиторією для проведення занятть з дисципліни електроніка та мікросхемотехніка.
У тілі циклу за допомогою функції Cases реалізуємо вибірку елементів. Як параметри функції вказуємо ім'я масиву, з яким буде працювати функція. Ім'я масиву передається з параметрів функції el (www_). Як зразок у функції Cases використаємо вираження: {_, j, _, _}, де j виступає конкретним значенням аудиторії.
За допомогою функції Join поєднуємо підмножини, що формуються на етапах виконання функції el.
У підсумку одержуємо масив з ім'ям vub, що містить елементи вільного ресурсу, призначеного для проведення занять з дисципліни - Електроніка й мікросхемотехніка.
Якщо задати як масив-джерело ім'я масиву resurs, тоді функція el запишеться в такий спосіб:
Створимо функцію, в результаті роботи якої формується кластер, що містить елементи вільного ресурсу. Значення кластера є елементами ресурсу, призначеного для проведення лабораторних робіт з фізики.
У пакеті Mathematica створимо функцію fiz. Для виклику функції необхідно вказати, в якості параметру, ім'я масиву з якого буде здійснюватися вибірка (www_).
Тіло функції fiz опишемо за допомогою функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожню множину - { }.
У тілі функції використаємо цикл For. Даний цикл здійснює перебір по індексах аудиторій. У базі даних аудиторія з індексом 7 є аудиторією для проведення лабораторних робіт з фізики.
У тілі циклу за допомогою функції Cases реалізуємо вибірку елементів. Як параметри функції вказуємо ім'я масиву, з яким буде працювати функція. Ім'я масиву передається з параметрів функції fiz (www_). Як зразок у функції Cases використаємо вираження: {_, j, _, _}, де j виступає конкретним значенням аудиторії.
За допомогою функції Join поєднуємо підмножини, що формуються на етапах виконання функції fiz.
У підсумку одержуємо масив з ім'ям vub, що містить елементи вільного ресурсу, призначеного для проведення лабораторних робіт з фізики.
Якщо задати як масив-джерело ім'я масиву resurs, тоді функція fiz запишеться в такий спосіб:
Створимо функцію, в результаті роботи якої формується кластер, що містить елементи вільного ресурсу. Значення кластера є елементами ресурсу, призначеного для проведення лабораторних робіт з хімії.
В пакеті Mathematica створимо функцію him. Для виклику функції необхідно вказати, як параметр, ім'я масиву з якого буде здійснюватися вибірка (www_).
Тіло функції him опишемо за допомогою функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожню множину - { }.
У тілі функції використаємо цикл For. Даний цикл здійснює перебір по індексах аудиторій. У базі даних аудиторії з індексами 8 - 9 є аудиторіями для проведення лабораторних робіт з хімії.
У тілі циклу за допомогою функції Cases реалізуємо вибірку елементів. Як параметри функції вказуємо ім'я масиву, з яким буде працювати функція. Ім'я масиву передається з параметрів функції him (www_). Як зразок у функції Cases використаємо вираження: {_, j, _, _}, де j виступає конкретним значенням аудиторії.
За допомогою функції Join поєднуємо підмножини, що формуються на етапах виконання функції him.
У підсумку одержуємо масив з ім'ям vub, що містить елементи вільного ресурсу, призначеного для проведення лабораторних робіт з хімії.
Якщо задати як масив-джерело ім'я масиву resurs, тоді функція him запишеться в такий спосіб:
Створимо функцію при роботі якої формується кластер, що містить елементи вільного ресурсу, призначеного для проведення лекційних занять.
В пакеті Mathematica створимо функцію з ім'ям leks. Для виклику функції необхідно вказати, як параметр, ім'я масиву з якого буде здійснюватися вибірка (www_).
Тіло функції leks опишемо за допомогою функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожню множину - { }.
У тілі функції використаємо цикл For. Даний цикл здійснює перебір по індексах аудиторій. У базі даних аудиторії з індексами 10 - 37 є аудиторіями для проведення лекцій.
У тілі циклу за допомогою функції Cases реалізуємо вибірку елементів. Як параметри функції вказуємо ім'я масиву, з яким буде працювати функція. Ім'я масиву передається з параметрів функції leks (www_). Як зразок у функції Cases використаємо вираження: {_, j, _, _}, де j виступає конкретним значенням аудиторії.
За допомогою функції Join поєднуємо підмножини, що формуються на етапах виконання функції leks.
В результаті роботи функції leks одержуємо масив з ім'ям vub, що містить елементи вільного ресурсу, призначеного для проведення лекцій.
Якщо задати як масив-джерело ім'я масиву resurs, тоді функція leks запишеться в такий спосіб:
Створимо функцію при роботі якої формується кластер, що містить елементи вільного ресурсу, призначеного для проведення практичних занять.
У пакеті Mathematica створимо функцію з ім'ям prs. Для виклику функції необхідно вказати, в якості параметру, ім'я масиву з якого буде здійснюватися вибірка (www_).
Тіло функції prs опишемо за допомогою функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожню множину - { }.
У тілі функції використаємо цикл For. Цикл здійснює перебір по індексах аудиторій. У базі даних аудиторії з індексами 38 - 40 є аудиторіями для проведення практичних занять.
У тілі циклу за допомогою функції Cases реалізуємо вибірку елементів. Як параметри функції вказуємо ім'я масиву, з яким буде працювати функція. Ім'я масиву передається з параметрів функції prs (www_). Як зразок у функції Cases використаємо вираження: {_, j, _, _}, де j виступає конкретним значенням аудиторії.
За допомогою функції Join поєднуємо підмножини, що формуються на етапах виконання функції prs.
В результаті роботи функції prs одержуємо масив з ім'ям vub, що містить елементи вільного ресурсу, призначеного для проведення практичних занять.
Якщо задати як масив-джерело ім'я масиву resurs, тоді функція prs запишеться в такий спосіб:
Необхідно відзначити, у функціях kks[www_], el[www_], iz[www_], him[www_], leks[www_], prs[www_], описаних вище, значення індексів аудиторій задаються згідно попередньо сформованої в певному порядку бази даних.
База даних аудиторій являє собою впорядкований по індексах список можливих до використання аудиторій. Список ділиться на блоки по призначенню аудиторій для проведення певних дисциплін.
Створимо функцію, у результаті роботи якої, формується кластер, що містить елементи вільного ресурсу. Елементи кластера відбираються із заданого масиву-джерела даних для певного дня тижня, при цьому задається необхідна кількість пар для проведення заняття на тиждень.
У пакеті Mathematica створимо функцію з ім'ям Klaster. Для виклику функції необхідно вказати наступні параметри: масив-джерело даних (masiv_), порядковий номер дня тижня для якого необхідно провести відбір (r_), необхідну кількість пар для проведення занять по певній дисципліні в тиждень (kvo_).
Тіло функції Klaster опишемо за допомогою функції пакета Mathematica - Block. Локальних змінних у функції не передбачено, тому на місці їхнього опису залишаємо порожню множину - { }.
У тілі функції використаємо цикл For. Цикл здійснює перебір по тижнях, починаючи з першого й закінчуючи останнім, котрий визначений змінноюї d1, описаної вище.
У тілі циклу реалізуються наступні дії: змінній chet привласнюємо 1. Дана змінна необхідна для контролю кількості пар по заданій дисципліні в тиждень. Наступним оператором циклу є вкладений цикл For, що здійснює перебір по парах у день. У тілі вкладеного циклу виконуємо оператор умови If. За допомогою умовного оператора здійснюємо перевірку на кількість пар по дисципліні в тиждень. Якщо ж змінна chet, що змінюється при роботі функції Klaster не перевищує заданий параметр функції (kvo_), тоді за допомогою функції Cases проводимо вибірку елементів. У параметрах функції Cases вказуємо ім'я масиву-джерела (masiv_); зразок, по якому відбираються елементи {i, _, r, z} і їхню кількість (1). Результат вибірки заносимо в змінну ф. Далі, використовуючи ще один оператор If здійснюємо перевірку отриманого результату, що перебуває в змінній ф. Якщо змінна не дорівнює порожній безлічі, тоді використовуючи функцію Join формуємо загальний масив кластера, шляхом об'єднання елементів. Після проводимо нарощування змінної chet, щоб не вийти за межі, визначені в параметрах функції Klaster.
Таким чином, викликавши функцію Klaster і задавши необхідні параметри, формується кластер, що містить елементи вільного ресурсу із заданими параметрами.
Якщо необхідно відібрати елементи ресурсу для понеділка, у кількості 3 пар у тиждень, тоді функція Klaster запишеться в такий спосіб:
Створимо функцію, в результаті роботи якої, здійснюється розподіл дисциплін по необхідних аудиторіях. При цьому можна вказати, з якого дня тижня необхідно почати розподіл.
В пакеті Mathematica створимо функцію з ім'ям Rasp1. Для виклику функції необхідно вказувати як параметр день тижня, з якого потрібно почати розподіл (dned_).
Формування тіла функції Rasp1опишемо за допомогою функції пакета Mathematica - Block. Так як локальні змінні у функції використовуватися не будуть, то на їхньому місці опису вкажемо порожню множину - { }.
У тілі функції використаємо цикл For. Цикл здійснює перебір елементів масиву попиту, починаючи з першого й до останнього. Останній елемент списку попиту визначаємо за допомогою функції Length. У тілі циклу змінній est привласнимо 0. Дана змінна необхідна для визначення невдалого розподілу. Потім змінній ррр привласнимо значення результату роботи функції Which.
Функція Which є вбудованою функцією пакета Mathematica і являє собою умовний оператор з деяким числом порівнянь.
У функції Rasp1 оператор Which реалізує наступні порівняння: якщо перше значення в елементі попиту дорівнює 1 (тобто дисципліна для проведення заняття вимагає аудиторію з наявністю комп'ютера ), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції kks[www_], описаної вище. Якщо перше значення в елементі попиту дорівнює 2 (тобто необхідна аудиторія для проведення лабораторного заняття по дисципліні - Електроніка та мікросхемотехніка ), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції el[www_]. Якщо перше значення в елементі попиту дорівнює 3 (тобто необхідна аудиторія для проведення лабораторного заняття по фізиці ), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції fiz[www_]. Якщо перше значення в елементі попиту дорівнює 4 (тобто необхідна аудиторія для проведення лабораторного заняття по хімії), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції him[www_]. Якщо перше значення в елементі попиту дорівнює 5 (тобто необхідна аудиторія для проведення лекцій), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції leks[www_]. Якщо ж перше значення в елементі попиту дорівнює 6 (тобто необхідна аудиторія для проведення практичних занять), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції prs[www_]. Наступний оператор циклу - вкладений цикл For. Цикл здійснює перебір по днях тижня, починаючи із дня зазначеного в параметрах функції Rasp1. У тілі вкладеного циклу використовується умовний оператор If. Оператор здійснює порівняння четвертого значення елемента попиту (тобто значення, що визначає кількість пар по дисципліні на семестр) зі змінною d1, що визначає кількість тижнів у семестрі. Якщо кількість пар по дисципліні не перевищує кількість тижнів у семестрі, тоді змінній Kl привласнюється значення кластера, сформованого за допомогою функції Klaster [masiv_, r_, kvo_], описаної вище. При цьому параметри функції Klaster [masiv_, r_, kvo_] наступні: як масив-джерело даних використається масив, сформований на попередньому етапі (ррр); день тижня для якого здійснюється вибірка передається із циклу (beg); кількість пар для дисципліни на тиждень визначено 1.
Якщо ж умова не виконується, тобто кількість пар для певної дисципліни більше кількості тижнів у семестрі, тоді змінної Kl привласнимо значення кластера, формування якого здійснюється за допомогою тієї ж функції Klaster [masiv_, r_, kvo_] з тими ж параметрами, тільки замість проведення одного заняття в тиждень, вкажемо 2.
Потім за допомогою оператора If здійснюємо порівняння четвертого значення елемента попиту (тобто значення, що визначає кількість пара по дисципліні на семестр) з кількістю елементів масиву Kl, сформованого на попередньому етапі. Кількість елементів масиву Kl визначаємо за допомогою функції Length. Якщо умова (If) виконується, тоді реалізуємо розподіл, використовуючи цикл For. Цикл здійснює перебір по порядкових номерах пар дисципліни. У тілі циклу змінній f за допомогою функції Position передаємо значення позиції елемента масиву Kl у масиві ресурсу (resurs). Потім за допомогою функції ReplacePart перетворимо масив ресурсу (resurs) у такий спосіб: заміняємо елемент, що перебуває в позиції f, об'єднанням (Join) елемента попиту й ресурсу.
Якщо розподіл поточної дисципліни зроблено, то необхідно перейти до наступного елемента попиту й почати розподіл для нього. Для цього необхідно вийти із циклу по перебору днів. За для цієї мети привласнимо змінній beg значення 6. І так як розподіл вдався, значення змінної est змінюємо на 1.
Якщо розподіл не вдався, то виводиться відповідне повідомлення. Для цього використається умовний оператор If. Якщо змінна est дорівнює 0, тоді за допомогою функції Print виводимо повідомлення: «Не вдалося розподілити елемент попиту» і вказуємо сам елемент. Інакше залишаємо змінну est без змін.
Таким чином, у результаті роботи функції Rasp1 здійснюється розподіл попиту по ресурсу із заданими умовами.
Якщо необхідно здійснити розподіл, починаючи з понеділка, тоді функція Rasp1 прийме вигляд:
Функція Rasp1 здійснює розподіл дисциплін по аудиторіях не враховуючи те, що той самий викладач не може проводити заняття в той самий день на одній і тій же парі, але в різних аудиторіях. Теж саме стосується й груп студентів. Група не може одночасно займатися декількома дисциплінами. Для вирішення цієї проблеми створимо нову функцію.
У пакеті Mathematica функції привласнимо ім'я Rasрred. Для виклику функції необхідна вказати порядковий день тижня з якого потрібно почати розподіл (dned_).
Формування тіла функції Rasрred опишемо за допомогою функції пакета Mathematica - Block. Так як локальні змінні у функції використовуватися не будуть, то на їхньому місці опису вкажемо порожню множину - { }.
У тілі функції змінній beg привласнимо результат роботи функції Which. Змінна beg необхідна для зберігання порядку перебору днів тижня. Функція Which реалізує наступні умови: якщо змінна dned, зазначена в параметрах функції Rasрred дорівнює 1 (тобто розподіл необхідно почати з понеділка), тоді змінній beg буде привласнений масив dd, сформований заздалегідь. Масив dd являє собою набір чисел від 1 до 5.
Якщо змінна dned дорівнює 2 (тобто розподіл потрібно почати з вівторка), тоді змінна beg одержить результат роботи функції RotateLeft. Дана функція змінює порядок розташування чисел у масиві, шляхом зрушення вліво. Загальний вид функції: RotateLeft [expr, n] - елементи вираження expr зрушуються вліво на n позицій.Функція RotateRight [expr, n] змінює порядок розташування чисел у масиві, шляхом зрушення вправо.
Використовуючи RotateLeft і RotateRight у функції Which формуємо масив з необхідним порядком розташування днів.
Наступний оператор тіла функції - цикл For. Цикл здійснює перебір елементів масиву попиту, починаючи з першого й до останнього. Останній елемент списку попиту визначаємо за допомогою функції Length.
У тілі циклу змінним U, T, vse привласнимо порожню множину - { }. Потім змінній tch привласнимо масив, сформований за допомогою функції Cases. Функція здійснює вибірку елементів з масиву resurs за зразком {{_, _, spros[[p]][[3]], _, _}, {_, _, _, _}}, де spros[[p]][[3]] вказує на поточне значення індексу викладача. Тобто здійснюється вибірка вже розподілених елементів попиту по індексу викладача. Далі використаємо цикл For. У циклі реалізуємо перебір елементів, сформованого на попередньому етапі масиву tch. У тілі циклу змінної tchudel привласнимо порожню множину { }. Використовуючи функцію Cases здійснимо вибірку з масиву попиту resurs елементів за зразком {tch[[m]][[2]][[1]], _, tch[[m]] [[2]] [[3]], tch[[m]] [[2]] [[4]]}, де tch[[m]][[2]][[1]], tch[[m]] [[2]] [[3]], tch[[m]] [[2]] [[4]] - конкретні значення елементів попиту. Результат вибірки збережемо в змінній tchudel. Множини tchudel, що формуються в циклі, об'єднаємо в єдиний масив U. Для цього використаємо функцію пакета Mathematica - Union. Таким чином, здійснюється вибір елементів ресурсу по викладачах, для яких розподіл поточного попиту неможливо.
Подібним способом здійснюємо вибір елементів попиту по групах, для яких розподіл поточного попиту неможливо. Змінній st привласнимо масив, сформований за допомогою функції Cases. Функція здійснює вибірку елементів з масиву resurs за зразком {{_, _, _, _, spros[[p]][[5]]}, {_, _, _, _}}, де spros[[p]][[5]] вказує на поточне значення індексу групи. Тобто здійснюється вибірка вже розподілених елементів попиту по індексу групи. Далі використаємо цикл For. У циклі реалізуємо перебір елементів, сформованого на попередньому етапі масиву st. У тілі циклу змінній studel привласнимо порожню множуну { }. Використовуючи функцію Cases здійснимо вибірку з масиву попиту resurs елементів за зразком {st[[k]][[2]][[1]], _, st[[k]] [[2]] [[3]], st[[k]] [[2]] [[4]]}, де st[[k]] [[2]][[1]], st[[k]] [[2]] [[3]], st[[k]] [[2]] [[4]] - конкретні значення елементів попиту. Результат вибірки збережемо в змінній studel. Множини studel, що формуються в циклі, об'єднаємо в єдиний масив T.
Сформований масив U і масив Т об'єднаємо за допомогою функції Union у єдиний масив з ім'ям vse. Це буде масив ресурсу, для якого неможливе розподіл поточного елемента попиту.
Далі змінній ррр привласнимо значення результату роботи функції Which. Оператор Which реалізує наступні порівняння: якщо перше значення в елементі попиту рівняється 1 (тобто дисципліна для проведення заняття вимагає аудиторію з наявністю комп'ютера ), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції kks[www_], описаної вище. Як масив-джерело (www_) у цьому випадку й у наступних, використаємо вираження Сomplement[resurs, vse]. За допомогою функції пакета Mathematica - Сomplement виключаємо із загального масиву ресурсу елементи для яких розподіл за поточним елементом попиту неможливо.
Якщо перше значення в елементі попиту рівняється 2 (тобто необхідна аудиторія для проведення лабораторного заняття по дисципліні - Електроніка й мікросхемотехніка ), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції el[www_].
Якщо перше значення в елементі попиту рівняється 3 (тобто необхідна аудиторія для проведення лабораторного заняття по фізиці ), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції fiz[www_].
Якщо перше значення в елементі попиту рівняється 4 (тобто необхідна аудиторія для проведення лабораторного заняття по хімії), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції him[www_].
Якщо перше значення в елементі попиту рівняється 5 (тобто необхідна аудиторія для проведення лекцій), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції leks[www_].
Якщо ж перше значення в елементі попиту рівняється 6 (тобто необхідна аудиторія для проведення практичних занять), тоді змінній ррр буде привласнений кластер, сформований за допомогою функції prs[www_].
Змінній est привласнимо 0. Дана змінна необхідна для визначення невдалого розподілу.
Наступний оператор циклу - вкладений цикл For. Цикл здійснює перебір по днях тижня, використовуючи масив beg, сформований раніше. У тілі вкладеного циклу змінної Kl привласнимо значення результату роботи функції Which. Оператор Which реалізує наступні порівняння: якщо четверте значення елемента попиту (тобто значення, що визначає кількість пар по дисципліні на семестр) менше змінної d1, що визначає кількість тижнів у семестрі, тоді змінній Kl привласнимо значення кластера, сформованого за допомогою функції Klaster [masiv_, r_, kvo_], описаної вище. При цьому параметри функції Klaster [masiv_, r_, kvo_] наступні: як масив-джерело даних використовується масив, сформований на попередньому етапі (ррр); день тижня для якого здійснюється вибірка передається із циклу (beg); кількість пар для дисципліни на тиждень визначено 1.
Якщо четверте значення елемента попиту не перевищує значення 2·d1, де d1 - кількість тижнів на семестр, тоді змінній Kl привласнимо значення кластера, сформованного за допомогою функції Klaster [masiv_, r_, kvo_], описаної вище. При цьому параметри функції Klaster [masiv_, r_, kvo_] наступні: як масив-джерело даних використовується масив, сформований на попередньому етапі (ррр); день тижня для якого здійснюється вибірка передається із циклу (beg); кількість пар для дисципліни на тиждень визначено 2.
Аналогічним способом здійснюємо наступну перевірку кількості пар по дисципліні на семестр з кількістю тижнів і формуємо кластери з відповідними параметрами.
Потім за допомогою оператора If здійснюємо порівняння четвертого значення елемента попиту (тобто значення, що визначає кількість пар по дисципліні на семестр) з кількістю елементів масиву Kl, сформованого на попередньому етапі. Кількість елементів масиву Kl визначаємо за допомогою функції Length. Якщо умова (If) виконується, тоді реалізуємо розподіл, використовуючи цикл For. Цикл здійснює перебір по порядкових номерах пар дисципліни. У тілі циклу змінній f за допомогою функції Position передаємо значення позиції елемента масиву Kl у масиві ресурсу (resurs). Потім за допомогою функції ReplacePart перетворимо масив ресурсу (resurs) у такий спосіб: заміняємо елемент, що перебуває в позиції f, об'єднанням (Join) елемента попиту й ресурсу.
Якщо розподіл поточної дисципліни зроблено, то необхідно перейти до наступного елемента попиту й почати розподіл для нього. Для цього необхідно вийти з циклу по перебору днів. З цією метою привласнимо змінній beg значення 6. І так як розподіл вдався, значення змінної est змінюємо на 1.
Якщо розподіл не вдався, то виводиться відповідне повідомлення. Для цього використається умовний оператор If. Якщо змінна est дорівнює 0, тоді за допомогою функції Print виводимо повідомлення: «Не вдалося розподілити елемент попиту» і вказуємо сам елемент. Інакше залишаємо змінну est без змін.
Таким чином, у результаті роботи функції Raspred здійснюється розподіл попиту по ресурсу із заданими умовами.
Якщо необхідно здійснити розподіл, починаючи з понеділка, тоді функція Raspred прийме вигляд:
4.3.2 Функції виводу інформації
Логіко-функціональна схема роботи користувача з системою представлена наступною блок-схемою:
1. Ввод користувачем дня з якого необхідно почати розподіл (1 - Пн, 2 - Вт, 3 - Ср, 4 - Чт, 5 - Пт)
2. Вивести таблицю розкладу за групами?
3. Вивести таблицю розкладу за викладачами?
4. Вивести загальну таблицю розкладу?
5. Друк таблиці розкладу за групами.
6. Друк таблиці розкладу за викладачами.
7. Друк загальної таблиці розкладу.
8. Чи влаштовує користувача сформований розклад?
При наявності сформованого розкладу можна створити функцію, результатом роботи якої є вивод на екран розкладу по заданому індексу аудиторії на весь семестр.
У пакеті Mathematica створимо функцію з ім'ям class. Для виклику функції необхідно в якості параметру вказати індекс аудиторії (_ind).
Тіло функції class опишемо за допомогою вбудованої функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожню множцну - { }.
У тілі функції використаємо оператор Print для виводу повідомлення для якої аудиторії виводиться розклад. Потім формуємо таблицю, що складається з нулів, розмірністю 9 Ч 1 Ч 5 Ч 6. Для цього використаємо функцію Table. Таблиці привласнимо ім'я cl. Далі використаємо цикл For. Цикл здійснює перебір по тижнях. Кількість тижнів обмежено змінною d1, описаної вище. У тілі циклу використаємо вкладений цикл по перебору днів тижня, починаючи з першого й до останнього, визначеного змінною d3. У тілі вкладеного циклу реалізуємо ще один вкладений цикл For, що здійснює перебір по парах у день. Кількість пар визначена змінною d4. Таким чином, перебираючи елементи масиву cl кожному значенню привласнимо вираження масиву ltab з тими ж координатами номера тижня, дня й пари в день, а індекс аудиторії відповідає значенню, зазначеному в параметрах функції class. Масив ltab являє собою список, що містить дані про зайняті й вільні елементи ресурсу, виражених у вигляді 0 і 1 (0 - вільний, 1 - зайнятий), а також розподілених елементів попиту, виражених у вигляді даних про назву дисципліни, прізвище викладача й групи студентів.
Використовуючи функцію пакета Mathematica - TableForm представимо дані масиву cl у табличній формі.
Якщо задати як параметр функції cl індекс аудиторії 2, тоді результатом роботи функції буде наступна таблиця:
Можна також реалізувати вивод по індексу тижня. Для цього в пакеті Mathematica створимо функцію з ім'ям nedelja. Для виклику функції необхідно, як параметр вказати індекс тижня (_ind).
Тіло функції nedelja опишемо за допомогою вбудованої функції пакета Mathematica - Block. Так як локальних змінних у функції не передбачено, то на місці їхнього опису залишаємо порожню множину - { }.
У тілі функції використаємо оператор Print для виводу повідомлення для якого тижня виводиться розклад. Потім формуємо таблицю, що складається з нулів, розмірністю 45 Ч 1 Ч 5 Ч 6. Для цього використаємо функцію Table. Таблиці привласнимо ім'я cl. Далі використаємо цикл For. Цикл здійснює перебір по аудиторіях. Кількість аудиторій обмежено змінною d2, описаної вище. У тілі циклу використаємо вкладений цикл по перебору днів тижня, починаючи з першого й до останнього, визначеного змінною d3. У тілі вкладеного циклу реалізуємо ще один вкладений цикл For, що здійснює перебір по парах у день. Кількість пар визначено змінною d4. Таким чином, перебираючи елементи масиву cl кожному значенню привласнимо вираження масиву mout з тими ж координатами номера аудиторії, дня й пари в день, а індекс тижня відповідає значенню, зазначеному в параметрах функції nedelja. Масив mout є результатом транспонування матриці ltab , що містить дані про зайняті й вільні елементи ресурсу, виражених у вигляді 0 і 1 (0 - вільний, 1 - зайнятий), а також розподілених елементів попиту, виражених у вигляді даних про назву дисципліни, прізвище викладача й групи студентів.
Використовуючи функцію пакета Mathematica - TableForm представимо дані масиву cl у табличній формі.
Якщо задати як параметр функції nedelja індекс тижня 2, тоді результатом роботи функції буде наступна таблиця:
5. ЕКОНОМІЧНЕ ОБҐРУНТУВАННЯ ДОЦІЛЬНОСТІ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ
5.1 Організаційно-економічна частина
Розробка програмного забезпечення залишається дотепер досить трудомістким процесом. Організація й планування процесу розробки програмного продукту або програмного комплексу при традиційному методі планування передбачає виконання наступних робіт:
o формування складу виконуваних робіт і угруповання їх по стадіях розробки;
o розрахунок трудомісткості виконання робіт;
o установлення професійного складу й розрахунок кількості виконавців;
o визначення тривалості виконання окремих етапів розробки;
o побудова календарного графіка виконання розробки;
o контроль виконання календарного графіка.
Трудомісткість розробки програмної продукції залежить від ряду факторів, основними з яких є наступні: ступінь новизни розроблювального програмного комплексу, складність алгоритму його функціонування, обсяг використовуваної інформації, вид її подання й спосіб обробки, а також рівень використовуваної алгоритмічної мови програмування. Всі перераховані фактори впливають на процес формування ціни продукту, що з економічної точки зору є найбільш важливим моментом для розроблювача.
Програмні продукти являють собою досить специфічний товар з безліччю властивих їм особливостей. Багато їхніх особливостей проявляються й у методах розрахунків ціни на них. На розробку програмного продукту середньої складності звичайно потрібні досить незначні засоби. Однак, при цьому вона може дати економічний ефект, що значно перевищує ефект від використання досить дорогих систем.Варто підкреслити, що у програмних продуктів практично відсутній процес фізичного старіння й зношування. Для них основні витрати доводяться на розробку зразка, тоді як процес тиражування являє собою, звичайно, порівняно нескладну й недорогу процедуру копіювання магнітних носіїв і супровідної документації.
Цей програмний продукт призначений для автоматизації процесу складання розкладу в учбових закладах різних рівнів.
Алгоритм проекту реалізуємо в системі Mathematica.
Необхідні для розробки програмного продукту засоби обчислювальної техніки: персональна ЕОМ на базі процесора Pentium IV с тактовою частотою 2,1 Мгц, 512 Мб оперативної пам'яті, HDD 40 Гб, дисковод для компакт-дисків 4-х швидкісний.
Для роботи системі необхідно:
ПЕОМ на базі Intel-сумісного процесора п'ятого покоління с частотою не менш ніж 433Мгц, с ОЗУ рівним 64Мб, що оснащена SVGA-відеоадаптером та монітором 17” та вільним дисковим простором не менш ніж 30Мб.
5.2 Розрахунок витрат праці на розробку програмного продукту
Економічна доцільність розробки полягає в економії працезатрат і часу.
Таблиця 5.1
Затрати на матеріали
№п/п |
Найменуванняматеріалу |
Витрати,шт. |
Цінагрн./шт. |
Сумагрн. |
|
1 |
Допоміжна література |
1 |
15 |
15 |
|
2 |
Диск CD-R |
2 |
2 |
4 |
|
Разом 19 |
Таблиця 5.2
Затрати на устаткування та програмне забезпечення
№п/п |
Наименування матеріала |
Расход, шт. |
Ціна, грн./шт. |
Сума, грн. |
|
1 |
Компьютер класу Pentium IV |
1 |
3000 |
3000 |
|
2 |
Система Mathematica |
1 |
5000 |
5000 |
|
3 |
Запропонована программа |
1 |
300 |
300 |
|
|
|
|
Ітого: |
Зо= 8300 |
Амортизація складає 25% в квартал від остаточної вартості, т.е. :
А = Фост * На, де Фост - остаточна вартість на початок кварталу, На - норма амортизації.
I квартал 8300 * 0,25 =2075 грн.
II квартал (8300 - 2075) * 0,25 = 1556,25 грн.
III квартал (8300 - 2075 - 1556,25) * 0,25 = 1167,19 грн.
IV квартал (8300 - 2075 - 1556,25 - 1167,19) * 0,25 = 875,39 грн.
ІТОГО амортизація = 5673,83 грн.
Таблиця 5.3
Основна зарабітня платня розробників ПП
№ п/п |
Виконавці |
Трудоємкість, чол. дн. |
Оклад, грн. |
Затрати по з/п, грн. |
|
1 |
Програміст |
7 |
1200 |
400,00 |
Додаткова зарабітня платня розробників ІС складає 20 % від основної зарабітньої платні:
400,00* 0,20 = 80,00 грн.
Фонд зарабітньої плати являє суму основної і додаткової зарабітньої плати:
400,00+ 80,00 = 480,00 грн.
Відрахування на соціальні кошти складає 39% від фонду оплати праці:
480,00 * 0,39 = 187,20 грн.
Накладні витрати складають 250 % від велечини основної зарабітної платні:
400,00* 2,5 = 1000,00 грн.
Таблиця 5.4
Калькуляція
№ п/п |
Найменування статей витрат |
Витрати, грн. |
|
1 |
Амортизація |
5673,83 |
|
2 |
Витратні матеріали |
19 |
|
3 |
Основна заробітня платня розробників |
400,00 |
|
4 |
Додаткова зарабітня платня розробників |
80,00 |
|
5 |
Відрахування на соціальне страхування |
187,2 |
|
6 |
Накладні витрати |
1000,00 |
|
Ітого витрат: Зк= 7360,03 |
5.3 Витрати на ручну обробку інформації
Витрати на ручну обробку інформації рахуються за формулою:
Зр = Оn * Ц * Гд / Нв , де
Оn - об'єм інформації, обрабляємої вручну, Мбайт;
Ц - вартість одного часу роботи, грн./год;
Гд - коефіцієнт, який враховує додаткові затрати часу на логічні операції при ручній обробці інформації;
Нв - норма вироботки, Мбайт/ год.
В цьому випадку:
Оn = 5 Мбайт (загальний об'єм даних, що обробляються);
Ц = 5,95 грн./ год; (1000/21/8)
Гд = 2.5 (встановлено експерементально);
Нв = 0.005 Мбайт / год.
З цього слідує, що витрати на ручну обробку інформації будуть рівні:
Зр = 5 * 5,95 * 2,5 / 0,005 = 14875,00 грн.
5.4 Економічний ефект від використання алгоритму
Витрати на автоматизовану обробку інформації розраховуються по наступній формулі:
, де
- час автоматичної обробки, год.;
- вартість однієї години машинного часу, грн. /год;
- час роботи оператора, год.;
- вартість однієї години роботи оператора, грн. /год.
Для нашого випадку:
ta = 0,083 год,
Номінальний фонд робочого часу розраховується по формулі :
к - кількість відпрацьованих годин за рік;
k1 - щоденні втрати 9-10% (відпустка, декретна відпустка й ін.)
k2 - внутрішні втрати робочого часу, 1- 2% (пільгові години, перерви й т. п).
к = д * р * м
д - середнья кількість робочих днів у місяці = 21;
р - тривалість роботи оператора з програмою в день = 1;
м - кількість робочих місяців у році = 11;
К = 21 * 1 * 11 = 231
Час роботи оператора = 207 годин на рік
Вартість однієї години машинного часу дорівнює:
Цм = Цэ*Р
Цэ - вартість 1кВт електроенергії (0,2436грн)
Р - споживана потужність комп'ютера в годину 160Вт
Цм=0,2436*0,16=0,04грн/год
Отже, витрати на автоматизованну обробку інформації будуть рівні:
За = 0,083 * 0,04 + 207 * (0,04 + 5,36) = 1117,8 грн.
Таким чином, річна економія від впровадження продукту дорівнює:
Эу = Зр - За - Зк,
Эу = 14875,00 - 1117,8 - 7360,03= 6397,17 грн.
Економічний ефект від користування програмним забеспеченням за рік рахується по формулі, грн.:
Эг = Эу - Ен * Зо , де
Эг = 6397,17 - 0,2 * 8300 = 4737,17 грн.
Ен - нормативний коефіцієнт ефективності капітальних уложень = 0,2.
Ефективність розробки може бути оцінена за формулою:
Эр = Эг Ч 0,4/Зк.
Эр = 4737,17 * 0,4/7360,03 = 0,26
Оскільки Эр > 0.20, розробка є економічно доцільною.
Вартісна оцінка результатів застосування програмного забезпечення за розрахунковий період Т визначається за формулою:
,
де Т - розрахунковий період;
Рt - вартісна оцінка результатів t розрахункового періоду, грн.;
- функція, що дисконтує, яка вводиться з метою приведення всіх витрат і результатів до одного моменту часу.
Дисконтирующа функція має вигляд:
at = 1 / (1 + р) t , де
at - дисконтирующа функція, яка вводиться з метою приведення усіх витрат і результатів до одному моменту години.
р - коефицієнт дисконтирування (р = Ен = 0.2).
Таким чином:
.
Якщо програмне забезпечення замінює ручну працю, отже, набір корисних результатів у принципі не змінюється. Як оцінка результатів застосування програмного забезпечення в рік береться різниця (економія) витрат, виникающих в результаті користування програмним забезпеченням, т.ч. РT = Эу.
Передбачається, що дана розробка без змін і доробок буде використовуватися протягом трьох років. Тоді вартісна оцінка результатів застосування програмного забезпечення (економія) за розрахунковий період Т = 3 роки складає:
6. ОХОРОНА ПРАЦІ
Охорона праці - це система законодавчих актів, соціально-економічних, організаційних і лікувально-профілактичних заходів і засобів, що забезпечують безпеку, збереження здоров'я і працездатності людини в процесі праці.
Законодавство України про охорону праці складається із загальних законів України та спеціальних законодавчих актів. Загальними законами України, що визначають основні положення з охорони праці є Конституція України, Закон України «Про охорону праці», Кодекс законів про працю (КЗпП), Закон України «Про загальнообов'язкове державне соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності»
Крім загальних законів України, правові відносини у сфері охорони праці регулюються спеціальними законодавчими актами, указами і розпорядженнями Президента України, рішеннями уряду України, нормативними актами міністерств та інших центральних органів державної виконавчої влади. Сьогодні проводиться значна робота з питань вдосконалення законодавчої бази з питань охорони праці, адаптації українського законодавства з охорони праці до вимог Європейського Союзу.
Закон України «Про охорону праці» визначає основні положення щодо реалізації конституційного права громадян на охорону їх життя і здоров'я в процесі трудової діяльності, регулює за участю відповідних державних органів відносини між власником підприємства, установи і організації або уповноваженим ним органом і працівником з питань безпеки, гігієни праці та виробничого середовища і встановлює єдиний порядок організації охорони праці в Україні.
Кодекс законів про працю України регулює трудові відносини всіх працівників, сприяючи зростанню продуктивності праці, поліпшенню якості роботи, підвищенню ефективності суспільного виробництва і піднесенню на цій основі матеріального і культурного рівня життя трудящих, зміцненню трудової дисципліни і поступовому перетворенню праці на благо суспільства в першу життєву потребу кожної працездатної людини.
Основні вимоги гігієни та санітарії відображені в законі України «Про забезпечення санітарного та епідемічного благополуччя населення». Параметри мікроклімату на робочих місцях регламентовані ГОСТ 12.1.005-88 та ДСН 3.3.6.042-99, а норми штучного та природного освітлення визначені будівельними нормами та правилами СНиП ІІ-4-79/85.
Пожежна безпека визначена законом України «Про пожежну безпеку» та «Правилами про пожежну безпеку в Україні». Забезпечення пожежної безпеки є невід'ємною частиною державної діяльності щодо охорони життя та здоров'я людей, національного багатства і навколишнього природного середовища. Закон України «Про пожежну безпеку» визначає загальні правові, економічні та соціальні основи забезпечення пожежної безпеки на території України, регулює відносини державних органів, юридичних і фізичних осіб у цій галузі незалежно від виду їх діяльності та форм власності.
6.1 Аналіз небезпечних та шкідливих факторів на робочому місці оператора ПК
Фактори виробничого середовища впливають на функціональний стан і працездатність оператора. Існує поділ виробничих факторів на небезпечні й шкідливі. Небезпечний виробничий фактор - це виробничий фактор, вплив якого в певних умовах приведе до травми або до іншому раптовому погіршенню здоров'я. Вплив же шкідливого виробничого фактору в певних умовах приведе до захворювання або зниження працездатності.
Небезпечні й шкідливі виробничі фактори підрозділяються за природою дії на наступні групи: фізичні, хімічні, біологічні, психофізичні. Перші три групи включають вплив виробничою технікою й робітничим середовищем. Психофізіологічні фактори характеризують зміни стану людини під впливом ваги й напруженості праці. Включення їх у систему факторів виробничої небезпеки обумовлене тим, що надмірні трудові навантаження в підсумку можуть також привести до захворювань.
Оператор ЕОМ може зіткнутися з наступними фізично небезпечними й шкідливими факторами:
o підвищенні значення електричного струму, статичної електрики та рівня електромагнітних випромінювань;
o підвищений рівень рентгенівських випромінювань;
o підвищений рівень шуму;
o несприятливі мікрокліматичні умови;
o недостатнє або надмірне освітлення.
До психофізичних небезпечних і шкідливих виробничих факторів можна віднести: фізичні перевантаження (статичні й динамічні), нервово-психічні перевантаження (розумова напруга й перенапруга, монотонність праці, емоційні перевантаження, стомлення, емоційний стрес, емоційне перевантаження).
Той самий небезпечний і шкідливий виробничий фактор по природі своєї дії може відноситися одночасно до різних груп, перерахованих вище.
Відповідно діючим нормативним документам (СН 512-78 та ДСанПіН 3.3.2.007-98) площа приміщення 13,0 мІ; об'єм - 20 мі. Стіна, стеля, підлога приміщення виготовляються з матеріалів, дозволених для оформлення приміщень санітарно-епідеміологічним наглядом. Підлога приміщення вкрита діелектричним килимком, випробуваним на електричну міцність.
Висота робочої поверхні столу для оператора ПЕОМ - 690 мм, ширина повинна забезпечувати можливість виконання операцій в зоні досягнення моторного ходу; висота столу 725 мм, ширина 800 мм, глибина 900 мм. Простір для ніг: висота 600 мм, ширина 500 мм, глибина на рівні колін 500 мм, на рівні витягнутої ноги 650мм.
Ширина й глибина сидіння 400 мм, висота поверхні сидіння 450 мм, кут нахилу поверхні від 15є вперед до 5є назад. Поверхня сидіння плоска, передній край закруглений.
Заземлення конструкцій, які знаходяться в приміщенні надійно захищені діелектричними щитками. В приміщенні з ПЕОМ кожен день проводиться вологе прибирання.
Мікроклімат виробничих приміщень і стан повітряної середи в робочій зоні - головні чинники, які визначають умови праці. Основні параметри мікрокліматичних умов - температура, вологість, швидкість руху повітря і барометричний тиск впливають на теплообмін і загальний стан організму людини.
На організм людини і обладнання ПЕОМ великий вплив виявляє відносна вологість. При відносній вологості повітря більш 75-80% знижується опір ізоляції, змінюються робочі характеристики елементів, зростає інтенсивність відмов елементів ПЕОМ. Швидкість руху повітря і запиленість повітряного середовища виявляють вплив на функціональну діяльність людини і роботу приладів ПЕОМ.
Одним з найважливіших фізіологічних механізмів організму є терморегуляція, що залежить від мікрокліматичних умов навколишньої середи. Терморегуляція підтримує тепловий баланс організму людини при різноманітних метеорологічних умовах і тяжкості роботи, що виконується за рахунок звуження або розширення поверхні кровоносних судин і відповідної роботи потових залоз.
Несприятливий мікроклімат в процесі роботи викликає недомагання і втому організму, порушує нервову і розумову діяльність, сприяє зниженню спостережливості і швидкості реакції.
При роботі на ПЕОМ людина наражається на шумовий вплив з боку багатьох джерел, наприклад, шум викликаний роботою принтера (70 дБ), вентиляторів і кондиціонерів (до 100 дБ).
Діючи на слуховий аналізатор, шум змінює функціональний стан багатьох систем органів людини внаслідок взаємодії між ними через центральну нервову систему. Це виявляє вплив на органи зору людини, вестибулярний апарат і рухові функції, а також призводить до зниження мускульної дієздатності. При роботі в умовах шуму спостерігається підвищена втомлюваність і зниження дієздатності, погіршується увага і мовна комутація, створюються передумови до помилкових дій працюючих.
Небезпечний і шкідливий вплив на людей здійснюють електричний струм, електричні дуги, електромагнітні поля, що проявляються у вигляді електротравм і професійних захворювань. Ступінь небезпечного й шкідливого впливів на людину електричного струму, електричної дуги, електромагнітних полів залежить від: роду й величини напруги й струму; частоти електричного струму; шляхи проходження струму через тіло людини; тривалості впливу на організм людини; умов зовнішнього середовища.
Електронно-променеві трубки, які працюють при напрузі понад 6 кВ є джерелами „м'якого” рентгенівського випромінювання. При напрузі понад 10 кВ рентгенівське випромінювання виходить за межі скляного балону і розсіюється в навколишньому просторі виробничого приміщення.
Шкідливий вплив рентгенівських променів зв'язаний з тим, що, проходячи через біологічну тканину, вони викликають в тканині іонізацію молекул тканинної речовини, що може призвести до порушення міжмолекулярних зв'язків, що в свою чергу, призводить до порушення нормальної течії біохімічних процесів і обміну речовин.
Освітлення робочого місця - найважливіший фактор створення нормальних умов праці. Освітленню варто приділяти особливу увагу, тому що при роботі з монітором найбільшу напругу одержують очі.
Недостатнє освітлення робочих місць - одна з причин низької продуктивності праці. В цьому випадку очі працюючого сильно напружені, важко розрізняють предмети, у людини знижується темп і якість роботи, погіршується загальний стан.
6.2 Заходи щодо нормалізації шкідливих та небезпечних факторів на робочому місці оператора ПК
Одна з найважливіших задач охорони праці - забезпечення безпеки працюючих, тобто забезпечення такого стану умов праці, при якому виключено дію на працюючих небезпечних і шкідливих виробничих чинників.
6.2.1 Захист від електромагнітних випромінювань та уражень електричним струмом
На сьогоднішній день основним засобом захисту від електромагнітних випромінювань, що застосовуються в обчислювальній техніці є екранування джерел випромінювання. Сьогодні всі монітори, що випускаються, а також блоки живлення мають корпус, виконаний зі спеціального матеріалу, що практично повністю затримує проходження електромагнітного випромінювання. Застосовуються також спеціальні екрани, що зменшують ступінь впливу електромагнітних і рентгенівських променів на оператора.
Для зниження електромагнітного впливу на людину-оператора використовуються також раціональні режими роботи, при яких норма роботи на ПЕОМ не повинна перевищувати 50 % робочого часу.
Гранично допустимі рівні напруги дотику і струмів при експлуатації і ремонті обладнання забезпечені:
Ї застосуванням малої напруги;
Ї ізоляцією струмоведучих мереж;
Ї обґрунтуванням і оптимальним вибором елементної бази, що виключає передумови поразки електричним струмом;
Ї правильного компонування, монтажу приладів і елементів;
Ї дотриманням умов безпеки при настанові і заміні приладів і інше.
Захист від небезпечних впливів електричного струму при експлуатації обчислювальних комплексів забезпечені:
Ї застосування захисного заземлення або обнуління;
Ї ізоляцією струмопровідних частин;
Ї дотриманням умов безпеки при настанові і заміні агрегатів;
Ї надійним контактним сполученням з урахуванням перепаду кліматичних параметрів.
Для усунення причин утворення статичного заряду застосовуються провідні матеріали для покриття підлоги, панелей, робочих столів, стільців. Для зниження ступеня електризації і підвищення провідності діелектричних поверхонь підтримується відносна вологість повітря на рівні максимально допустимого значення.
Подобные документы
Дослідження етапів розробки програмної реалізації криптографічного алгоритму RC5. Опис об'єкту, що потребує захисту: операційне середовище, тип програмного забезпечення. Блок-схема алгоритму функціонування програми криптозахисту. Листінг тесту програми.
курсовая работа [4,4 M], добавлен 28.10.2010Програмна реалізація алгоритму пошуку найкоротшого шляху між двома будь-якими вершинами графа. Загальні відомості про графи. Особливості роботи в середовищі. Опис структури програми та програмних засобів. Схема програмної реалізації алгоритму Дейкстри.
курсовая работа [676,7 K], добавлен 20.03.2011Історія створення мови С#. Аналіз алгоритмів кодування даних. Розробка системи в середовищі Visual Studio 2008 Express. Схема шифрування алгоритму DES. Дослідження алгоритму RC2. Приклади хешів RIPEMD-160. Програмна реалізація основних процедур системи.
дипломная работа [1,7 M], добавлен 25.10.2012Огляд суті гри "Доміно", характеристика її існуючих програмних реалізацій. Розробка евристичного алгоритму для розв’язання ігрової ситуації "Доміно". Програмна реалізація алгоритму мовою програмування високого рівня C#. Отладка оціночної функції.
курсовая работа [1,4 M], добавлен 14.05.2012Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.
курсовая работа [1,3 M], добавлен 23.06.2010Виділення інформаційних залежностей. Створення віртуальної декартової топології. Визначення розмірів об’єктів та введення вихідних даних. Масштабування та розподілення підзадач між процесам. Множення матричних блоків. Програмна реалізація алгоритму Фокса.
отчет по практике [766,0 K], добавлен 05.06.2015Характеристики вузлів системи автоматичного закривання жалюзі. Розробка схеми електричної функціональної. Блок-схема алгоритму роботи пристрою. Середовище розробки програмної частини пристрою. Основні компоненти розробки програмної частини системи.
курсовая работа [1,0 M], добавлен 06.12.2014Види секретної інформації та методи захисту. Тип і об’єм вхідних даних. Програмна реалізація системи алгоритму шифрування зі стисненням. Призначення та опис програмного продукту Export. Алгоритми захисту зберігання та обміну секретною інформацією.
дипломная работа [1,1 M], добавлен 19.09.2012Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.
курсовая работа [991,4 K], добавлен 06.08.2013Побудова блок-схеми алгоритму проста вставка. Програмна реалізація алгоритму, опис результатів. Особливості обліку ітерації масивів. Відсортування даних за допомогою програми Turbo Pascal. Аналітична оцінка трудомісткості, графічне представлення.
контрольная работа [570,1 K], добавлен 21.05.2014