Programování C#
Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
Adresa školky | Kostelní 134, 411 08 Štětí | ||
IČ | 46773509 | ||
Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
Označení vzdělávacího materiálu | VY_32_INOVACE_23_PRG_456 | ||
Název tématické oblasti (sady) | Programování | ||
Název materiálu | Logické operátory | ||
Anotace | Text shrnuje poznatky o logických operátorech. Přidává operátor logické negace. Dále předkládá cvičení na procvičení nasazení logických operátorů. | ||
Autor | Ivan Pomykacz | Jazyk | čeština |
Očekávaný výstup | Rozhodne o použití logického operátoru. Používá logické operátory v kódu. | ||
Klíčová slova | logický součet, logický součin, logická negace, výraz, operátor | ||
Druh výukového zdroje | Pracovní list | Věková skupina žáků | 15+ |
Typ interakce | aktivita | Ročník | 1. |
Speciální vzdělávací potřeby | žádné | ||
Zhotoveno, (datum/období) | 21.10.2013 | Celková velikost |
Obsah
Shrnutí
Logické operátory umožňují tvořit komplexnější podmínky, které pak dokážou vlastně jednodušeji popsat daný problém. O čemž jste se mohli přesvědčit v A zároveň a A nebo.
Pravdivostní tabulky
V souvislosti s logickými operátory se uvádějí tzv. pravdivostní tabulky, ve kterých vystupují logický součin, součet a logická negace.
V tabulkách níže se objevuje x
, za které lze dosadit libovolný výraz, jehož výsledkem je buď true
nebo false
.
V tabulce jsou pak uvedeny všechny kombinace, které by mohly nastat včetně výsledku y
.
Logický součin &&
Provedeme-li se všemi x
logický součin, pak výsledkem je y
.
AND - && |
||
x1 | x2 | y |
false |
false |
false |
false |
true |
false |
true |
false |
false |
true |
true |
true |
U logického součinu tedy platí, že právě všechna x
musí být true
, aby i výsledek byl true
.
V příkladu jsou pouze x1..x2
, nicméně tento počet není omezen.
Logický součet ||
Provedeme-li se všemi x
logický součet, pak výsledkem je y
.
OR - || |
||
x1 | x2 | y |
false |
false |
false |
false |
true |
true |
true |
false |
true |
true |
true |
true |
U logického součtu platí, že stačí aby alespoň jedno x
bylo true
, a pak i výsledek je true
.
Logická negace !
Logická negace tzv. neguje (převrátí) pravdivostní hodnotu na její opak.
Tedy z true
udělá false
, a obráceně z false
bude true
.
NOT - ! |
|
x | y |
false |
true |
true |
false |
Oproti logickému součtu nebo součinu má negace právě jeden argument (max jedno x
).
Pokud ovšem použijeme závorky, můžeme negovat výsledek takové závorky, např. !(true || false)
.
Výsledkem bude vždy false
, protože závorka vždy vrátí true
.
Cvičení
Napište program, který bude simulovat "logickou kalkulačku".
Nechť uživatel zadá po sobě dvě čísla 0 nebo 1.
Program pak vyhodnotí logický součin, součet a negaci těchto čísel.
Řešení
Console.WriteLine ("Program: and-or-not v1.0"); string a; string b; Console.Write("Zadej log. 1 nebo 0: "); a = Console.ReadLine(); Console.Write("Zadej ještě jednu log. 1 nebo 0: "); b = Console.ReadLine(); Console.WriteLine("Logický součin - &&"); if (a == "1" && b == "1") { Console.WriteLine("{0} && {1} = 1", a, b); } else { Console.WriteLine("{0} && {1} = 0", a, b); } Console.WriteLine("Logický součet - ||"); if (a == "0" && b == "0") { Console.WriteLine("{0} || {1} = 0", a, b); } else { Console.WriteLine("{0} || {1} = 1", a, b); } Console.WriteLine("Logická negace - &&"); if (a == "1") { Console.WriteLine("{0} ! 0", a); } else { Console.WriteLine("{0} ! 1", a); } if (b == "1") { Console.WriteLine("{0} ! 0", b); } else { Console.WriteLine("{0} ! 1", b); }