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.
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.
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.
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.
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.
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!