Variabile booleene ale unei expresii. „Valori logice, operații, expresii. Reguli pentru efectuarea operațiilor logice

rostirea (judecata) - este o propoziție declarativă în care se afirmă sau se infirmă ceva. Se poate spune că orice afirmație este adevărată sau falsă. De exemplu:

„Gheața este starea solidă a apei” este o vorbă adevărată.

„Triunghiul este figură geometrică„Este o afirmație adevărată.

„Paris este capitala Chinei” este o afirmație falsă.

6 < 5 - ложное высказывание.

Valori booleene: concepte exprimate prin cuvinte: TRUE, FALSE (adevărat, fals). În consecință, adevărul afirmațiilor este exprimat prin valori logice.

constantă booleană: Adevărat sau fals.

Variabila booleana: o valoare logică desemnată simbolic. Prin urmare, dacă se știe că A, B, X, Y și pr. - valori logice variabile, asta înseamnă că pot lua doar valorile TRUE sau FALSE.

Expresie booleană- o afirmație simplă sau complexă. O declarație complexă este construită din cele simple folosind operații logice (conective).

Operații logice. V logica matematica sunt definite cinci operații logice de bază: conjuncție, disjuncție, negație, implicare, echivalență. Primii trei dintre ei sunt sistem complet operațiuni, ca urmare, restul operaţiilor pot fi exprimate prin ele (normalizate). În informatică, aceste trei operații sunt utilizate în mod obișnuit.

Conjuncție(înmulțire logică). În rusă, se exprimă prin uniunea I. În logica matematică se folosesc semne & sau . Conjuncție - operație dublă; se scrie ca: A V. Valoarea unei astfel de expresii va fi FALSA dacă valoarea a cel puțin unuia dintre operanzi este falsă.

Disjuncție ( adaos logic). În rusă, această conjuncție corespunde uniunii OR. În logica matematică, este notat cu semnul v. Disjuncție - operație dublă; se scrie ca: A v V. Valoarea unei astfel de expresii va fi TRUE dacă valoarea a cel puțin unuia dintre operanzi este adevărată.

Negare.În rusă, acest pachet corespunde particulei NU (în unele afirmații, se folosește expresia „este greșit ceea ce...”). Negația este o operație unară (un loc); se scrie ca: A sau.

Formula booleană (expresie booleană) - o formulă care conține numai valori logice și semne ale operațiilor logice. Formula logică se evaluează la TRUE sau FALSE.

Exemplul 1. Luați în considerare o afirmație complexă: „Numărul 6 este divizibil cu 2, iar numărul 6 este divizibil cu 3”. Prezentați această afirmație ca o formulă logică. Să notăm prin A o afirmație simplă „numărul 6 este divizibil cu 2”, iar după V o simplă zicală „numărul 6 se împarte la 3”. Atunci formula logică corespunzătoare este: A& V. Evident, sensul său este ADEVĂRAT. Exemplul 2. Luați în considerare o afirmație dificilă: „Vara voi merge în sat sau într-o excursie turistică”.


Să notăm prin A o simplă afirmație „la vară voi merge în sat”, iar după V- o simplă afirmație „Vară voi pleca într-o excursie turistică”. Apoi forma logică a unei declarații complexe are forma

Exemplul 3. Luați în considerare zicala: „Nu este adevărat că 4 este divizibil cu 3”.

Să notăm prin A o simplă zicală „4 împărțit la 3”. Atunci forma logică de a nega această afirmație este A

Regulile pentru efectuarea operațiilor logice sunt reflectate în următorul tabel, care se numește tabel de adevăr.

Secvența operațiilor în formule logice este determinată de precedența operațiilor. În ordinea descrescătoare a priorității, operațiile logice sunt aranjate după cum urmează: negație, conjuncție, disjuncție.În plus, parantezele, care pot fi folosite în formule logice, afectează ordinea operației.

