Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2009, 16:25   #1
stellavin
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 11
По умолчанию Описать работу тригера

1. Описать базовый класс Элемент.
Закрытые поля:
• имя элемента (строка символов);
• количество входов элемента;
• количество выходов элемента.
Методы:
• конструктор класса без параметров;
• конструктор, задающий имя и устанавливающий равным 1 количество входов и выходов;
• конструктор, задающий значения всех полей элемента.
Свойства:
• имя элемента (только чтение)
• количество входов элемента
• количество выходов элемента
2. На основе класса Элемент описать произвольный класс Комбинационный, представляющий собой комбинационный элемент (двоичный вентиль) который может иметь несколько входов и один выход.
Поле – массив значений входов.
Методы:
• конструкторы;
• метод, задающий значение на выходах экземпляра класса;
• метод, позволяющий опрашивать состояние отдельного входа экземпляра класса;
• метод, вычисляющий значение выхода (по варианту задания).
3. На основе класса Элемент описать производный класс Память, представляющий собой триггер. Триггер имеет входы, соответствующие типу триггера (см. далее вариант задания) и входы установки сброса. Все тригеры считаются синхронными, сам синхровход в состав триггера не включается.
Поля:
• массив значений входов объекта класса, в массиве учитываются все входы (управляющие и информационные);
• состояние на прямом входе триггера;
• состояние на инверсном выходе триггера;
Методы:
• конструктор (по умолчанию сбрасывает экземпляр класса);
• конструктор копирования;
• метод, задающий значения на входах экземпляра класса;
• метод позволяющий опрашивать состояние отдельного выхода экземпляра класса;
• метод вычисляющий состояние экземпляра класса (по варианту задания) в зависимости от текущего состояния и значений на входах;
• метод, переопределяющий операцию == для экземпляров класса
4. Создать класс Регистр, используя класс Память как вложенный класс.
Поля:
• состояние входа «Сброс» - один для экземпляра класса;
• состояние входа «Установка» - один для экземпляра класса;
• массив типа Память заданной в варианте размерности;
• массив(массивы) содержащий значения на соответствующих входах элементов массива типа Память.
Методы:
• метод, задающий значение на входах экземпляра класса;
• метод, позволяющий опрашивать состояние отдельного выхода экземпляра класса;
• метод, вычисляющий значение нового состояния экземпляра класса.
Все поля классов Элемент, Комбинационный и Память должны быть описаны с ключевым словом private.

В задании описаны только обязательные члены и методы класса. Можно задавать дополнительные члены и методы, если они не отменяют обязательные и обеспечивают дополнительные удобства при работе с данными классами, например, описать функции вычисления выхода/состояния как виртуальные.

Вариант задания:
Коммбинационный элемент: МОД2
Число входов: 5
Триггер: D
Разрядность регистра: 10

Что то у меня с этим заданием небольшой напряг, даже с теми элементами, которые описаны. Можете оказать помощь в написании программы?
stellavin вне форума Ответить с цитированием
Старый 23.12.2009, 15:17   #2
StuDDenT
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 24
По умолчанию

Пока еще в объектно-ориентированном программировании опыта мало, но вот решил попробовать тебе помочь и заодно попрактиковаться, вообщем вот что у меня получилось : Все в Schematic.rar
Вложения
Тип файла: rar Schematic.rar (265.9 Кб, 83 просмотров)
StuDDenT вне форума Ответить с цитированием
Старый 23.12.2009, 19:21   #3
stellavin
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 11
По умолчанию

Вот моя наработка. Просто у каждого свой метод решения, и наверно никто рзбираться не будет. Но всеже, у меня косяк с выводом(постоянно один и тот же результат). В чом может быть проблема?
Вложения
Тип файла: rar LabRab9.rar (30.5 Кб, 56 просмотров)
stellavin вне форума Ответить с цитированием
Старый 23.12.2009, 19:39   #4
stellavin
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 11
По умолчанию

А как сделать, чтобы для хранения экземпляров разработанных классов использовать стандартные параметризированные коллекции. Во всех класах реализовать интерфейс IComparable и перегрузить операции отношения для реализации значимой семантики сравнения объектов по какому-либо полю
stellavin вне форума Ответить с цитированием
Старый 23.12.2009, 22:00   #5
StuDDenT
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от stellavin Посмотреть сообщение
А как сделать, чтобы для хранения экземпляров разработанных классов использовать стандартные параметризированные коллекции. Во всех класах реализовать интерфейс IComparable и перегрузить операции отношения для реализации значимой семантики сравнения объектов по какому-либо полю
Думаю List<T> + реализовать интерфейс IComparable, и все, у тебя будет сортироваться твой массив List<T> без перегрузки операций сравнения.
StuDDenT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите описать sol`ka Общие вопросы C/C++ 0 21.12.2009 16:05
помогите описать Класс joker815 Помощь студентам 10 29.09.2009 00:02
Помогите описать фаервол... Sorrowing Общие вопросы C/C++ 4 06.07.2009 00:23
Описать модули SASHA19 Помощь студентам 3 26.03.2009 16:01
вставка в тело тригера INTITY_INSERT Pitbull SQL, базы данных 0 21.02.2008 23:45