- •1. Вступ
- •2. Аналіз предметної області 2.1. Обґрунтування аналізу предметної області
- •2.2. Обгрунтування вибору мови
- •2.3. Особливості діаграм станів
- •3. Проектування програмного блоку
- •3.1 Проектування системи
- •3.2. Управління часом
- •4. Кабінка з закритими дверима, щасливе обличчя відсутня. При висадці пасажира застосовується зворотний порядок.
- •3.3. Діаграма станів для програми elev
- •3.4. Стратегія роботи ліфтів
- •4. Реалізація програмного блоку мовою с# в технології .Net
- •4.1. Результати тестування
- •4.2. Створення компонента
- •5. Розробка інструкції користувачеві.
4. Реалізація програмного блоку мовою с# в технології .Net
4.1. Результати тестування
При запуску ви побачите чотири ліфти, які знаходяться внизу екрану, а також вертикальний список чисел зліва від 1 до 20, що збільшуються знизу вгору. Спочатку всі ліфти на першому поверсі. Ліфт позначений трьома символами WWW. Це все зображено на рис. 1.
Рис. 1. Початковий стан програми ELEV
Запит поверху:
При введенні символу «!» І натисненні Enter внизу екрану з'явиться текст:
На якому Ви поверсі? Можна ввести будь-яке число від 1 до 20. Якщо ви тільки що приїхали на роботу і мають намір піднятися до свого робочого місця, натискайте 1, якщо поспішайте спуститися на обід зі свого поверху, введіть його номер.Наступне, про що запитає програма, це:
В якому напрямку будете рухатися (u / d):
Підказка: якщо ви на першому поверсі, вам, швидше за все, треба вгору (u); якщо на останньому - вниз (d). Після введення «u» відображається символ «^». Після введення «d» - символ «v».
По мірі виникнення інших запитів зірочка буде з'являтися поряд з номерами запитуваних поверхів. Якщо ліфт знаходиться там же, де і ви, його двері негайно відкриються.
Що стосується програми, то перед вашими очима постане щасливе обличчя (☺) офісного працівника, призахідного усередину. Інакше ліфт почне рухатися вгору або вниз (це відбувається при натисненні на "Enter"), поки не досягне поверху, з якого був зроблений запит.
Введення кінцевого пункту подорожі ( поверх призначення )
Поки щасливий пасажир знаходиться всередині ліфта, потрібно швиденько поцікавитися в нього, куди це він зібрався їхати:
Ліфт 1 знаходиться на поверсі 1.
Введіть номери поверхів призначення (або 0 для закінчення введення)
Поверх призначення 1-й: 13
Пасажир ввів 13. Але поки він роздумував, куди він хоче покататися, прийшли ще пасажири і стали натискати різні кнопочки в ліфті, всім адже потрібно на різні поверхи! Тому програма повинна позвле ввести декілька номерів поверхів. Введіть кілька номерів (не більше 20), потім натисніть 0 для закінчення введення.
Пункти призначення, зазначені пасажирами, відображаються символом зірочка "*". Кожен ліфт має свій набір пунктів призначення (на відміну від запитів з вихідних поверхів, загальних для всіх ліфтів). Запитів з різних поверхів можна робити скільки завгодно. Програма запам'ятає їх, як і вибрані з кожного ліфта поверхи призначення, і буде намагатися обслужити всіх. Всі чотири ліфти можуть бути од- новременно в русі. На рис. 2 показана ситуація з одним запитом з 1-го поверху і декількома запитами пунктів призначення: поверхи 10, 15 і 19-й.
а
б
в
Рис. 2. Ліфти у дії:
а - три пасажири в 1-му ліфті W ☺ W на 1-му поверсі;
б - один пасажир перемістився в 1-му ліфті W ☺ W на 10-й поверх;
в - інший пасажир перемістився на 15-й поверх і виходить з 1-го ліфта WW ☺, одночасно 2-й ліфт з одним пасажиром переміщається на 13-й поверх;