1. Valori booleene, operații, expresii. Expresiile booleene ca condiții în algoritmi de ramificare și buclare.

Pentru a înțelege cum funcționează ramificarea și algoritmii ciclici, luați în considerare conceptul de expresie logică.

În unele cazuri, alegerea unei opțiuni într-un program ar trebui să depindă de modul în care valorile unor variabile se raportează între ele.

De exemplu, calculul rădăcinilor unei ecuații pătratice se face diferit în funcție de discriminant (amintiți-vă matematica).

Ca rezultat al comparării valorilor a două expresii, sunt posibile două răspunsuri posibile: comparație cu adevărat sau fals?

De exemplu:

2 + 3\u003e 3 + 1 - da (adevărat)

0 < -5 - нет (ложно)

Vom numi expresii de acest fel expresii logice.

O expresie booleană, ca o expresie matematică, este executată (evaluată), dar rezultatul nu este un număr, ci o valoare booleană: adevărat sau fals. Valoare logicăeste întotdeauna răspunsul la întrebarea dacă o afirmație dată este adevărată.

Știm despre șase operații de comparație:

Cu aceste operații, vom compune expresii logice. Mai mult, expresiile nu conțin neapărat doar constante, ci și variabile.

Modul în care se efectuează operațiile de relație pentru valorile numerice este clar din matematică. Cum se compară valorile simbolice? Egal este adevărat pentru două valori de caractere dacă lungimile lor sunt aceleași și toate caracterele corespunzătoare se potrivesc. Vă rugăm să rețineți că spațiul este, de asemenea, un simbol.

Valorile simbolice pot fi comparate și în relații\u003e,<, >=, <=. Здесь упорядоченность слов (последовательности символов) определяется по алфавитному принципу.

„Pisică” \u003d „pisică”

"pisică"< «лис»

„Pisică”\u003e „acasă”

O expresie constând dintr-o valoare logică sau o relație va fi numită o expresie logică simplă.

Există adesea probleme în care nu se utilizează condiții separate, ci un set de condiții conexe (relații). De exemplu, într-un magazin trebuie să alegeți pantofi, a căror dimensiune este r \u003d 45, culoare \u003d alb, prețul prețului nu depășește 400 de ruble.

Un alt exemplu: un student a aflat că poate cumpăra un baton de ciocolată dacă costă 3 ruble. sau 3 ruble. 50kop.

În primul exemplu avem de-a face cu trei relații legate de conjuncția "și" și de particula "nu", în al doilea - cu două relații legate de conjuncția "sau". Vom numi astfel de condiții constitutiv, iar pentru desemnarea lor în algoritm suntem de acord să folosim conjuncțiile " și", "sau", "nu", pe care le vom considera ca semne ale operațiilor logice care permit crearea condițiilor compuse din condiții simple, la fel cum puteți crea expresii algebrice din variabile și constante simple folosind semnele +, -, etc.

Deci, condițiile exemplelor noastre din algoritm pot arăta astfel:

primul: (r \u003d 45) și (culoare \u003d alb) și (nu (preț\u003e 400))

al doilea: (preț \u003d 3) sau (preț \u003d 3,5)

O expresie care conține operații logice va fi numită o expresie logică complexă.

Combinarea a două (sau mai multe) instrucțiuni într-una folosind uniunea „și” se numește operație multiplicare logică sau conjuncție .

Ca rezultat al multiplicării logice (conjuncție), adevăratul se obține dacă toate expresiile logice sunt adevărate.

Unirea a două (sau mai multe) afirmații care utilizează conjuncția „sau” se numește operație adaos logic sau disjuncție .

Ca urmare a adunării logice (disjuncție), adevăratul se obține dacă cel puțin o expresie logică este adevărată.

Atașarea unei particule „nu” la o instrucțiune se numește operație negare logică sau inversiune .

Negarea schimbă valoarea unui boolean în opus: nu adevărat \u003d fals; nufals \u003d adevărat.

Dacă există mai multe operații logice într-o expresie logică complexă, atunci apare întrebarea în ce ordine le va efectua computerul. În ordinea descrescătoare a priorității, operațiile logice sunt aranjate în următoarea ordine:

    negare ( nu);

    conjuncție ( și);

    disjuncție ( sau).

