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); }

