Kihagyás

Vezérlési szerkezetek

Matematikai kondíciók

Művelet Jelölés Operátor
(szigorúan) Nagyobb \(>\) >
Nagyobb egyenlő \(\geq\) >=
Kisebb \(<\) <
Kisebb egyenlő \(\leq\) <=
Pontosan egyenlő \(=\) ==
Nem egyenlő \(\neq\) !=

Matematikai kondíciók igazságértéke

A matematikai kondíciók az általánosságban vett matematikai műveleteket jelentik. Ezek a műveletek minden esetben kiértékelődnek és egy igazságértéket fognak felvenni.

Vegyünk pár példát:

Állítás Kiértékelés Eredmény
\(5 > 3\) Az 5 nagyobb mint a 3? Igen, ez igaz.
\(5 < 3\) Az 5 kisebb mint a 3? Nem, ez hamis.
\(3 \geq 3\) A 3 nagyobb vagy egyenlő mint 3? Igen, ez igaz.
\(3 > 3\) A 3 nagyobb mint a 3? Nem, ez hamis.

Matematikai kondíciók folyamatábrája

    graph TD;
        subgraph Általános kondíció
            A1[Kondíció vizsgálata] --> B1{Igaz?};
            B1 -->|Igen| C1[Kiértékelés: True];
            B1 -->|Nem| D1[Kiértékelés: False];
        end

        subgraph Konkrét példa
            A2[5 > 3] --> B2{Igaz?};
            B2 -->|Igen| C2[Kiértékelés: True];
            B2 -->|Nem| D2[Kiértékelés: False];
        end

        style C2 fill:#8f8,stroke:#333,stroke-width:2px;

Feltételezes vezérlés

Ha állítás

Feltétel szabása az if szóval történik, amely egy logikailak kiértékelhető állítást tartalmaz. A matematikai kondíciók eredménye logikai igaz vagy logikai hamis lesz.

1
2
3
4
5
a = 33
b = 200

if (b > a):
    print("b nagyobb mint a")

A fenti példa esetében a print csak akkor fog lefutni ha az állítás értéke igaz, tehát b szigorúan nagyobb mint a.

Vagy ha állítás

A vagy ha állítás előtt mindenképpen szükséges egy ha állítás.

1
2
3
4
5
6
7
a = 33
b = 200

if (b > a):
    print("b nagyobb mint a")
elif (a == b):
    print("b egyenlő a-val")

Vagy ha minden más esetben

A vagy minden más esetben akkor fog lefutni ha a fenti feltételek közül egyetlen egy sem teljesült.

1
2
3
4
5
6
7
8
9
a = 33
b = 200

if (b > a):
    print("b nagyobb mint a")
elif (a == b):
    print("b egyenlő a-val")
else:
    print("minden más: b nem nagyobb mint a és b nem egyenlő a-val")

Konnektívák

A logikai feladatok megoldásához a Boole-algebrát használjuk, amely lehetőséget ad arra, hogy a logikai kapcsolatokat matematikai úton kezeljük.

Kételemű Boole-algebra felvehető értékek:
0 = False
1 = True

Ítéletkalkulus Halmazelmélet
és ^ metszet
vagy v unió
nem not komplementer

ÉS konnektíva

Abban az esetben ha kettő vagy több feltételnek egyszerre kell teljesülnie, akkor ÉS kötöszót használunk. Az ÉS csak akkor teljesül ha a bal oldal és jobb oldal is igaz.

1
2
3
4
a = 5

if (a < 10 and a > 0):
    print("Pozitív szám ami kisebb mint tíz!")

Magyarázat

A következő kifejezést vizsgáljuk meg: \(a < 10 \quad \text{and} \quad a > 0\)

Ez egy logikai kifejezés, amely két feltételből áll.


Bal oldal: \(a < 10\): Az \(a\) értéke kisebb, mint \(10\).

Behelyettesítve az \(a\) változó értékével, azaz \(5\)-tel: \(a < 10 = 5 < 10 \Rightarrow \text{True}\).


Jobb oldal: \(a > 0\): Az \(a\) értéke nagyobb, mint \(0\).

Behelyettesítve az \(a\) változó értékével, azaz \(5\)-tel: \(a > 0 = 5 > 0 \Rightarrow \text{True}\).


Kiértékelés:

\(\text{True} \quad \text{and} \quad \text{True} \quad = \quad \text{True}\)

VAGY konnektíva

Abban az esetben, ha kettő vagy több feltétel közül legalább az egyiknek kell teljesülnie, akkor VAGY kötöszót használunk. Az VAGY csak teljesül ha a bal oldal vagy a jobb oldal bármely tagja igaz.

1
2
3
4
a = 5

if (a < 10 or a > 20):
    print("Pozitív szám ami kisebb mint tíz vagy nagyobb mint húsz!")

Magyarázat

A következő kifejezést vizsgáljuk meg: \(a < 10 \quad \text{or} \quad a > 20\)

Ez egy logikai kifejezés, amely két feltételből áll.


Bal oldal: \(a < 10\): Az \(a\) értéke kisebb, mint \(10\).

Behelyettesítve az \(a\) változó értékével, azaz \(5\)-tel: \(5 < 10 \Rightarrow \text{True}\).


Jobb oldal: \(a > 20\): Az \(a\) értéke nagyobb, mint \(20\).

Behelyettesítve az \(a\) változó értékével, azaz \(5\)-tel: \(5 > 20 \Rightarrow \text{False}\).


Kiértékelés:

\(\text{True} \quad \text{or} \quad \text{False} \quad = \quad \text{True}\)

Igazságtábla

Az igazságtábla egy táblázat, amelyben a logikai műveletek eredményeit mutatja be. Ezekben az esetekben az A szerepét egy konkrét állítás veszi fel (pl. a < 10), míg a B szerepét egy másik állítás (pl. a > 20).

A B AND OR XOR
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
A B AND OR XOR
False False False False False
False True False True True
True False False True True
True True True True False

Igazságtábla Pythonban

A fentiekben bemutatott táblázatot bármikor leellenőrizhetjük Pythonban is. Ehhez válasszu ki az A és B értékeit, majd próbáljuk ki az alábbi kóddal!

Példa

Ebben a példában a táblázat második sorát fogjuk leellenőrizni.

1
2
3
4
5
6
7
8
a = 0 # False
b = 1 # True

es = a and b
vagy = a or b
kizarovagy = a ^ b

print(a, b, es, vagy, kizarovagy)