Parantezele pot fi folosite în expresiile logice. Ca și în cazul formulelor matematice, parantezele afectează fluxul de operații. Dacă nu există paranteze, atunci operațiile sunt efectuate în ordinea priorității.

Exemplu. Fie a, b, c valori logice care au următoarele semnificații: a \u003d adevărat, b \u003d fals, c \u003d adevărat. Este necesar să se determine rezultatele evaluării următoarelor expresii logice:

    a și b

    a sau b

    nu A sau b

    a și b sau c

    a sau b și c

    nu A sau b și c

    (A sau b) și (din sau b)

    nu (A sau b) și (din sau b)

    nu (A și b și c)

Ca rezultat, obținem:

Exemplu... Creați un algoritm pentru calcularea:

Algoritm Calculează x

start
intrare (a, c)
dacă (4 * a - c\u003e \u003d 0) și (a<>0) apoi
start
x: \u003d rădăcină (4 * a - c) / (2 * a)
ieșire (x)
Sfârșit
in caz contrar
concluzie („fără soluție”)
Sfârșit

Computerul va verifica mai întâi starea (4 * a - c\u003e \u003d 0) și (a<>0) și dacă se dovedește a fi adevărat, atunci calculați x, altfel va afișa mesajul „fără soluție”.

Exemplu... Creați un algoritm pentru a calcula suma tuturor numerelor de la 1 la n.

Algoritm Calculul sumei numerelor
variabilele a, c, x sunt reale
start
intrare (n)
x: \u003d 1
la revedere x start
s: \u003d s + x
x: \u003d x +1
Sfârșit
ieșire (e)
Sfârșit

Până la condiția x

O disciplină numită logică matematică este direct legată de programare. Baza logicii matematice este algebra logicii sau calculul propozițional. O afirmație este înțeleasă ca orice afirmație în legătură cu care este posibil să se spună fără ambiguități dacă este adevărată sau falsă. De exemplu, „Luna este un satelit al Pământului” este adevărat; „5\u003e 3” este adevărat; „Moscova este capitala Chinei” este fals; „1 \u003d 0” este fals. Adevărat sau fals sunt valori logice. Semnificațiile logice ale afirmațiilor de mai sus sunt definite în mod unic; cu alte cuvinte, valorile lor sunt constante logice.

Valoarea booleană a inegalității x< 0, где х - переменная, является переменной величиной. В зависимости от значения х оно может быть либо истиной, либо ложью. В связи с этим возникает понятие логической переменной.

El a creat bazele aparatului formal al logicii matematice la mijlocul secolului al XIX-lea. Matematicianul englez George Boole. În onoarea sa, calculul propozițional se numește algebră booleană, iar valorile logice se numesc booleene.

Instrucțiunile unice pot fi combinate în formule logice compuse folosind operații logice.

Sunt trei operații logice principale: negare, conjuncție (multiplicare logică) și disjuncție (adunare logică).

Operațiune de negare notat în logica matematică prin simbolul ¬ și este citit ca o particulă nu. Aceasta este o singură operație.

De exemplu, ¬ (x \u003d y) citește „nu (x este egal cu y)”. Rezultatul este adevărat dacă x nu este egal cu y și fals dacă x este egal cu y. Negarea inversează valoarea booleană.

Operația de conjuncție este notată cu & și este citită ca o particulă și ... Aceasta este o operație cu două paturi. De exemplu, (x\u003e 0) & (x< 1) читается «х больше 0 и х меньше 1». Данная логическая формула примет значение истина, если х (0,1), и ложь - в противном случае. Следовательно, результат конъюнкции - истина, если истинны оба операнда. Semnul operației de disjuncție v citit ca o particulă sau. De exemplu, (x \u003d 0) v (x \u003d 1) citește „x este 0 sau x este 1”. Formula este adevărată dacă x este o cifră binară (0 sau 1). Prin urmare, disjuncția are drept rezultat dacă cel puțin un operand este adevărat.

În Pascal, valorile booleene sunt notate prin cuvintele de serviciu false și adevărate, iar identificatorul de tip boolean este boolean.

Pe lângă valorile (constante și variabile) de tip boolean, valorile booleane false, adevărat acceptă rezultatele operațiilor de relație.

