Проект № 2 (11_pr_pol)

Практические работы для 11 класса (по учебнику К.Ю. Полякова, Е.А. Еремина)


Проект № 2
«Иерархия классов (логические элементы)»



1. Используя материалы § 50 учебника, постройте модуль, описывающий иерархию классов логических элементов. Для проверки его работы напишите программу, которая строит таблицу истинности последовательного соединения логических элементов «И» и «НЕ».

2. Добавьте в иерархию классов элементы «исключающее ИЛИ», «И-НЕ» и «ИЛИ-НЕ». Вынесите всю построенную систему классов логических элементов в отдельный модуль LogElement.

3. «Соберите» в программе RS-триггер из двух логических элементов «ИЛИ-НЕ», постройте его таблицу истинности (обратите внимание на вариант, когда оба входа нулевые).

4. *Постройте новый класс TNOrTrigger, моделирующй RS-триггер на двух логических элементах «ИЛИ-НЕ». От какого класса лучше наследовать этот класс? Почему?

Ответ:

Как лучше включить в этот класс два элемента «ИЛИ-НЕ»? Будете ли вы использовать для этого наследование?

Ответ:

5. *Выполните задания 3-4 для RS-триггера на двух логических элементах «И-НЕ». Определите, при каких входах состояние сохраняется, а какие входные сигналы запрещены.

Ответ:

6. *Постройте логический элемент «шифратор», который выдает на выходы двоичное представление номера входа, на который подали сигнал. Обозначение и таблица истинности шифратора «4 в 2» показаны ниже:

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

а) по таблице истинности составьте логическую схему шифратора; постарайтесь использовать минимальное число логических элементов;
б) добавьте в программу новый класс – модель шифратора (англ. coder), в которой будут использованы уже имеющиеся классы логических элементов;

Будете ли вы использовать наследование? Почему?

Ответ:


в) напишите программу, которая строит таблицу истинности шифратора, используя построенную модель.

7. *Постройте модель логического элемента «дешифратор» (англ. decoder), который выполняет обратную операцию. Напишите программу, которая строит его таблицу истинности.







Наверх