його параметрів (параметри і їх діапазони представлені в таблиці 2.2). У разі якщо дані коректні, то питання додається в об'єкт тіста і триває робота. Якщо ж дані введені викладачем в питання не є коректними, то виводиться оповіщення про некоректність введених даних і повторюється їх введення.
Рисунок 3.2 - Алгоритм створення і додавання питання
3.3 Алгоритм запису тесту в файл
В алгоритмі записи об'єкта тесту в файл (малюнок 3.3) спочатку йде цикл від 0 до кількості тем у тесті. Усередині цього циклу в файл записується кількість питань в темі. Далі починається внутрішній цикл від 0 до кількості питань в темі. У ньому спочатку записується назва типу питання, а потім сам питання в файл. Після цього внутрішній цикл закривається, а після нього закривається зовнішній цикл. Після чого продовжується робота.
Малюнок 3.3 - Алгоритм запису тесту в файл
3.4 Алгоритм генерації тестового квитка
В алгоритмі генерації тестового квитка (малюнок 3.4) спочатку створюється об'єкт квитка і йому присвоюється унікальний номер. Далі відкривається цикл від 0 до кількості питань у квитку. Усередині цього циклу перевіряється розмір безлічі на рівність кількістю тем в обраному тесті. Якщо дорівнює, то множину вибраних тим обнуляється, якщо ні, то без обнулення цієї множини відбувається наступне дію, а саме генерація випадкового числа в діапазоні від 0 до кількості тем у обраному тесті. Далі відбувається перевірка цього числа на наявність його в безлічі обраних тем, якщо він там є, то генерація відбувається знову. Якщо його там немає, то воно додається в це безліч і вибирається ця тема для подальшого вибору питання з неї. На наступному етапі відбувається перевірка на рівність розміру безлічі обраних питань з раніше обраної теми та загальної кількості питань у даній темі. Якщо вони рівні, то множину вибраних питань обнуляється. Якщо ні, то без обнулення цієї множини відбувається наступне дію - генерація випадкового числа в діапазоні від 0 до кількості питань в даній темі. Якщо це число є в безлічі обраних питань, то виконується повторна генерація цього числа. Якщо його немає в цій множині, то воно додається в цю множину. Далі перевіряється, чи є питання під цим номерів відкритого типу, якщо так, то він просто додається в об'єкт квитка. Якщо питання закритого типу, то для нього генеруються варіанти відповіді і він також додається в об'єкт квитка. Далі цикл закінчується і продовжується робота.
Малюнок 3.4 - Алгоритм генерації тестового квитка
3.5 Алгоритм відправки квитка
В алгоритмі відправки квитка (малюнок 3.5) спочатку виконується відправка кількості питань у квитку і унікального ідентифікатора квитка. Далі починається цикл від 0 до кількості питань у квитку - 1, в якому спочатку виконується відправка типу питання. Далі відправляється питання. Далі перевіряється, відправився Чи питання, якщо так, то цикл закінчується і продовжується робота. Якщо питання не був відправлений, то видається запит на повторну відправку. Якщо користувач вибирає не відправляти, то видаляються особиста інформація студента і згенерований квиток.
Малюнок 3.5 - Алгоритм відправки квитка
3.6 Алгоритм введення особистої інформації
В алгоритмі введення особистих даних (малюнок 3.6) спочатку відбувається безпосередньо введення цих даних (опис і діапазони представлено в таблиці 2.1, що надаються студентом). Далі відбувається перевірка цих даних. Якщо вони коректні, то відбувається їх збереження і продовження роботи. У разі невідповідності вимогам видається запит на повторне введення.
Малюнок 3.6 - Алгоритм введення особистої інформації
3.7 Алгоритм відправлення запиту на новий квиток
В алгоритмі відправлення запиту на квиток (малюнок 3.7) спочатку відправляється запит з особистою інформацією. Якщо ця інформація не відправилася, то виконується запит на повторну відправку.
Малюнок 3.7 - Алгоритм відправлення запиту на новий квиток
3.8 Алгоритм отримання квитка
На початку алгоритму прийому квитка (малюнок 3.8) виконується отримання кількості питань у квитку і унікального ідентифікатора квитка. Далі починається цикл від 0 до кількості питань у квитку - 1. Усередині нього виконується прийом типу питання, а потім самого питання. Після цього питання зберігається в об'єкті квитка. Після цього закінчується цикл і продовжується робота.
Малюнок 3.8 - Алгоритм отримання квитка
3.9 Алгоритм тест...