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.

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
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
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
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
a = 5
if a < 10 and a > 0:
    print("Pozitív szám ami kisebb mint tíz!")

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
a = 5
if a < 10 or a > 20:
    print("Pozitív szám ami kisebb mint tíz vagy nagyobb mint húsz!")

Igazságtábla

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

Igazságtábla Pythonban

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)

De Morgan-azonosságok

Az első De Morgan azonosság azt mondja, hogy a metszet komplementere pont megegyezik a komplementerek uniójával.

not(notA) = A
not(notB) = B
not(AandB) = notA or notB
not(AorB) = notA and notB