Aplicații ale logicii matematice în cursul de bază

Logica matematică în baze de date. Când studiezi curs de bază Studenții la informatică se întâlnesc pentru prima dată cu elemente de logică matematică la tema „Baze de date” (DB). În bazele de date relaționale, valorile logice sunt câmpuri de tip logic. Booleanul este folosit împreună cu alte tipuri de câmpuri, iar elevii ar trebui să învețe să-l evidențieze.

Primul concept al unei valori logice poate fi dat ca răspuns la o întrebare alternativă. De exemplu: „Această carte este în bibliotecă?” sau „Solicitantul a mers la universitate” sau „Afară plouă?” etc. Răspunsurile la astfel de întrebări pot fi doar „da” sau „nu”. Sinonimele sunt „adevăr”, „fals”; "Adevarat fals". Dacă un câmp de tabel acceptă numai astfel de valori, atunci i se atribuie un tip boolean.

De exemplu, bază relațională Această OPȚIUNI conține informații despre elevii care urmează trei cursuri opționale în geologie, floricultură și dans. În limbajul relațional, structura sa este descrisă după cum urmează:

OPȚIUNI (STUDENT... GEOLOGIE, FLORALA, DANS)

Câmpurile GEOLOGIE, FLORĂ și DANSĂ vor fi boolean. O valoare TRUE pentru fiecare câmp indică faptul că studentul participă la opțiunea și FALSE nu.

Expresiile booleene sunt folosite în interogările bazei de date ca termeni de căutare. Expresiile booleene sunt împărțite în simple și complexe. În expresiile simple, se folosește întotdeauna un singur câmp de tabel, iar operațiile booleene nu sunt folosite. Expresiile logice complexe folosesc operații logice. O expresie booleană simplă este fie numele unui câmp boolean, fie atitudine(la matematică se spune „inegalitate”). Relațiile pentru valori numerice păstrează semnificația inegalităților matematice; la calcularea relaţiilor pentru valori simbolice se ţine cont de ordinea lexicografică; datele sunt comparate în ordinea secvenței lor calendaristice.

Problema principală este de a învăța elevii să reprezinte formal condițiile de căutare sub formă de expresii logice. De exemplu, din expresia „găsiți toate cărțile care se află deasupra celui de-al cincilea raft” trebuie să mergeți la expresia logică: SHELF> 5; sau condiția „selectați pe toți cei care nu reușesc la fizică” pentru a reprezenta sub forma: FIZICA< 3; или «выбрать все дни, когда шел дождь» ОСАДКИ = «дождь».

O atenție deosebită trebuie acordată utilizării câmpurilor booleene în condițiile de căutare. De obicei, nu li se aplică nicio relație. Câmpul logic în sine poartă un sens logic: „adevărat” sau „fals”. De exemplu, condiția „selectați toți elevii care participă la dansuri” ar fi reprezentată de un nume al câmpului logic DANS.

Expresiile logice complexe conțin operații logice. Sunt considerate trei operații de bază ale logicii matematice: conjuncție (ȘI), disjuncție (OR), negație (NU).

De obicei, când explică această întrebare, profesorul pleacă de la sensul semantic al enunțurilor în limba rusă care conțin conjuncțiile ȘI, SAU, particula NU. De exemplu, afirmația: „Astăzi va fi un test la algebră ȘI la fizică” este adevărată dacă ambele teste au loc și falsă dacă cel puțin unul nu are loc. O altă afirmație: „Astăzi va fi un test la algebră SAU la fizică” va fi adevărată dacă are loc cel puțin un test. Și, în sfârșit, afirmația: „Astăzi nu va exista control” este adevărată dacă controlul nu are loc, adică dacă afirmația că va exista control astăzi se dovedește a fi falsă. Din astfel de exemple, profesorul trage concluzii despre regulile pentru efectuarea operațiilor logice: dacă A și B - valori booleene, expresia

