(20 pontos) Uma agência bancária, com expediente de 10 h até 16 h, tem 2 gerentes (representados por G1 e G2). Por motivos de segurança, cada gerente possui uma chave do cofre, cuja abertura está submetida a restrições de tempo. Durante o expediente, qualquer gerente pode abrir o cofre; entretanto, fora do expediente, é preciso a presença de ambos. O quadro apresenta os valores lógicos de duas variáveis ( T_{16} e T_{10} ) que permitem identificar o horário de funcionamento.
T_{16}
T_{10}
Horário
0
0
Antes do expediente
(0 \mathrm{~h}-10 \mathrm{~h})
0
1
Durante o expediente
(10 \mathrm{~h}-16 \mathrm{~h})
1
1
Após o expediente
(16 \mathrm{~h}-24 \mathrm{~h})
1
0
Impossível
A partir das quatro entradas \mathrm{G} 1, \mathrm{G} 2, \mathrm{~T}_{16} e \mathrm{T}_{10}, elabore uma função booleana que forneça um sinal A tal que:
Passo 1
O enunciado pede uma função booleana A (saída) que indica quando o cofre pode ser aberto, a partir das entradas G_1, G_2, T_{16} e T_{10}. Vou listar claramente o que cada combinação de T_{16} e T_{10} significa (essas informações vêm do quadro do enunciado):
\,T_{16}=0,\\ T_{10}=0: Antes do expediente (das 0h até 10h).
\,T_{16}=0,\\ T_{10}=1: Durante o expediente (das 10h até 16h).
\,T_{16}=1,\\ T_{10}=1: Após o expediente (das 16h até 24h).
\,T_{16}=1,\\ T_{10}=0: Estado “Impossível” (não ocorre).
O enunciado também diz (vou escrever exatamente as regras que a função A deve implementar):
Durante o expediente: qualquer gerente pode abrir o cofre → basta G_1 OU G_2.
Fora do expediente (ou seja, antes ou depois): é preciso a presença de ambos → é preciso G_1 E G_2.
Para o estado impossível, o enunciado não exige comportamento específico; posso tratar como “don’t care” ou atribuir um valor prático. Vou escolher uma definição consistente que torne a expressão simples (vou explicar essa escolha mais adiante).
Passo 2
Vou traduzir em expressões lógicas as três situações válidas:
Durante (\overline{T_{16}}\,T_{10}): saída deve ser G_1 \lor G_2.
Antes (\overline{T_{16}}\,\overline{T_{10}}): saída deve ser G_1 \land G_2.
Depois (T_{16}\,T_{10}): saída deve ser G_1 \land G_2.
Aqui usei a notação:
\overline{X} para negação de X,
justaposição (ou \cdot) para AND,
\lor para OR,
\land para AND quando escrever por extenso.
Passo 3
Construo a expressão booleana combinando os casos (forma soma de produtos):
A = (\overline{T_{16}}\,T_{10})\,(G_1 \lor G_2)\;+\;(\overline{T_{16}}\,\overline{T_{10}} + T_{16}\,T_{10})\,(G_1 \land G_2).
Explicando cada termo:
O primeiro termo ativa G_1\lor G_2 somente no caso “durante”.
O segundo termo ativa G_1\land G_2 quando estamos “antes” ou “depois”; note que \overline{T_{16}}\,\overline{T_{10}} + T_{16}\,T_{10} é a soma lógica dos dois estados fora do expediente.
Passo 4
Observação sobre o estado impossível (T_{16}=1,T_{10}=0): no enunciado esse estado é marcado como “Impossível”. Em lógica combinacional prática podemos tratar esse caso como “don’t care” e escolher uma saída que simplifique a expressão. Se optarmos por não usar a liberdade de don’t-care, a expressão anterior já define A corretamente nos três estados válidos; para o estado impossível a expressão abaixo (após simplificação) dará um valor bem definido (isso é aceitável). Vou seguir simplificando assumindo que não precisamos forçar um comportamento especial para o caso impossível.
Passo 5
Vamos simplificar a expressão algébrica. Parto da forma do Passo 3:
A = (\overline{T_{16}}\,T_{10})(G_1 \lor G_2) + (\overline{T_{16}}\,\overline{T_{10}} + T_{16}\,T_{10})(G_1 G_2).
Note que G_1 G_2 já está contido em G_1 \lor G_2 (ou seja, G_1\lor G_2 = G_1 G_2 \lor (G_1\oplus G_2)), então podemos verificar se uma forma mais compacta funciona. Uma tentativa natural é colocar um termo geral G_1 G_2 somado ao termo do período de expediente:
A \stackrel{?}{=} G_1 G_2 \;+\; (\overline{T_{16}}\,T_{10})(G_1 \lor G_2).
Vou checar este candidato nos três casos válidos:
Antes (\overline{T_{16}}\,\overline{T_{10}}): o fator \overline{T_{16}}\,T_{10} é zero, então A = G_1 G_2 — correto.
Durante (\overline{T_{16}}\,T_{10}): o fator é 1, então A = G_1 G_2 + (G_1 \lor G_2) = G_1 \lor G_2 — correto (pois G_1\lor G_2 engloba G_1 G_2).
Depois (T_{16}\,T_{10}): o fator é zero, então A = G_1 G_2 — correto.
Portanto a forma acima é equivalente à expressão do Passo 3 nos três estados válidos. No estado impossível (T_{16}=1,T_{10}=0) ela dá A=G_1 G_2, que é uma escolha válida e consistente (o enunciado não exige outro comportamento).
Passo 6
Escrevendo a expressão final de forma clara e compacta:
A = G_1 G_2 \;+\; (\overline{T_{16}}\,T_{10})(G_1 \lor G_2).
Explicação didática do que isso significa:
O termo G_1 G_2 garante que, fora do expediente (antes ou depois), ambos os gerentes sejam necessários.
O termo (\overline{T_{16}}\,T_{10})(G_1 \lor G_2) ativa a condição “basta um gerente” apenas durante o expediente.
A soma lógica (+) corresponde a um OR entre esses blocos; se qualquer bloco for verdadeiro, A fica 1.
Passo 7
Como implementar isso com portas lógicas (pauta prática para a prova):
Uma porta AND para G_1 G_2.
Uma porta AND para \overline{T_{16}}\,T_{10} (use uma inversora para \overline{T_{16}} e depois AND com T_{10}).
Uma porta OR para G_1 \lor G_2.
Uma porta AND final para multiplicar \overline{T_{16}}\,T_{10} com G_1 \lor G_2.
Uma porta OR final que une G_1 G_2 e o resultado anterior, produzindo A.
Passo 8
Dicas para a prova (resumo prático, mentalidade amiga):
Sempre traduza “durante” e “fora” para expressões com T_{16} e T_{10} antes de montar a função.
Verifique os casos válidos separadamente e depois combine com soma de produtos.
Se houver um estado marcado como “impossível”, você pode tratá-lo como don’t-care para simplificar, ou atribuir um valor prático como fiz aqui; justifique na resposta.
Memorize a técnica: montar expressão por casos e depois simplificar é rápido e seguro sob pressão.
Resposta
A = G_1 G_2 \;+\; (\overline{T_{16}}\,T_{10})(G_1 \lor G_2)