Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Отчет о лабораторной работе №2 3 страница




Result() - метод вычисляющий значение выхода.

В классе ComElпереопределены следующие методы: Equals() – метод сравнивает экземпляр данного класса, с указанным в запросе, GetHashCode() – метод переопределения хэш-кода.

 

4) Класс Register состоит в связи ассоциации с классом Program, а также в связи агрегирования с классом Trigger.

Атрибуты класса:

Reg – массив типа Trigger, задает размерность регистра

Input – массив типа bool, содержит значения на соответствующих входах элементов массива типа Trigger.

Qt – массив типа bool, содержит значения внутри триггеров, массив типа Trigger.

 

Методы класса:

SetValue() – метод устанавливает значения на входах регистра.

Параметры: NewValue - массив типа bool.

GetOut() – метод позволяющий опрашивать состояние отдельного входа.

Параметры: Index – типа int, номер входа, Error – типа bool.

Result() – вычисляет значение на выходах регистра.

В классе Register переопределены следующие методы: Equals() – метод сравнивает экземпляр данного класса, с указанным в запросе, GetHashCode() – метод переопределения хэш-кода.

 

5) Класс Program состоит в связях ассоциации с классами ComEl и Registr.

Атрибуты класса:

ArrElem – массив типа Element.

Rg – переменная типа Register.

Reg - переменная типа Register

Reg2 - переменная типа Register

Методы класса:

Main() – метод является точкой входа в программу, обеспечивает интерфейс консольного приложения.

First() – обеспечивает вычисления для класса ComEl.

Second() – обеспечивает вычисления для класса Trigger.

Fird() – обеспечивает вычисления для класса Register.

 

2.2.3 Диаграмма последовательности

 

Диаграмма последовательности для варианта использования: «Вывести значения на выходе элемента» с включённым вариантом «Ввести значения на входах элемента» представлена на рисунке 4, «Опросить заданный вход элемента» с включённым вариантом «Ввести значения на входах элемента» представлена на рисунке 5, Диаграмма последовательности для варианта использования: «Вывести значения на выходах триггера» с включённым вариантом «Ввести значения на входах триггера» представлена на рисунке 6, «Опросить заданный вход триггера» с включённым вариантом «Ввести значения на входах триггера» представлена на рисунке 7, Диаграмма последовательности для варианта использования: «Вывести значения на выходах регистра» с включённым вариантом «Ввести значения на входах регистра» представлена на рисунке 8, «Опросить заданный выход регистра» с включённым вариантом «Ввести значения на входах регистра» представлена на рисунке 9.

Рисунок 4 – Диаграмма последовательности для варианта использования «Вывести значения на выходе элемента» с включённым вариантом

«Ввести значения на входах элемента»

 

Описание диаграммы представленной на рисунке 4.

При запуске программы запускается метод Main() класса Program. После этого пользователь выбирает использование класса «Комбинационный элемент» и запускается метод First(), затем выбирает вариант ввода значений на входах КЭ и вводит эти значения. Далее введенные значения заносятся в массив tmp. После чего вызываем метод класса ComEl SetInp() посредством которого задаем значения входов. Затем пользователь выбирает вариант вывода значения на выходе и на монитор выводится значение на выходе элемента вычисленные и возвратимые методом Result() класса ComEl.

Рисунок 5 – Диаграмма последовательности для вариантов использования «Опросить заданный вход элемента» с включённым вариантом

«Ввести значения на входах элемента»

 

Описание диаграммы представленной на рисунке 5.

При запуске программы запускается метод Main() класса Program. После этого пользователь выбирает использование класса «Комбинационный элемент» и запускается метод First(), затем выбирает вариант ввода значений на входах КЭ и вводит эти значения. Далее введенные значения заносятся в массив tmp. После чего вызываем метод класса ComEl SetInp() посредством которого задаем значения входов. Затем пользователь выбирает вариант опроса заданного входа и на монитор выводятся значение на заданном входе элемента возвратимые методом GetValue() класса ComEl.

Рисунок 6 – Диаграмма последовательности для варианта использования «Вывести значения на выходах триггера» с включённым вариантом

«Ввести значения на входах триггера»

 

Описание диаграммы представленной на рисунке 6.