Operațiile de relație (Figura 18) compară doi operanzi și determină dacă relația corespunzătoare dintre ei este adevărată sau falsă.

Operațiile logice sunt efectuate pe operanzi booleeni. Există patru operații logice: Nu - negare; Și - multiplicare logică (conjuncție); Sau - adăugare logică (disjuncție).Pe lângă aceste trei operațiuni obligatorii, Turbo Pascal mai are o operație - exclusiv sau ... Semnul său este cuvântul de serviciu Xor. Este o operație în două locuri care se evaluează la adevărat dacă ambii operanzi au valori logice diferite.

Operațiunile de relație au cea mai mică prioritate. Prin urmare, dacă operanzii unei operații logice sunt relații, atunci ar trebui să fie încadrați între paranteze. De exemplu, următoarea expresie logică corespunde inegalității matematice 1 ≤ х ≤ 50:

(1<=X) And (X<=50)

O expresie logică este o formulă logică scrisă într-un limbaj de programare. O expresie booleană constă din operanzi booleni legați prin operații booleene și paranteze. Expresia logică se evaluează la o valoare booleană (falsă sau adevărată). Operanzii logici pot fi constante booleene, variabile, funcții, operații de relație. Un operand boolean separat este cea mai simplă formă de expresie booleană.

Exemple de expresii logice (aici d, b, c sunt variabile booleene; x, y sunt variabile reale; k este o variabilă întreagă):

Dacă d \u003d adevărat; b \u003d fals; c \u003d adevărat; x \u003d 3,0; y \u003d 0,5; k \u003d 5, atunci rezultatele calculului vor fi după cum urmează:

Exemplul folosește funcția logică odd (k). Este o funcție a unui argument întreg k, care se evaluează la adevărat dacă k este impar și fals dacă k este par.

Operatorul de atribuire logică are structura prezentată în Fig. 19.

Compilat de: E.P. Antonova 2008

Slide 2

Valorile booleene

Valori booleene: concepte exprimate prin cuvinte: ADEVĂRAT, FALS (adevărat, fals). În consecință, adevărul afirmațiilor este exprimat prin valori logice. Constanta booleană: TRUE sau FALSE Variabilă booleană: o valoare booleană simbolică. Dacă A, B, X, Y etc. sunt valori logice variabile, atunci acest lucru înseamnă că pot lua doar valorile ADEVĂRATE sau FALSE. O expresie logică este o afirmație simplă sau complexă. O declarație complexă este construită din cele simple folosind operații logice (conectivități).

Slide 3

Operații logice. Conjuncție

Conjuncție (multiplicare logică). În limba rusă, se exprimă prin uniunea I. În logica matematică, se folosesc semnele & sau / \\. Conjuncție - operație dublă; scrisă sub forma: A / \\ B. Valoarea unei astfel de expresii va fi FALSĂ dacă cel puțin valoarea unuia dintre operanzi este falsă.

Diapozitivul 4

Operații logice. Disjuncție

Disjuncție (adăugare logică). În rusă, această conjuncție corespunde uniunii OR. În logica matematică, este notată de semnul v. Disjuncție - operație dublă; scris ca: A vB. Valoarea unei astfel de expresii va fi ADEVĂRATĂ dacă valoarea a cel puțin unuia dintre operanzi este adevărată.

Diapozitivul 5

Operații logice. Negare

Negare. În limba rusă, acest pachet corespunde particulei NU (în unele afirmații, se folosește sintagma „nu este adevărat că ...”). Negarea este o operațiune unitară (cu un singur loc); scris sub forma: ¬A

Diapozitivul 7

Exemplu

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 cu A afirmația simplă „numărul 6 este divizibil cu 2”, iar cu B afirmația simplă „numărul 6 este divizibil cu 3”. Apoi formula logică corespunzătoare este: A & B. Evident, valoarea sa este ADEVĂRATĂ.

Diapozitivul 8

