Помощь - Поиск - Пользователи - Календарь
Полная версия: Написать логическое выражение для схемы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
MadDavil
Здравствуйте, форумчане!
Помогите, пожалуйста, написать логическое выражение для логической схемы.
Изображение в прикрепленных файлах. Заранее спасибо!

Нажмите для просмотра прикрепленного файла
Lapp
Я не силен в обозначениях.. Что такое "1"? И что за элемент без названия?..
volvo
Lapp, без названия - инвертор, "1" - ИЛИ...

MadDavil, уточни, в первой схеме действительно одна схема простой AND, а остальные - все с инверсией, или как? Во второй схеме, кстати, тоже.
MadDavil
Цитата(Lapp @ 15.12.2008 1:45) *

Я не силен в обозначениях.. Что такое "1"? И что за элемент без названия?..


"1 с инверсией на выходе" - ИЛИ-НЕ
"1 без инверсии" - ИЛИ
"& с инверсией на выходе" - И-НЕ
"& без инверсии" - И
без обозначения - это инвертор

Вобщем тут такой прикол... сделал я карту состояний, и получаеться что результат на выходе зависит только от значений X3, X4.
X1,X2 вообще не влияет, <просьба оставаться а рамках приличия> что ставить..

Задание стоит так:
1. Написать логическое выражение к схеме
2. Упростить
3. Нарисовать новую (упрощенную) схему и логическое выражение к ней.

Я так понял, элемент там где на входе X1 и X2 вообще оторвать?
Спасибо!

Добавлено через 7 мин.
Цитата(volvo @ 15.12.2008 2:44) *

Lapp, без названия - инвертор, "1" - ИЛИ...

MadDavil, уточни, в первой схеме действительно одна схема простой AND, а остальные - все с инверсией, или как? Во второй схеме, кстати, тоже.


Работаем только со второй картинкой, просто вторая картинки получилась в результате упрощения первой.

Опишу то как я получил данную схему:

Была задача сделать элемент "XOR" только из елементов "AND с инверсией".. И то же самое с элементом "1 (ИЛИ)".

В результате получилась такая схема... Но как я уже говорил выше, входы X1 и X2 вообще ни на что не влияют. И это не ошибка, потому что в оригинал работает также...

В прикрепленных файлах Оригинальная схема что была до этого..

Нажмите для просмотра прикрепленного файла
MadDavil
Вобщем даже не знаю правильно, или нет..

Написал логическое выражение...
Правильно я думаю? Нас интересует только когда на выходах Y1 и Y2 обе единицы?

Упростил, и получилось F = ~X3~X4 + ~x3X4 + X3~X4 (Напомню, что X1 и X2 не влияли на то что получалось на выходах Y1, Y2,
или может я ошибаюсь, проверьте плиз. Ну я их и откинул.).

F = ~X3~X4 + ~x3X4 + X3~X4
Это ж вроде полчуаеться элемент "ИЛИ"? Может ли такое быть, или я вообще не правильно все сделал?
Просто странно, что такая схема упрощаеться к одному элементу "ИЛИ"...
Спасибо!
volvo
Цитата
Но как я уже говорил выше, входы X1 и X2 вообще ни на что не влияют
Ай-яй-яй... По первой картинке - влияют...

Y1 = X3 or ((not X1) and (not X2))
Y2 = (not X4) or (not X3)
(после минимизации картой Карно)
MadDavil
Цитата(volvo @ 15.12.2008 3:29) *

Ай-яй-яй... По первой картинке - влияют...

Y1 = X3 or ((not X1) and (not X2))
Y2 = (not X4) or (not X3)
(после минимизации картой Карно)


Ну я как проверял влияют или нет...
Нарисовал в WorkBench схему и поставил индикаторы на выходах. Менял значения на каждом входе и смотрел...
volvo
Ну, и какая у тебя получилась карта состояний? Вот то, что вышло у меня:
    X1    X2    X3    X4    Y1    Y2
FALSE FALSE FALSE FALSE TRUE TRUE
FALSE FALSE FALSE TRUE TRUE TRUE
FALSE FALSE TRUE FALSE TRUE TRUE
FALSE FALSE TRUE TRUE TRUE FALSE
FALSE TRUE FALSE FALSE FALSE TRUE
FALSE TRUE FALSE TRUE FALSE TRUE
FALSE TRUE TRUE FALSE TRUE TRUE
FALSE TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE FALSE FALSE TRUE
TRUE FALSE FALSE TRUE FALSE TRUE
TRUE FALSE TRUE FALSE TRUE TRUE
TRUE FALSE TRUE TRUE TRUE FALSE
TRUE TRUE FALSE FALSE FALSE TRUE
TRUE TRUE FALSE TRUE FALSE TRUE
TRUE TRUE TRUE FALSE TRUE TRUE
TRUE TRUE TRUE TRUE TRUE FALSE
Кстати, и по рисунку из 4-го поста - то же самое, один в один... Попробуй ты минимизировать эту функцию. Что у тебя получится?
MadDavil