A și B adevărat numai dacă ambii operanzi sunt adevărati;

A sau V false numai dacă ambii operanzi sunt falși;

Nu A schimbă valoarea unei valori logice la invers: nu este adevărat - fals; nici o minciună nu este un adevăr.

Enunțul (judecata) este o propoziție declarativă în care ceva este afirmat sau negat. Se poate spune că orice afirmație este adevărată sau falsă.

Valori booleene: concepte exprimate prin cuvinte: TRUE (adevărat), FALSE (fals).

Constanta booleană: TRUE (adevărat), FALSE (fals).

Variabilă booleană: o valoare booleană desemnată simbolic. Prin urmare, dacă se știe că A, B, X, Y etc. sunt valori logice, atunci aceasta înseamnă că pot lua doar valorile TRUE sau FALSE.

Expresie booleană: o declarație simplă sau complexă. Instructiunile complexe sunt construite din cele simple folosind operatii logice (conective).

Operații logice

Conjuncție (înmulțire logică). În rusă, este exprimat prin unirea lui I.

În logica matematică se folosesc semnele &. Conjuncția este o operație cu două locuri, scrisă sub forma A ^ B (A, B sunt operanzi). Valoarea unei astfel de expresii va fi FALS dacă cel puțin unul dintre operanzi este fals.

Disjuncția (adunarea logică). În rusă, este exprimat de uniunea OR.

În logica matematică se folosesc semnele Disjuncția - o operație cu două locuri, scrisă sub forma AB. Valoarea unei astfel de expresii va fi TRUE dacă cel puțin unul dintre operanzi este adevărat.

Negare. În rusă, este exprimat de uniunea NU (în unele declarații se folosește o cifră de afaceri - nu este adevărat că ...).

În logica matematică se folosesc semnele Negație - o operație unară (unară), scrisă sub forma A sau.

Formula logică (expresie logică) - o formulă care conține numai valori logice și semne ale operațiilor logice. Formula logică se evaluează la TRUE sau FALSE. În formulele logice, TRUE este adesea reprezentat ca 1, FALSE ca 0.

Regulile pentru efectuarea operațiilor logice sunt reflectate în tabelul de adevăr.

Tabelul adevărului

Secvența de execuție a operațiilor logice în formule logice este determinată de precedența operațiilor. Cea mai veche operație este negația (se realizează mai devreme decât altele), apoi vine conjuncția (e) și apoi disjuncția (sau).

Logică

Circuitele booleene sunt o modalitate convenabilă de a reprezenta expresii logice. Așa sunt prezentate cele trei operații logice principale în astfel de diagrame.

Acest tabel folosește următoarele convenții:

1 - adevărat, 0 - fals și, sau, operații non-logice.

Exemplul 1: Desenați un circuit pentru o expresie booleană 1 sau 0 și 1. Apoi evaluați valoarea expresiei booleene.

Soluție: Schemă - Calcul:

Exemplul 2: Dana diagrama logica... Construiți o expresie booleană. Apoi evaluați valoarea expresiei booleene.

Soluție: Având în vedere o schemă -

Să compunem formula - (1 sau 0) și 1. Să calculăm valoarea conform schemei 1 sau 0 = 1,

atunci 1 și 1 = 1. Deci (1 sau 0) și 1 = 1.

Informații logice și elementele de bază ale logicii


Ați întâlnit deja elemente de logică matematică în cursul de informatică din școala de bază, explorând modalități de a scrie interogări de baze de date și funcții condiționate. DACĂîn foile de calcul, elementele de bază ale algoritmilor și programării. Să trecem în revistă conceptele de bază ale logicii pentru a-ți aprofunda și mai mult cunoștințele despre utilizarea acesteia pentru programare.

Conceptele de bază ale logicii includ: instrucțiune, valoare booleană, operații booleene, expresii și formule booleene.

rostirea (judecata) este o propoziție declarativă în care ceva este afirmat sau infirmat. Se poate spune că orice afirmație este adevărată sau falsă.

