dum | žák

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í
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

pdf icon
And, Or, Not

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