Reguli pentru efectuarea operațiunilor logice

  • Diapozitivul 9

    Problema 1

    Formulați enunțuri în limbaj obișnuit pentru următoarele expresii logice: 1) (X \u003d 12) și (Y \u003d 12) și (Z \u003d 12); 2) (X 0) sau (Y 0); 3) (X x Y 0); 4) (X x Y x Z 0).

    Diapozitivul 10

    Problema 2

    Determinați valoarea expresiei logice: nu (X\u003e Z) și nu (X \u003d Y), dacă: 1) X \u003d 3, Y \u003d 5, Z \u003d 2; 2) X \u003d 0, Y \u003d 1, Z \u003d 19; 3) X \u003d 5, Y \u003d 0, Z \u003d -8; 4) X \u003d 9, Y \u003d -9, Z \u003d 9.

    Diapozitivul 11

    Problema 3

    Determinați valorile variabilelor logice a, b c, d dacă: 1) a și (Marte este o planetă) este o afirmație adevărată; 2) b și (Marte - planeta) este o afirmație falsă; 3) cu sau (Soarele este un satelit al Pământului) - o afirmație adevărată; 4) d sau (Soarele este un satelit al Pământului) este o afirmație falsă.

    Descrierea prezentării VALORI LOGICE, OPERAȚII, EXPRESII. (CLASA 10) prin diapozitive

    Conceptele de bază ale logicii includ: Enunț Valoare booleană Operații booleene Expresii booleene Formule

    Enunțul (judecata) este o propoziție declarativă în care se afirmă sau se refuză ceva. Se poate spune că orice afirmație este adevărată sau falsă. De exemplu: „Afară plouă” va fi adevărat sau fals în funcție de vremea din acest moment. Adevărul afirmației „Valoarea este mai mare decât”, scris sub formă de inegalitate:\u003e, va depinde de valorile variabilelor și.

    Care dintre propoziții sunt enunțuri? Stabiliți adevărul lor. Cât timp este această casetă? Ascultați mesajul. Fă-ți exercițiile de dimineață! Denumiți dispozitivul de intrare. Cine este absent? Parisul este capitala Angliei. Numărul 11 \u200b\u200beste prim. 4 + 5 \u003d 10. Nu poți scoate un pește din iaz fără dificultate. Adăugați numerele 2 și 5. Unii urși trăiesc în nord. Toți urșii sunt căprui. Care este distanța de la Moscova la Leningrad?

    Valorile booleene sunt concepte exprimate prin cuvintele: ADEVĂRAT, FALS (adevărat, fals). În consecință, adevărul unei afirmații este exprimat prin valori logice. Variabilă booleană: o valoare booleană desemnată simbolic. De exemplu: dacă se știe că A, B, X, Y etc. sunt valori logice variabile, atunci pot lua doar valoarea ADEVĂRAT sau FALS. O expresie logică este o afirmație simplă sau complexă. O declarație complexă este construită pe unele simple folosind operații logice (conectivități)

    Operațiuni logice Conjuncție (multiplicare logică) O operație în două locuri, scrisă ca A și B. Valoarea unei astfel de expresii va fi FALSĂ dacă valoarea a cel puțin unui operand este falsă. Disjuncție (adăugare logică) O operație în două locuri, scrisă ca A V B. Valoarea unei astfel de expresii va fi ADEVĂRATĂ dacă valoarea a cel puțin unui operand este adevărată. Negarea este o operațiune unitară (cu un singur loc). Este scris ca ¬ A sau Ā.

    O formulă logică este o formulă care conține numai valori logice și semne ale operațiilor logice. Rezultatul calculării unei formule logice este ADEVĂRAT sau FALS. Succesiunea operațiilor din formulele logice este determinată de prioritatea 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 utilizate în formulele logice, afectează ordinea în care sunt efectuate operațiile. De exemplu: (A&B) v (Ā & B) v (Ā & B)

    Exemplul 1: Calculați valoarea formulei logice ¬ X & Y v X & Z Dacă variabilele booleene au următoarele valori: X \u003d FALS, Y \u003d TRUE, Z \u003d TRUE. Soluție: Să marcăm cu numere de deasupra ordinea operațiilor din formulă: Folosind tabelul adevărului, calculați formula în pași: 1. ¬ FALS \u003d ADEVĂRAT; 2. ADEVĂRAT & ADEVĂRAT \u003d ADEVĂRAT; 3. FALS & ADEVĂRAT \u003d FALS; 4. ADEVĂRAT FALS \u003d ADEVĂRAT. ¬ X & Y v X & Z

    EXEMPLUL 2 Determinați valoarea expresiei logice: nu (X\u003e Z) și nu (X \u003d Y), dacă: 1) X \u003d 3, Y \u003d 5, Z \u003d 2; 2) X \u003d 0, Y \u003d 1, Z \u003d 19; 3) X \u003d 5, Y \u003d 0, Z \u003d -8; 4) X \u003d 9, Y \u003d -9, Z \u003d 9.

    Funcții logice pe intervalul valorilor numerice Algebra numerelor se intersectează cu algebra logică în acele cazuri când este necesar să se verifice dacă valorile expresiilor algebrice aparțin unui anumit set. De exemplu, apartenența valorii unei variabile numerice X la un set de numere pozitive se exprimă prin enunțul: „X este mai mare decât zero”. Simbolic este scris astfel: X\u003e 0. În algebră, o astfel de expresie se numește inegalitate, iar în logică - o relație. Raportul X\u003e 0 poate fi adevărat sau fals. Dacă X este pozitiv, atunci este adevărat, dacă este negativ, atunci este fals. În general, relația are următoarea structură: Semne de relații: \u003d; ; \u003e; \u003d;<=.

    O atitudine este o afirmație simplă, ceea ce înseamnă o valoare logică. Poate fi la fel de constantă: 5\u003e 0 - întotdeauna ADEVĂRAT, 3 ≠ 6: 2 - întotdeauna FALS; și o variabilă: a 0) sau P (x, y) \u003d (x

    Exemplu: Scrieți un predicat (funcție logică) din două argumente reale X și Y, care vor lua valoarea ADEVĂRAT dacă un punct de pe planul de coordonate cu coordonatele X și Y se află în interiorul cercului de unitate centrat la origine. 1 1 -1 0 Y X Soluție: Din considerații geometrice, este clar că pentru toate punctele situate în interiorul cercului unitar, valoarea următoarei funcții logice va fi adevărată: F (X, Y) \u003d (X 2 + Y 2<1) Для значений координат точек, лежащих на окружности и вне её, значение функции Y будет ложным.

    Expresii booleene în Pascal Constantele booleene: adevărat (adevărat), fals (fals). Variabile boolene: descrise cu tipul boolean. Operații de relație: compară doi operanzi și determină dacă relația corespunzătoare dintre ei este adevărată sau falsă. Semne de funcționare ale relației Operațiuni logice: nu –negare; și - multiplicare logică (conjuncție); sau - adunare logică (disjuncție); xor este o excepție SAU. Tabel de adevăr pentru aceste operații (T- adevărat, F-fals) \u003d; ; \u003e; \u003d;<=. A B not A A and B A or B A xor B T T F T F F F T T

    O expresie logică poate consta din constante și variabile logice, relații, operații logice. Expresia booleană se evaluează la adevărat sau fals. De exemplu, o formulă booleană în Pascal va fi scrisă ca următoarea expresie booleană: nu X și Y sau X și Z, unde X, Y, Z sunt variabile booleene. Variabilele booleene sunt aranjate în următoarea ordine, în ordinea descrescătoare a vechimii (prioritate): 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 ar trebui să fie încadrați între paranteze. De exemplu, următoarea expresie logică corespunde inegalității matematice 1≤ X ≤ 50: (1<=X) and (X<=50)¬ X & Y v X & Z

    Funcția logică impar (x) este o funcție logică pentru determinarea parității argumentului, egală cu adevărat dacă x este impar și egală cu fals dacă x este par; trunc (x) este o funcție întreagă dintr-un argument real care returnează cel mai apropiat număr întreg care nu depășește x în valoare absolută.

    Pentru scrierea corectă a unei expresii logice complexe (predicat), este necesar să se ia în considerare predicatele relative ale aritmeticii, operațiunilor logice și operațiunilor de relații, deoarece toate acestea pot fi prezente într-o expresie logică. În ordinea descrescătoare a priorității, operațiile sunt aranjate în următoarea ordine: 1. Operații aritmetice: -. (minus unar) *, / +, - 2. Operații logice: nu și sau, xor 3. Operații relaționale: \u003d,\u003e, \u003d,<=