De exemplu, afirmația „Afară plouă” va fi adevărată sau falsă în funcție de condițiile meteo. acest moment... Adevărul afirmației „Valoarea lui A este mai mare decât B”, scrisă sub formă de inegalitate: A> B, va depinde de valorile variabilelor A și B.

Valori booleene- concepte exprimate prin cuvinte: TRUE, FALSE (adevărat, fals). Prin urmare, adevărul afirmaţiilor se exprimă prin valori logice.

constantă booleană: Adevărat sau fals.

Variabila booleana: o valoare logică desemnată simbolic. Prin urmare, dacă se știe că A, B, X, Y etc. sunt valori logice variabile, atunci înseamnă că pot lua doar valorile TRUE sau FALSE.

Expresie booleană- o afirmație simplă sau complexă. O declarație complexă este construită din cele simple folosind operații logice (conective).

Operații logice

Conjuncție (înmulțire logică)... În rusă, se exprimă prin uniunea I. În logica matematică se folosesc semnele & sau ∧. Conjuncție - operație dublă; se scrie sub forma: A & B. Valoarea unei astfel de expresii va fi FALSA daca valoarea a cel putin unuia dintre operanzi este falsa.

Disjuncția (adunarea logică).În rusă, această conjuncție corespunde uniunii OR. În logica matematică, este notat prin semn v. Disjuncție - operație dublă; se scrie sub forma: A v B. Valoarea unei astfel de expresii va fi ADEVĂRAT dacă valoarea a cel puţin unuia dintre operanzi este adevărată.

Negare.În rusă, acest pachet corespunde particulei NOT (în unele afirmații, se folosește expresia „nu este adevărat că...”). Negația este o operație unară (un loc); scris sub forma: ¬ A sau Ā.

Regulile pentru efectuarea operațiilor logice considerate sunt reflectate în următorul tabel, care se numește tabelul de adevăr al operațiilor logice (aici AND înseamnă „adevărat”, L - „fals”):

Formula logică- o formulă care conține numai valori logice și semne ale operațiilor logice. Formula logică se evaluează la TRUE sau FALSE.

Secvența operațiilor în formule logice este determinată de precedența operațiilor. În ordinea descrescătoare a priorității, operațiile logice sunt aranjate după cum urmează: negație, conjuncție, disjuncție ... În plus, parantezele, care pot fi folosite în formule logice, afectează ordinea în care sunt efectuate operațiile.

De exemplu: (A & B) v (¬ A & B) v (¬ A & ¬ B).

Exemplu. Calculați valoarea unei formule logice:

¬ X și Y v X și Z,

dacă variabilele booleene au următoarele semnificații: X= FALS, Y= ADEVĂRAT, Z= ADEVĂRAT.

Soluţie. Să marchem cu numerele de deasupra ordinea operațiilor în formula:

Folosind tabelul de adevăr, să calculăm formula pas cu pas:

1) FALS = ADEVĂRAT; 2) TRUE & TRUE = ADEVĂRAT; 3) FALS & ADEVĂRAT = FALS; 4) ADEVĂRAT v FALS = ADEVĂRAT. Răspuns: ADEVĂRAT.

Funcții logice pe gama de valori numerice

Algebra numerelor se intersectează cu algebra logicii în acele cazuri în care este necesar să se verifice dacă valorile expresiilor algebrice aparțin unei anumite mulțimi. De exemplu, apartenența valorii unei variabile numerice X la un set de numere pozitive este exprimată prin rostirea: „X este mai mare decât zero”. Simbolic se scrie astfel: X> 0. În algebră, o astfel de expresie se numește inegalitate. În logică, este o atitudine.

Relația X> 0 poate fi adevărată sau falsă. Dacă X este o valoare pozitivă, atunci este adevărată, dacă este negativă, atunci este falsă. În termeni generali, relația are următoarea structură:

