Tajemný stroj na čokoládu

Úloha Bobříka informatiky z roku: 2020 , kategorie: Kadet
obtížnost: Lehká, kód úlohy: 2020-KR-08
autor: Jihye Kim

Kuba vynalezl tajemný stroj na čokoládu. Jak můžeme vidět na obrázku, stroj má nahoře 2 otvory.

 

 

Co by měl Kuba nalít do horních otvorů, tak abychom si byli jisti, že spojením tří strojů podle obrázku vyteče do sklenice mléko?

Odpovědi
čokoláda, mléko
čokoláda, čokoláda
Správná odpověď
mléko, mléko
mléko, čokoláda
Nechci odpovídat

Zdůvodnění správné odpovědi

K vytvoření mléka je potřeba, aby do obou horních otvorů spodního stroje tekla čokoláda. Proto musí Kuba do obou horních rozdělovačů nalít mléko. Jak se mléko mění, můžeme podrobně vidět na obrázku. Správná odpověď je tedy mléko, mléko.

Protože nevíme nic o tom, co se stane, když do každého z otvorů nalejeme jinou kombinaci nápojů, nemůžeme si být jisti, že do sklenice vyteče požadovaný nápoj.

Co má tato úloha společného s informatikou

Elektrické obvody, které obdrží jednu nebo více logických hodnot, provádí s nimi operace a vytvářejí jednu logickou hodnotu, se nazývají logické obvody. Logické operace jsou AND (A), OR (NEBO), NOT (NE) a NAND (opačný výstup funkce AND)

  • A NAND B = NOT (A AND B)

Zajímavé je, že všechny logické operace se dají vyjádřit pomocí NAND:

  • NOT A = A NAND A
  • A AND B = (A NAND B) NAND (A NAND B)
  • A OR B = (A NAND A) NAND (B NAND B)

V naší otázce bílé mléko vyjadřuje logickou hodnotu 0, čokoláda vyjadřuje 1 a stroj na mléko je funkce NAND. Když nalijeme bílé mléko (0) do obou otvorů (vstupů) získáme čokoládu. 0 NAND 0 = 1.

Přesně řečeno, v zadání úlohy nemáme popsáno, co se stane, když nalejeme do jednoho otvoru mléko a do druhého čokoládu. Pokud by stroj na mléko byl funkce NAND, pak by v těchto případech také vznikla čokoláda: 0 AND 1 = 0, opačným výstupem je 1. Kdybychom se ale rozhodli, že čokoláda je 0 a mléko 1, pak by smícháním mléka a čokolády vzniklo vždy mléko.
Jak je důležité vše přesně pojmenovat a popsat!