Блин, внатуре зависит. Вот только заметил...
Поморочил всем голову ((

Кстати, а может я не правильно рисунок понял?
Может там выход должен быть только один?
Просто листаю тут книжки и конспект, везде примеры только с одним выходом... Может так имелось ввиду?
volvo
Цитата
Y1, Y2 на выходе TRUE, TRUE при значениях X3, X4 соответственно:
Да с чего ты взял, что
Y1 = F и Y2 = T
Y1 = T и Y2 = F
не надо рассматривать? Почему ты частично выполняешь задачу? Есть у тебя таблица переходом. Как ты ее минимизируешь? Что делаешь с ней? Вручную что-ли проверяешь, что можно "убрать"? Напрасно: есть прекрасно работающие методы... Я для 4-х входов использую уже упомянутую карту Карно... После ее заполнения получается вот что:

Для Y1
		X1
________
X2 | 0 0 0 0
| 1 1 1 1 | X3
1 1 1 1 |
0 0 1 1
________
X4
Для Y2
		X1
________
X2 | 1 1 1 1
| 1 0 0 1 | X3
1 0 0 1 |
1 1 1 1
________
X4
Что дальше делать с этим, знаешь? Как объединяются 1-цы? Вот откуда я и получил то, что написано в моем предыдущем посте.

Добавлено через 1 мин.
Хм... Уже поздно, оказывается smile.gif Ну ладно, может еще кто заинтересуется...
MadDavil
Цитата(volvo @ 15.12.2008 14:16) *

Да с чего ты взял, что
Y1 = F и Y2 = T
Y1 = T и Y2 = F
не надо рассматривать? Почему ты частично выполняешь задачу? Есть у тебя таблица переходом. Как ты ее минимизируешь? Что делаешь с ней? Вручную что-ли проверяешь, что можно "убрать"? Напрасно: есть прекрасно работающие методы... Я для 4-х входов использую уже упомянутую карту Карно... После ее заполнения получается вот что:

Для Y1
		X1
________
X2 | 0 0 0 0
| 1 1 1 1 | X3
1 1 1 1 |
0 0 1 1
________
X4
Для Y2
		X1
________
X2 | 1 1 1 1
| 1 0 0 1 | X3
1 0 0 1 |
1 1 1 1
________
X4
Что дальше делать с этим, знаешь? Как объединяются 1-цы? Вот откуда я и получил то, что написано в моем предыдущем посте.

Добавлено через 1 мин.
Хм... Уже поздно, оказывается smile.gif Ну ладно, может еще кто заинтересуется...



Айй!! Спасибо тебе большое!!! rolleyes.gif

Цитата
Что дальше делать с этим, знаешь? Как объединяются 1-цы?


Неа ((

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

PS: А получиться ли минимизировать эту схему и написать логическое выражение с помощью "Logic Converter" в среде WorkBench?

Спасибо!
volvo
Цитата
Неа ((
Надо объединить все единицы минимальным числом максимальных по площади прямоугольников, не содержащих нулей (прямоугольники должны закрывать только единичные клетки)... Причем прямоугольники могут пересекаться, это неважно, главное - чтобы не закрылись нули, и чтобы были закрыты все единицы.

В первом случае (слева) все получается более чем очевидно: большой прямоугольник в середине (обрати внимание, все значения, лежащие в этом прямоугольнике - при X3 = True, значит, так и пишем в результат: первое слагаемое: X3. Икс-три, в смысле smile.gif ), и квадрат чуть поменьше, внизу слева (этот квадрат содержит значения, соответствующие X1 = False и X2 = False, чтобы это увидеть надо смотреть на красные линии с названиями входных сигналов, линия X3 закрывает только часть квадрата, X4 - тоже, а вот X1 и X2 вообще не "пересекают" границ квадрата. Значит, второе слагаемое - ((not X1) and (not X2)) ). А теперь "складываем" их:
X3 or ((not X1) and (not X2))

Для Y2 получается еще лучше, получаются 2 больших прямоугольника, если учесть что левую границу карты Карно можно совмещаться с правой, а верхнюю - с нижней. Т.е., можно "свернуть" эту плоскую карту в цилиндр... Отсюда и результат: (not X4) or (not X3)

P.S. Перечитал пост - сам бы наверное не разобрался, если б не умел это делать...
MadDavil
Цитата(volvo @ 15.12.2008 16:24) *

Надо объединить все единицы минимальным числом максимальных по площади прямоугольников, не содержащих нулей (прямоугольники должны закрывать только единичные клетки)... Причем прямоугольники могут пересекаться, это неважно, главное - чтобы не закрылись нули, и чтобы были закрыты все единицы.

В первом случае (слева) все получается более чем очевидно: большой прямоугольник в середине (обрати внимание, все значения, лежащие в этом прямоугольнике - при X3 = True, значит, так и пишем в результат: первое слагаемое: X3. Икс-три, в смысле smile.gif ), и квадрат чуть поменьше, внизу слева (этот квадрат содержит значения, соответствующие X1 = False и X2 = False, чтобы это увидеть надо смотреть на красные линии с названиями входных сигналов, линия X3 закрывает только часть квадрата, X4 - тоже, а вот X1 и X2 вообще не "пересекают" границ квадрата. Значит, второе слагаемое - ((not X1) and (not X2)) ). А теперь "складываем" их:
X3 or ((not X1) and (not X2))

Для Y2 получается еще лучше, получаются 2 больших прямоугольника, если учесть что левую границу карты Карно можно совмещаться с правой, а верхнюю - с нижней. Т.е., можно "свернуть" эту плоскую карту в цилиндр... Отсюда и результат: (not X4) or (not X3)

P.S. Перечитал пост - сам бы наверное не разобрался, если б не умел это делать...


Цитата
P.S. Перечитал пост - сам бы наверное не разобрался, если б не умел это делать...


Я вроде бы понял...

Спасибо, дружище!!!
У меня еще пару дней есть, буду сидеть разбираться, ведь защищать то надо smile.gif
А какие книги посоветуешь по этому?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.