< выражение 1 > < знак отношения > < выражение 2 >

Aici expresiile 1 și 2 sunt câteva expresii matematice care iau valori numerice. Într-un caz particular, expresia poate fi o constantă sau o variabilă. Semnele de relație pot fi după cum urmează:

Deci, o atitudine este o simplă afirmație și, prin urmare, o valoare logică. Poate fi la fel de constantă: 5> 0 - întotdeauna ADEVĂRAT, 3 * 6: 2 - întotdeauna FALS; și o variabilă: a< b, х + 1 = с - d. Если в отношение входят переменные числовые величины, то и значение отношения будет логической переменной.

O relație poate fi gândită ca o funcție logică a argumentelor numerice. De exemplu: F (x) = (x> 0) sau P (x, y) = = (x< у). Аргументы определены на бесконечном множестве действительных чисел, а значения функции - на множестве, состоящем из двух логических величин: ИСТИНА, ЛОЖЬ.

Funcțiile logice din argumente numerice sunt numite și termen predicat... În algoritmi, predicatele joacă rolul de condiții în funcție de care sunt construite ramuri și bucle. Predicatele pot fi fie funcții logice simple care nu conțin operații logice, fie cele complexe care conțin operații logice.

Exemplul 1. Scrieți un predicat (funcție logică) din două argumente reale X și Y, care va lua valoarea TRUE dacă un punct din planul de coordonate cu coordonatele X și Y se află în interiorul cercului unitar centrat la origine (Fig. 3.12).

Din considerente geometrice, este clar că pentru toate punctele aflate în interiorul cercului unitar, valoarea următoarei funcții logice va fi adevărată:

F (X, Y) = (X 2 + Y 2< 1).

Pentru valorile coordonatelor punctelor situate pe și în afara cercului, valoarea funcției F va fi falsă.

Exemplul 2. Scrieți un predicat care va lua valoarea TRUE dacă un punct din planul de coordonate cu coordonatele X și Y se află în interiorul unui inel cu centrul la origine și razele R1 și R2.

Deoarece valorile lui R1 și R2 sunt valori variabile, funcția logică necesară va avea patru argumente: X, Y, R1, R2. Sunt posibile două situații:

1) R1 2< X 2 + У 2 < R2 2 и R1 < R2: R1 - внутренний радиус, R2 - внешний радиус;

2) R2 2< X 2 + У 2 < R1 2 и R2 < R1: R2 - внутренний радиус, R1 - внешний радиус.

Combinând ambele afirmații prin disjuncție și notându-le conform regulilor algebrei logicii, obținem următoarea funcție logică:

F (X, Y, R1, R2) = (((X 2 + Y 2)> R1 2) & ((X 2 + Y 2)< R2 2) & R1 < R2) v (((X 2 + У 2) >R2 2) și ((X 2 + Y 2)< R1 2) & R2 < R1).

Exemplul 3. Scrieți un predicat care va lua valoarea TRUE dacă un punct din planul de coordonate cu coordonatele X și Y se află în interiorul figurii delimitate de linii aldine din Fig. 3.13.

Figura este delimitată de trei granițe descrise de ecuațiile:

Y = -X - marginea stângă, funcție liniară;

Y = 1 - limita superioară, constantă;

Y = X 2 - marginea dreaptă, parabolă.

Regiunea luată în considerare este intersecția a trei semiplanuri descrise de inegalitățile:

La punctele interioare, toate aceste trei relații sunt simultan adevărate. Prin urmare, predicatul necesar are forma:

F (X, Y) = (Y> -X) și (Y< 1) & (У >X 2).

Expresii booleene în Pascal

S-a spus deja că Pascal are un tip de date boolean.

Constante booleene: Adevărat(Adevărat), fals(Minciuna).

Variabile booleene: descris cu tip boolean.