При запуске программы запускается метод Main() класса Program. После этого пользователь выбирает использование класса «Память» и запускается метод Second(), затем выбирает вариант ввода значений на входах триггера и вводит эти значения. Далее введенные значения заносятся в массив tmp. После чего вызываем метод класса Trigger SetValue() посредством которого задаем значения входов. Затем пользователь выбирает вариант вывода значения на выходах и на монитор выводится значения на выходах триггера вычисленные методом Calculate() и возвратимые методами GetOut() и GetNOut() класса Trigger.

Рисунок 7 – Диаграмма последовательности для варианта использования «Опросить заданный вход триггера» с включённым вариантом

«Ввести значения на входах триггера»

 

Описание диаграммы представленной на рисунке 7.

При запуске программы запускается метод Main() класса Program. После этого пользователь выбирает использование класса «Память» и запускается метод Second(), затем выбирает вариант ввода значений на входах триггера и вводит эти значения. Далее введенные значения заносятся в массив tmp. После чего вызываем метод класса Trigger SetValue() посредством которого задаем значения входов. Затем пользователь выбирает вариант опроса заданного входа и на монитор выводятся значение на заданном входе триггера возвратимые методом GetValue() класса Trigger.

 

Рисунок 8 – Диаграмма последовательности для варианта использования «Вывести значения на выходах регистра» с включённым вариантом

«Ввести значения на входах регистра»

 

Описание диаграммы представленной на рисунке 8.

При запуске программы запускается метод Main() класса Program. После этого пользователь выбирает использование класса «Регистр» и запускается метод Fird(), затем выбирает вариант ввода значений на входах регистра и вводит эти значения. Далее введенные значения заносятся в массив tmp. После чего вызываем метод класса Registr SetValue() посредством которого задаем значения входов. Затем пользователь выбирает вариант вывода значения на выходах и на монитор выводится значения на выходах регистра вычисленные методом и возвратимые методом Result() класса Registr.

 

Рисунок 9 – Диаграмма последовательности для варианта использования «Опросить заданный выход регистра» с включённым вариантом

«Ввести значения на входах регистра»

 

Описание диаграммы представленной на рисунке 9.

При запуске программы запускается метод Main() класса Program. После этого пользователь выбирает использование класса «Регистр» и запускается метод Fird(), затем выбирает вариант ввода значений на входах регистра и вводит эти значения. Далее введенные значения заносятся в массив tmp. После чего вызываем метод класса Registr SetValue() посредством которого задаем значения входов. Затем пользователь выбирает вариант вывода значения на заданном выходе и на монитор выводятся значения на заданном выходе регистра возвратимые методом GetOut() класса Registr.

 


3 Тестирование

 

Для проверки правильности работы и функционирования программы Second был подготовлен тестовый пример. Для того чтобы запустить приложение на выполнение необходимо открыть файл Second.exe, щелкнув на нем дважды левой кнопкой мыши. При запуске программы появляется главное меню, в котором предлагается выбрать для запуска одну из функций системы (Рисунок Б.1).

Для использования класса «Комбинационный элемент» необходимо нажать клавишу «1». Далее для запуска функции установки значений на входах КЭ необходимо нажать клавишу «1» после этого выведется приглашение ввести значения на входах КЭ (Рисунок Б.2), для опроса заданного входа КЭ необходимо нажать клавишу «2» (Рисунок Б.3), для запуска функции вычисления значений на выходе КЭ и просмотра результата необходимо нажать клавишу «3» (Рисунок Б.4). Чтобы выйти в главное меню необходимо нажать клавишу «4».

 

1)Ввести значения на входах КЭ (Рисунок Б.2).

Пользователь должен ввести 4-значное число(таблица 1), состоящее из «1» и «0», что будет соответствовать значениям на каждом из 4 входов комбинационного элемента ИЛИ-НЕ:

 

Таблица 1 - Тестовые входные данные для КЭ ИЛИ-НЕ:

        Out
         

 

2) Вывести значения с определенного выхода (Рисунок Б.3).

Чтобы вывести значение с определенного входа КЭ необходимо нажать клавишу «2». Далее пользователь должен ввести номер входа и нажать «Enter»(Рисунок Б.3).

 

3)Вывести текущие значения на выходе.

