Tabulkový procesor
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_02_PVY_027 | ||
Název tématické oblasti (sady) | Programové vybavení | ||
Název materiálu | Když | ||
Anotace | Použití logických funkcí. Tvorba výrazů s použitím operátorů porovnání. Práce s logickým součinem a součtem. Zápis výrazů do buněk. | ||
Autor | Ivan Pomykacz | Jazyk | čeština |
Očekávaný výstup | Rozumí konstrukci výrazů a jejich návratové hodnotě a tomu, jak ji lze využít v řídících konstrukcích. Vyhodnotí výraz. Použije operátory porovnání pro sestavení výrazu. Rozumí logickému součinu a součtu. Použije vhodné funkce ve vzorcích. | ||
Klíčová slova | logické funkce, výrazy, operátor porovnání, logický součin, logický součet | ||
Druh výukového zdroje | Výklad | Věková skupina žáků | 15+ |
Typ interakce | aktivita | Ročník | 2. |
Speciální vzdělávací potřeby | žádné | ||
Zhotoveno, (datum/období) | 02.10.2013 | Celková velikost |
Obsah
- Pravda nepravda
- Výrazy
- Operátory porovnání
- Funkce KDYŽ
- Logický součet a součin
- Studenti - pokračování Cvičení II
Pravda nepravda
Programy dělá zajímavější to, že mohou konat rozhodnutí na základě vstupních argumentů. Lze si pod tím představit např. to, že program bude kontrolovat uživatelem zadávaná čísla. Pokud bude číslo větší jak nula, zobrazí se informace o tom, že zadané číslo je kladné. A obráceně, číslo menší jak nula, zobrazí se "číslo je záporné". (A co když bude zadané číslo 0?)
Kdykoli provádí program nějaké rozhodnutí, rozhoduje se mezi dvěma stavy: "pravda" a "nepravda". Žádné "možná" neexistuje.
To znamená, že vyhodnocovaný výraz může být buď pravda a nebo nepravda. Též si lze představit stav 0 a 1.
Výrazy
-
Výrazem může být prakticky cokoli.
číslo
funkce
adresa buňky
výpočet (např. 1+2)
porovnávání čísel (např. 1>2)
kombinace vše právě uvedeného dohromady, např. (1+2)>SUMA(A2;B2)
-
Tabulkový procesor se pak rozhoduje, zda-li výraz je pravda nebo nepravda, dle těchto pravidel:
-
Je-li výsledná hodnota buňky kladné nebo záporné číslo, výsledek je pravda.
-
Je-li výsledná hodnota buňky nula nebo prázdná buňka, výsledek je nepravda.
-
Operátory porovnání
Patrně je znáte už z matematiky, ale přeci jen pro úplnost toho, jak vypadají v tabulkovém procesoru.
-
=
.. rovná se -
>
.. je větší -
>=
.. je větší nebo rovno -
<
.. je menší -
<=
.. je menší nebo rovno -
<>
.. je různý od (nerovná se)
Funkce KDYŽ
-
Na obrázku výše jste si mohli všimnout použití funkce KDYŽ().
Funkce když má 3 argumenty.
- podmínka je výraz, který se bude vyhodnocovat.
- ano je hodnota, která se vrátí v případě, že výsledek podmínky je "pravda".
- ne je hodnota, která se vrátí v případě, že výsledek podmínky je "nepravda".
V našem případě je podmínka pouze odkaz na buňku vlevo (a ta obsahuje pouze číslo). Návratová hodnota funkce KDYŽ() je v tomto případě textový řetězec, resp. v obou případech (ano, ne, tedy "pravda", "nepravda").
-
Vrátíme-li se teď zcela na začátek tohoto textu, můžeme implementovat detekci záporných a kladných čísel.
Mála chybka se vloudila - číslo 0 bylo označeno jako záporné. To lze vyřešit např. dalším zanořením funkce KDYŽ().
Logický součet a součin
-
Tvorba podmínek může být i sofistikovanější. Jedna podmínka může obsahovat několik výrazů, které se pomocí pravdivostní logiky spojí do jedné "velké" pravdy nebo nepravdy.
To, jak se rozhodne o výsledku závisí na tom, jaký je vztah mezi jednotlivými podmínkami. Např. má-li být splněna alespoň jedna z podmínek, a nebo právě všechny.
-
Např. zjišťujeme, kdo má nárok na vyznamenání. Pro získání vyznamenání musí být splněny dvě podmínky. Průměr známek nesmí být vyšší jak 1.5, a zároveň žádná ze známek nesmí být horší jak 2.
-
Jiný příklad. Sčítáme osoby, které dojíždějí denně do školy nebo zůstávají na internátě.
-
-
Pokud při sestavování podmínek používáte spojení "a zároveň", pak jde o tzv. logický součin (AND).
Naopak pokud spojujete podmínky slovem "nebo" pak jde o logický součet (OR).
Samozřejmě při sestavování podmínek lze použít jak logický součin, tak logický součet dohromady.
-
Tabulkový procesor disponuje funkcemi A() a NEBO(), které vrací buď pravda nebo nepravda, dle vstupních argumentů, což jsou ony dílčí podmínky.
Závěrem, dokážete vytvořit tyto pravdivostní tabulky pro funkce A() a NEBO()? Argumentem funkcí jsou právě vstupy A, B. U druhé tabulky je navíc přidána funkce KDYŽ, díky které se zobrazí výsledek 1 nebo 0 (dle pravdivosti výrazu).
Studenti - pokračování Cvičení II
-
Vložme do mezi sloupce N a O nový sloupec. Pravým tlačítkem myši klikněte na záhlaví sloupce O a z kontextové nabídky zvolte "vložit buňky"
-
Do nového sloupce "Vyznamenání" zapíšeme vzorec, který rozhodne, zda-li má student nárok na vyznamenání či nikoli.
Jde o kombinaci dvou podmínek (jak již bylo popsáno výše), žák nesmí mít horší průměr jak 1.5, a zároveň nesmí mít horší známku jak 2.
Jako další krok bychom mohli celý sloupec "Horší jak 2" začlenit přímo do vzorce pro určení nároku na vyznamenání.
-
Sloupec "Modulo RČ" přejmenujme na "Platné RČ". Vzorec, který obsahuje, využijeme, ale v podmínce funkce KDYŽ().
Všimněte si použité funkce NEDEF(). Ta vrací chybovou hlášku přímo tabulkového procesoru (je vidět ve sloupci níže, tam kde je #NENÍ_K_DISPOZICI). Toho lze potom využít v kombinaci s funkcí JE.NEDEF(), a detekovat tak stavy, kdy došlo k nějaké chybě.