Operațiuni de relație: comparați cei doi operanzi și stabiliți dacă relația corespunzătoare dintre ei este adevărată sau falsă. Semne de operație de relație: = (egal),<>(nu este egal),> (mai mare decât),< (меньше), >= (mai mare sau egal),<= (меньше или равно).

Operatii logice: nu- negație, și- înmulțire logică (conjuncție), sau- adiție logică (disjuncție), хоr- exclusiv sau. Tabelul de adevăr pentru aceste operații (T - Adevărat; F - fals):

Expresie booleană poate consta din constante booleene și variabile, relații, operații booleene. Expresia booleană este evaluată drept adevărat sau fals.

De exemplu, formula logică ¬ X & Y v X & Z în Pascal va fi scrisă ca următoarea expresie logică:

nu X și Y sau X și Z,

Unde X, Y, Z- variabile de tip boolean.

Operațiile logice sunt aranjate în următoarea ordine, în ordinea descrescătoare a priorității (priorității): 1) nu, 2) și, 3) sau, xor... Operațiunile de relație au cea mai mică prioritate. Prin urmare, dacă operanzii unei operații logice sunt relații, atunci aceștia ar trebui să fie încadrați în paranteze. De exemplu, următoarea expresie logică corespunde inegalității matematice 1 ≤ X ≤ 50:

(1 <= Х) și(NS<= 50)

Funcția logică impar (x) capătă sensul Adevărat dacă valoarea argumentului întreg NS este ciudat, altfel - fals.

Pentru a scrie corect o expresie logică complexă (predicat), este necesar să se țină cont de prioritățile relative ale aritmeticii, operațiilor logice și operațiilor de relații, deoarece toate acestea pot fi prezente într-o expresie logică. În ordinea descrescătoare a priorității, operațiunile sunt aranjate în următoarea ordine.

1. Operații aritmetice: - (minus unare) *, / +, - 2. Operații logice: nu și sau, xor 3. Operatii ale relatiei: =,<>, >, <, >=, <=

Rețineți din nou că într-o expresie booleană care se potrivește cu predicatul din Exemplul 3:

(Y> -X) și(Y< 1) și(Y> X * X),

operațiile de relație sunt incluse în paranteze deoarece sunt mai tinere decât operațiile logice și ar trebui efectuate mai devreme.


Întrebări și sarcini

1. Ce tip de valoare se obține la calcularea raportului (inegalității) dintre numere?

2. Ce este un predicat? Dă exemple.

3. Notați în limbajul algebrei logice funcțiile logice care vor lua valoarea TRUE dacă următoarele afirmații sunt adevărate și FALS în caz contrar:

A) toate numerele X, Y, Z sunt egali unul cu celălalt; b) din numere X, Y, Z doar doi sunt egali; c) fiecare dintre numere X, Y, Z pozitiv; d) doar unul dintre numere X, Y, Z pozitiv; e) valorile numerelor X, Y, Z ordonate în ordine crescătoare.

4. Toate formulele obţinute în rezolvarea problemei anterioare, se notează sub formă de expresii logice în Pascal.

5. Construiți un tabel de adevăr pentru o formulă logică:

¬X și Y v X și Z.

Explicaţie:în tabelul de adevăr, valorile formulei trebuie calculate pentru toate variantele valorilor variabilelor logice: X, Y, Z... Prin urmare tabelul va conține 2 3 = 8 rânduri și 4 coloane: valori X, Y, Z si rezultatul. Coloane suplimentare pot fi adăugate la tabel pentru a conține rezultatele operațiilor intermediare.

6. Calculați valorile următoarelor expresii booleene scrise în Pascal:

Explicatii: impar (x)- functia logica de determinare a paritatii argumentului, este egala cu Adevărat dacă x este impar și este egal cu fals dacă x este par; trunchi (x)- o funcție întreg dintr-un argument real care returnează cel mai apropiat număr întreg care nu depășește x în valoare absolută.

Programare de ramificație