Чтобы вывести значения на выходе КЭ необходимо нажать клавишу «3» (Рисунок Б.4). Правильность выходного значения можно проверить по таблице истинности КЭ ИЛИ-НЕ с 4 входами (таблица 2):

Таблица 2 - Таблица истинности КЭ ИЛИ-НЕ с 4 входами

        Out
         

 

Для использования класса «Память» необходимо нажать клавишу «3». Далее для запуска функции установки значений на входах триггера необходимо нажать клавишу «1» после этого выведется приглашение ввести значения на входах триггера (Рисунок Б.5), для опроса заданного выхода триггера необходимо нажать клавишу «2» (Рисунок Б.6), для запуска функции вычисления значений на выходах триггера и просмотра результата необходимо нажать клавишу «3» (Рисунок Б.7). Чтобы выйти в главное меню необходимо нажать клавишу «4».

1)Ввести значения на входах триггера (Рисунок Б.5).

Пользователь должен ввести 2-хзначное число, состоящее из «1» и «0», что будет соответствовать значениям на каждом из 2 входов триггера(таблица 3):

Таблица 3 - Тестовые входные данные для триггера

T Qt Qt+1 Не Q
       

 

2) Вывести значения с определенного выхода.

Чтобы вывести значение с определенного выхода триггера необходимо нажать клавишу «2». Далее пользователь должен ввести номер выхода и нажать «Enter»(Рисунок Б.6). Правильность выходных данных можно проверить по таблице состояний RST-триггера (таблица 4).


3)Вывести текущие значения на выходах.

Чтобы вывести значения на выходах триггера необходимо нажать клавишу «3» (рисунок Б.7). Правильность выходных данных можно проверить по таблице состояний RST-триггера (таблица 4):

Таблица 4 - Состояния RST-триггера

T Qt Qt+1 Не Q
       
       
       
       

 

Для использования класса «Регистр» необходимо нажать клавишу «3». Далее для запуска функции установки значений на входах регистра необходимо нажать клавишу «1» после этого выведется приглашение ввести значения на входах регистра (Рисунок Б.8), для опроса заданного выхода регистра необходимо нажать клавишу «2» (Рисунок Б.9), для запуска функции вычисления значений на выходах регистра и просмотра результата необходимо нажать клавишу «3» (Рисунок Б.10). Чтобы выйти в главное меню необходимо нажать клавишу «4».

 

1)Ввести значения на входах регистра(Рисунок Б.8).

Пользователь должен ввести 8-мизначное число(таблица 5), состоящее из «1» и «0», что будет соответствовать значениям на каждом из 2 входов чеиырех триггеров из которых состоит регистр:

 

Таблица 5 - Тестовые входные данные для регистра

R        
S        

 


2) Вывести значения с определенного выхода.

Чтобы вывести значение с определенного выхода регистра необходимо нажать клавишу «2». Далее пользователь должен ввести номер выхода и нажать «Enter»(Рисунок Б.9). Правильность выходных данных можно проверить по таблице состояний RST-триггера (таблица 4).

 

3)Вывести текущие значения на выходах.

Чтобы вывести значения на выходах регистра необходимо нажать клавишу «3» (рисунок Б.10). Правильность выходных данных можно проверить по таблице состояний T-триггера (таблица 4).

Для выхода из программы необходимо нажать клавишу «4».

В случае ввода не корректного значения в любой части программы, происходит вывод сообщения об ошибке и повторение запроса.

Результат работы программы совпал с ожидаемым, следовательно, программа работает верно.


Выводы

В результате выполнения лабораторной работы было созданы приложения, позволяющие пользователю имитировать комбинационный элемент «ИЛИ-НЕ» с 4 входами, RST - Триггер, и регистр. В соответствии с ожидаемыми результатами и результатом работы программы в тестовом режиме можно сделать вывод, что разработанная программа Second.exe работает верно, а требования задания выполнены в полном объеме.

 


Список используемой литературы:

1. Павловская Т.А. С#. Программирование на языке высокого уровня. Учебник для ВУЗов. – СПб.: Питер, 2009. – 432с.: ил.

2. http://msdn.microsoft.com/ru-ru/library/ms123401.aspx - библиотека MSDN

3. http://Intuit.ru - "Интернет университет информационных технологий"


 

 

ЛИСТИНГ ПРОГРАММЫ

Приложение А

(обязательное)





Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 69; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.045 сек.