Utilia

Sandhedstabel-generator

Lav sandhedstabellen for et boolsk udtryk med op til 10 variabler, plus mintermer, maxtermer, kanonisk SOP/POS og kontrol for tautologi.

Operatorer: NOT ! ~ ¬ eller et afsluttende ', AND & * · ∧ (eller blot et mellemrum: A B), OR | + ∨, XOR ^ ⊕, NAND ↑, NOR ↓, -> → for implikation, <-> ↔ for hvis og kun hvis. På dansk virker også og, eller og ikke. Konstanter: 0, 1, sand, falsk. Alle andre navne er variabler (AB er én variabel, skriv A B for A AND B).

Eksempler:

Sådan laver du en sandhedstabel

  1. Skriv dit udtryk i feltet Boolsk udtryk, for eksempel (A og B) -> ikke C, A B' + A' B eller p ↔ q. Knapperne til operatorer indsætter ¬ ∧ ∨ ⊕ ↑ ↓ → ↔ og parenteser ved markøren.
  2. Tabellen opdateres, mens du skriver. Tryk på Enter eller klik på Generér tabel for at opdatere den med det samme.
  3. Vælg Rækkefølge af variabler: Alfabetisk (den sædvanlige lærebogsrækkefølge) eller I rækkefølge efter forekomst i udtrykket.
  4. Under Vis værdier som vælger du 1 og 0 (digital elektronik) eller S og F (logikkurser).
  5. Sæt kryds ved Vis kolonner for deludtryk for at se hvert mellemtrin, for eksempel A ∧ B før ¬(A ∧ B). Det er den opstilling, lærere som regel forventer, når du kontrollerer en formel i hånden.
  6. Aflæs Klassifikation, listerne over mintermer og maxtermer og de kanoniske former under tabellen. Kopiér CSV og Download CSV eksporterer tabellen til et regneark eller en rapport.

Virker i din browser. Intet, du indtaster, sendes til en server.

Understøttet syntaks

Operation Du kan skrive Vises som
NOT ikke A, not A, !A, ~A, ¬A, A' ¬A
AND A og B, A and B, A & B, A && B, A * B, A · B, A ∧ B, A B A ∧ B
OR A eller B, A or B, A + B, A ∨ B A ∨ B
XOR A xor B, A ^ B, A ⊕ B A ⊕ B
NAND / NOR nand, ↑ / nor, ↓ ↑ / ↓
Implikation A implies B, A -> B, A => B, A → B A → B
Ækvivalens A iff B, A xnor B, A <-> B, A <=> B, A ↔ B A ↔ B

OR kan også skrives med en lodret streg: A | B eller A || B. Operatorord skelner ikke mellem store og små bogstaver. På denne danske side virker ordene og, eller og ikke ud over de engelske og franske (et, ou, non), og konstanterne er 0, 1, sand og falsk (samt true og false). Et ord som og tæller kun som operator mellem to operander, og ikke står foran en operand. Alle andre navne er variabler, også enkeltbogstaver som S eller F og navne som x1 eller Lys2. Et navn med flere bogstaver er én variabel: AB er ikke A AND B. Skriv A B, A·B eller A & B for produktet. Operatorord kan ikke bruges som variabelnavne.

Præcedens, fra stærkeste til svageste binding: NOT, derefter AND og NAND, derefter XOR, derefter OR og NOR, derefter implikation og til sidst ækvivalens. Så ¬a ∧ b ∨ c betyder ((¬a) ∧ b) ∨ c. Implikation grupperes fra højre, som i logiklærebøger: a → b → c betyder a → (b → c). Linjen Læst som: viser, hvordan værktøjet har forstået dit input, så du kan kontrollere grupperingen, før du stoler på tabellen.

Mintermer, maxtermer og kanoniske former

Rækkerne nummereres fra 0, og den første variabel er den mest betydende bit. Med variablerne A, B, C er række 5 A = 1, B = 0, C = 1. En minterm er en række, hvor udtrykket er sandt, og listen Σm(…) angiver deres numre. En maxterm er en række, hvor det er falsk, anført som ΠM(…).

Den kanoniske sum af produkter (SOP, disjunktiv normalform) sammenstiller ét AND-led pr. minterm med OR. For XOR giver det (¬A ∧ B) ∨ (A ∧ ¬B). Det kanoniske produkt af summer (POS, konjunktiv normalform) sammenstiller ét OR-led pr. maxterm med AND, hvor hver variabel er negeret, hvis dens bit er 1: (A ∨ B) ∧ (¬A ∨ ¬B). Disse former er fuldstændige, men ikke minimale. Brug dem som udgangspunkt for et Karnaugh-diagram eller Quine–McCluskey-metoden.

Tautologi, kontradiktion eller kontingent

En tautologi er sand i alle rækker, som kontrapositionsloven (p → q) ↔ (¬q → ¬p). En kontradiktion er falsk i alle rækker, som p ∧ ¬p. Alt andet er kontingent. To formler er logisk ækvivalente præcis når formel1 <-> formel2 er en tautologi, hvilket er en hurtig måde at kontrollere en forenkling på.

Ofte stillede spørgsmål

Hvor mange variabler kan jeg bruge?

Op til 10 variabler, hvilket giver 2¹⁰ = 1.024 rækker. Ud over det kan en fuld tabel ikke længere læses, så værktøjet beder dig om at dele udtrykket op.

Hvorfor tæller AB som én enkelt variabel?

Værktøjet accepterer beskrivende navne som dor_aaben eller x1, så bogstaver skrevet sammen danner ét navn. For at gange A og B adskiller du dem med et mellemrum (A B) eller bruger en operator som ·, * eller &.

Kan jeg bruge S og F som værdier?

Som konstanter skriver du 1/0 eller sand/falsk. Bogstaverne S og F behandles som almindelige variabler. For at vise tabellen med S og F i stedet for 1 og 0 vælger du S og F under Vis værdier som.

Hvad betyder A'?

Et afsluttende apostrof er den NOT-notation, der er almindelig i digital elektronik: A' er ¬A, og (A B)' er ¬(A ∧ B). Det binder lige så stærkt som det foranstillede NOT.

Er SOP den enkleste form af mit udtryk?

Nej. Den kanoniske SOP skriver hver minterm fuldt ud og er derfor ofte lang. Den er eksakt og entydig for en given rækkefølge af variabler, hvilket gør den til et pålideligt grundlag for forenkling i hånden eller med et Karnaugh-diagram.

Hvordan evalueres implikation?

A → B er kun falsk, når A er sand, og B er falsk. En falsk forudsætning gør implikationen sand, hvilket overrasker mange studerende i starten.