Hoe een waarheidstabel te compileren voor een complexe Booleaanse expressie

Vandaag zullen we proberen uit te leggen hoe te makenwaarheidstabel voor logische expressie. Houd er rekening mee dat Booleaanse algebra voorkomt in ten minste drie taken van het uniforme staatsexamen. Als je dit artikel leest, krijg dan zeker meer punten op het examen in de informatica.

operaties

Voordat we een waarheidstabel samenstellen, raden we aan om kennis te maken met de bewerkingen van de Booleaanse algebra.

We beginnen onze kennismaking met de functie van ontkenning. Het wordt ook wel inversie genoemd. Laten we een voorbeeld geven: de uitdrukking "Ik ga vandaag naar de bioscoop". We passen er een inversie op aan, met als resultaat dat we: "vandaag ga ik niet naar de bioscoop".

hoe een waarheidstafel te maken

Laten we het nu hebben over de vermenigvuldigings- en optelfuncties,in de Booleaanse algebra hebben ze respectievelijk namen - conjunctie en disjunctie. Stel dat ons wordt gezegd: "je gaat naar de bioscoop als je de lessen leert en de vuilnis opruimt." In dit voorstel vervult de vakbond "And" de functie van conjuncties voor combinatie en "IF".

Het logische gevolg is een ander complexeen logica-bewerking die twee uitdrukkingen bevat: een toestand en een gevolg. Als het zin is vertaald in het Russisch, is de zin ongeveer als volgt gestructureerd: "als ik tijd heb om literatuur te leren, dan zal ik naar de bioscoop gaan". Het deel van de zin vóór de komma is een voorwaarde en na de komma de consequentie.

Nu kort over de equivalentiefunctie ofgelijkwaardigheid. In dit geval is het vrij moeilijk om een ​​parallel te trekken met de Russische taal. Voor equivalentie is het de moeite waard eraan te denken dat als de twee invoeruitdrukkingen onjuist of waar zijn, het resultaat positief is, dat wil zeggen, gelijk is aan één.

algoritme

Nu zullen we praten over hoe een waarheidstabel voor de computerwetenschap te creëren, of beter gezegd, we zullen het algoritme van onze acties bespreken.

hoe een waarheidstafel te maken voor de informatica

Om een ​​tabel te compileren, moet u eerst beslissen over het aantal cellen, kolommen en rijen. We zullen alles in fasen doen.

  • Bepaal het aantal rijen. Om dit te doen, is het noodzakelijk om te berekenen hoeveel variabelen zijn opgenomen in de uitdrukking, en bouw een twee in dit getal. Bijvoorbeeld, hoe maak je een waarheidstabel, of zoek je het aantal regels voor een uitdrukking met drie variabelen op? We bouwen twee tot de derde graad en krijgen er acht. Zonder caps hebben we acht regels nodig.
  • Om het aantal kolommen te bepalen,we moeten de bewerkingen in deze uitdrukking tellen en nummeren. In de uitdrukking neA * C + B zijn er bijvoorbeeld slechts drie bewerkingen. De eerste is ontkenning, de tweede is vermenigvuldiging, de derde is optelling. Dit betekent dat we drie kolommen nodig hebben om de waarden van de bewerkingen in te vullen. Maar het is noodzakelijk om rekening te houden met het feit dat onze uitdrukking uit drie variabelen bestaat, en we moeten hun mogelijke combinaties invullen, we voegen drie extra kolommen toe. Totaal blijkt het 6.
  • Ga vervolgens naar de opsomming van mogelijke combinaties van variabelen en het vullen van de tabel. Houd rekening met de prioriteit van bewerkingen.

Eerste voorbeeld (drie variabelen)

Wij bieden u het volgende probleem aan: bereken hoeveel combinaties voldoen aan de voorwaarde F = 1 uitdrukking: (nonA + B) * nonC + A. En nu over het maken van een waarheidstabel voor het oplossen van het probleem. We gebruiken een gecompileerd algoritme van acties.

  1. Aantal regels = 9 (acht combinaties van variabelen + één regel - de kop van de tabel).
  2. De prioriteit van functies: 1 is inversie, 2 is toevoeging tussen haakjes, 3 is inversie C, 4 is vermenigvuldiging, 5 is optelling.
  3. Aantal kolommen = 8.
  4. De tafel opmaken en vullen.

Uitdrukking A

Uitdrukking B

Uitdrukking C

Operatie # 1

Operatie # 2

Operatie # 3

Operatie # 4

Operatie # 5

-

-

-

+

+

+

+

en

-

-

+

+

+

-

-

L

-

+

-

+

+

+

+

en

-

+

+

+

+

-

-

L

+

-

-

-

-

+

-

en

+

-

+

-

-

-

-

en

+

+

-

-

-

+

-

en

+

+

+

-

-

-

-

en

  1. Het antwoord op de vraag vinden.
  2. Neem het antwoord op. Antwoord: 6. Merk op dat in de voorwaarden van de opdracht wordt gevraagd hoeveel combinaties zijn voldaan, maar dat niet wordt gevraagd om ze te vermelden.

Tweede voorbeeld (4 variabelen)

We nodigen je uit om de vraag te overwegen: hoe maak je een waarheidstabel voor de formule: A * B * HeC + D? Welk aantal combinaties komt overeen: F = 0.

hoe een waarheidstabel te maken voor de formule
We handelen op hetzelfde algoritme. Het aantal rijen in ons geval neemt toe tot 17 en het aantal kolommen tot 8. De prioriteit van bewerkingen:

  1. A * B;
  2. HEC;
  3. vermenigvuldiging van de resultaten van de eerste en tweede operaties;
  4. de toevoeging is het resultaat van de derde bewerking en de waarde van de variabele D.

We raden aan dat u probeert de tabel zelf te compileren en in te vullen en de resultaten in dit gedeelte van het artikel te bekijken.

Variabele a

Variabele in

Variabele c

Variabele d

Vermenigvuldigen (1)

Inversie (2)

Vermenigvuldigen (3)

Toevoeging (4)

-

-

-

-

-

+

-

-

-

-

-

+

-

+

-

+

-

-

+

-

-

-

-

-

-

-

+

+

-

-

-

+

-

+

-

-

-

+

-

-

-

+

-

+

-

+

-

+

-

+

+

-

-

-

-

-

-

+

+

+

-

-

-

+

+

-

-

-

-

+

-

-

+

-

-

+

-

+

-

+

+

-

+

-

-

-

-

-

+

-

+

+

-

-

-

+

+

+

-

-

+

+

+

+

+

+

-

+

+

+

+

+

+

+

+

-

+

-

-

-

+

+

+

+

+

-

-

+

Uit de resulterende tabel concluderen we: aan deze voorwaarde is voldaan door 7 verschillende combinaties van variabelen.