Přehled všech témat
- Algoritmické myšlení
- Logika a řešení problémů
- Kódování a modelování
- Práce s daty
- Příprava dokumentů
- Digitální technologie
- Použití technologií
- Programování v Pythonu
Algoritmické myšlení | ||||||||||||
| ||||||||||||
Rozpoznávání vzorůAbychom byli schopni řešit problémy, pracovat s daty a vymýšlet algoritmy, musíme být schopni hledat pravidelnosti a vzory. Nalezené vzory se následně snažíme využít pro hledání společných prvků a zobecňování, která nám umožní tvořit efektivní řešení. Ilustrační, zjednodušený příklad ze života:
| ||||||||||||
Stejné vzory | ||||||||||||
Společná vlastnost | ||||||||||||
Vzory v posloupnostech | ||||||||||||
Popis vzorů | ||||||||||||
Zpětné inženýrství | ||||||||||||
Rozklad obrázků na části | ||||||||||||
Rozklad obrázků na částiVelmi užitečný přístup k řešení problémů je rozložit problém na dílčí části, které jsou pokud možno co nejvíce nezávislé, a následně řešit tyto části jednu po druhé. Příklad z běžného života: Potřebujeme se nachystat na putovní výlet na hory. Je potřeba zařídit spoustu věcí a můžeme se cítit přehlceni a snadno na něco důležitého zapomenout. Může pomoct, když si celkový problém příprava na hory rozdělíme na dílčí podproblémy: 1) naplánovat trasu a najít spoj, 2) vymyslet jídelníček a nakoupit jídlo, 3) nachystat tábornické vybavení a zkontrolovat jeho stav, 4) rozmyslet a nabalit oblečení. Tyto dílčí úkoly jsou do velké míry na sobě nezávislé a mohou je tudíž řešit různí lidé. I pokud je řeší ten stejný člověk, tak se při řešení dílčího podproblému může soustředit pouze na něj, což mu postup usnadní. Příklad z programování: Programy nepíšeme jako dlouhé seznamy příkazů, ale dělíme je na funkce, z nichž každá řeší nějaký dílčí problém. Rozdělení na podproblémy je klíčovým prvkem dobrého návrhu programů. Rozklad problémů na části je složitá dovednost, kterou se člověk učí dlouhodobou praxí. Pro základní trénink nabízíme příklady s obrázky. Složitě vypadající obrázek často lze vytvořit z jednoduchých částí, které pouze vhodným způsobem poskládáme. | ||||||||||||
| ||||||||||||
Význam příkazů | ||||||||||||
Význam příkazůProgramy se skládají z jednotlivých příkazů. V našich úlohách na procvičování můžete například potkat:
Při praktickém programování používáme například příkazy pro vypsání textu na monitor, vykreslení obrázku, načtení informace ze souboru nebo uložení výsledku výpočtu do paměti počítače. Z dílčích příkazů následně skládáme programy pomocí posloupností příkazů, opakování, podmínek a dalších metod. | ||||||||||||
Posloupnost příkazů | ||||||||||||
Posloupnost příkazůZákladním krokem jakéhokoliv algoritmu je provádění posloupnosti akcí v předepsaném pořadí. Pořadí, v jakém akce provádíme, je důležité. Někdy je to úplně jasné. Když připravujeme palačinky, musíme nejdříve těsto zamíchat, a až potom dát na pánvičku. Kdybychom pořadí akcí prohodili, nedopadlo by to příliš palačinkově. Podobně to dopadne, když chystáme program pro robota. Pokud se robot nejdřív otočí a pak udělá krok, dopadne to jinak, než když udělá krok a pak se otočí. Význam pořadí akcí je dobře vidět třeba ve cvičení ProgMalování, kde je velmi důležité, který obrázek nakreslíme dříve a který později: ![]() Pořadí příkazů zapisujeme v programech stejně jako při psaní běžného textu: odshora dolů (případně zleva doprava). | ||||||||||||
Opakování | ||||||||||||
OpakováníKdybychom všechny algoritmy vyjadřovali jako prostou posloupnost akcí, byly by často velmi dlouhé a nepřehledné. Proto se snažíme v problémech hledat pravidelnosti a vzory a ty následně vyjádřit v algoritmu pomocí opakovaného provádění stejných instrukcí. Základní forma opakování je cyklus s pevně daným počtem opakování (v programovacích jazycích se běžně označuje jako for cyklus). Takto například dáme želvě pokyn, aby vykreslila čtverec (který se skládá ze 4 stejných stran): ![]() Při zápisu opakování musíme dávat dobrý pozor na to, co je součástí cyklu a co je mimo něj. Příklad: ![]() První příklad opakuje pouze vykreslování jablek, kreslení jahody je mimo cyklus. Ve druhém příkladě se opakuje vykreslování jablek i jahod. Ve třetím příkladě nejdříve nakreslíme tři jablka, potom tři jahody. Můžeme též použít cyklus, který se opakuje tak dlouho, dokud není splněná zadaná podmínka. Tyto cykly pokrývá navazující téma opakuj dokud. | ||||||||||||
Podmínky a větvení | ||||||||||||
Podmínky a větveníU většiny algoritmů potřebujeme, aby postup závisel na aktuálním stavu. Polévku musíme zahřívat a míchat, dokud nezačne vřít. Pokud při příjezdu na křižovatku svítí červená, auto musí zastavit. Rozhodování podle podmínek zapisujeme pomocí slov pokud a jinak (v angličtině if a else). Názorné příklady: ![]() Někdy větev „jinak“ nepoužíváme. Pokud podmínka není splněna, tak se v takovém případě neprovede žádná speciální akce: ![]() Při vyjadřování podmínek často využíváme logické spojky (a zároveň, nebo, negace). | ||||||||||||
Vnořené cykly | ||||||||||||
Opakuj dokud | ||||||||||||
Opakuj dokudKromě základních cyklů s pevně daným počtem opakování využíváme často v algoritmech i cyklus typu opakuj dokud. Tento cyklus se opakuje tak dlouho, dokud je splněna zadaná podmínka. V programovacích jazycích se pro zápis tohoto typu cykly využívá příkaz while. | ||||||||||||
Cykly s podmínkou | ||||||||||||
Souběžné akce | ||||||||||||
Souběžné akceV pokročilé informatice se rozlišuje souběžnost a paralelismus, zde však do těchto detailů nebudeme zacházet. Tyto pojmy označují souběh více dějů současně. To je pochopitelně něco, co se ve světě kolem nás děje neustále. Pokud se však snažíme vymýšlet algoritmická řešení problémů, je souběžnost většinou oříšek. Není totiž vůbec jednoduché souběh více událostí správně naplánovat. Pro trénink přemýšlení o souběžnosti využijeme především úlohy na čtverečkované mřížce, kde se současně pohybuje několik agentů. | ||||||||||||
| ||||||||||||
ProměnnéV programování je proměnná úložiště, které udržuje hodnotu. Tato hodnota se může v průběhu výpočtu měnit, od toho se také proměnná jmenuje proměnná. Příklady použitíTypickým příkladem použití proměnné je výpočet celkové ceny nákupu. Program v pokladně na začátku uloží do proměnné Jiný příklad: V programu pro hraní piškvorek potřebujeme zjistit, jestli již jeden z hráčů vyhrál. Procházíme tedy jednotlivé směry na hracím plánu a v každém z nich počítáme, kolik křížků (či koleček) se vyskytuje v řadě za sebou. Tento počet si ukládáme v proměnné. Krom toho si do nějaké proměnné potřebujeme uložit i celý herní plán. V základních cvičeních však zůstaneme pouze u číselných proměnných, které vesměs budou fungovat jako jednoduché čítače. Zápis práce s proměnnou
Přiřazení a rovnostJe důležité rozlišovat mezi přiřazením a rovností:
Tento rozdíl je potřeba dobře pochopit, protože v mnoha současných programovacích jazycích (např. Python, C, Java) se pro označení přiřazení používá zápis s rovnítkem, tj. zápis x = 3 vyjadřuje přiřazení, kdežto rovnost se zapisuje x == 3. Programy s proměnnýmiNásledující příklady ilustrují posloupnosti příkazů s proměnnými. Pořadí, v kterém příkazy provádíme, je velmi důležité: ![]() | ||||||||||||
Změna stavu | ||||||||||||
Proměnné: základní principy | ||||||||||||
Cykly s proměnnými | ||||||||||||
Podmínky s proměnnými | ||||||||||||
| ||||||||||||
Abstrakce | ||||||||||||
AbstrakceAbstrakce je schopnost odhlížet od detailů, které nejsou důležité pro řešení zkoumaného problému. Soustředíme se na společné prvky a vlastnosti, pomocí kterých nacházíme obecnější řešení. Příklad z běžného života: Alík, Ben a Rex jsou tři konkrétní domácí zvířata. Můžeme je označit abstraktním pojmem „pes“ – tím zanedbáváme řadu jejich vlastností (např. stáří, barvu srsti či rasu) a soustředíme se jen na to, co mají společné. Kdybychom měli doma ještě kocoura Mourka, tak bychom mohli pro jejich společné označení použít třeba kategorii „savec“. Příklad z programování: Při vykreslování obrázků můžeme vytvořit funkci | ||||||||||||
Funkce | ||||||||||||
FunkceFunkce jsou základním stavebním blokem, pomocí kterého vytváříme programy. Představují konkrétní realizaci obecného principu rozklad na části. Zjednodušeně řečeno, funkce je kouzlo, kterému něco předložíme (vstup) a ono nám vykouzlí něco jiného (výstup).
| ||||||||||||
Zobecňování programů | ||||||||||||
Rozklad programů | ||||||||||||
Rekurze | ||||||||||||
| ||||||||||||
Ladění, hledání chyb | ||||||||||||
Vývojové diagramy | ||||||||||||
Algoritmické myšlení: mix |
Logika a řešení problémů | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logické spojky a pravdivostní tabulky | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logické spojky a pravdivostní tabulkyPravdivostní hodnotyV informatice používáme většinou zaměnitelně následující:
Logické spojky
Pravdivostní tabulka logických operací
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logické výroky | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logické odvozování | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logické úlohy na mřížce | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bludiště | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logické úlohy s přesuny | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logické úlohy na mřížce |
Kódování a modelování | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
Kódování informací obrázkem | ||||||||||||||||||||||||||||||||||||||||||||
Kódování textů | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
RGB barvy | ||||||||||||||||||||||||||||||||||||||||||||
RGB barvyBarevný model RGB je způsob reprezentace barev pomocí tří složek: červená (red, R), zelená (green, G), modrá (blue, B). Jde o aditivní způsob míchání barev – jednotlivé složky barev se sčítají a vytvářejí světlo větší intenzity (světlejší barvu). Při použití RGB modelu tedy barvu zapisujeme jako trojici čísel. Pro zápis hodnoty jednotlivých složek se používá mnoho různých zápisů: číslo od 0 do 1, procenta, dekadický zápis osmibitového čísla, hexadecimální zápis, … Často používaný zápis je dekadický zápis osmibitového čísla, tj. číslice od 0 do 255. Příklady v tomto zápisu:
| ||||||||||||||||||||||||||||||||||||||||||||
Kódování zvuku | ||||||||||||||||||||||||||||||||||||||||||||
Kódování zvukuZvuk je mechanické vlnění prostředí (typicky vzduchu) o frekvenci asi 20 Hz – 20 000 Hz. Vyšší frekvence sluch vnímá jako vyšší tóny. Vlnění vzduchu je spojité, v každém okamžiku má určitou hodnotu okamžité výchylky. Souvislý je i analogový signál, který je vytvářen např. mikrofonem. Spojitý průběh zvukové vlny je na obrázku znázorněn oranžově. Vodorovná osa vyjadřuje čas, svislá osa okamžitou výchylku signálu. Digitální zařízení nedokážou zpracovat informaci o zvuku v nekonečném množství okamžiků. Při převádění analogového signálu na digitální se tedy provádí tzv. vzorkování – signál se převede na nespojitý (diskrétní), ten během určitého času vystřídá omezený počet hodnot (na obrázku vyjádřeno modrými body). To souvisí se vzorkovací frekvencí, např. při vzorkovací frekvenci 48 kHz se během sekundy vystřídá 48 000 hodnot vzorku. Ani okamžitá výchylka signálu nemůže mít neomezené množství hodnot, proto se provádí tzv. kvantování, které souvisí s rozlišením vzorku. Např. rozlišení (vzorku) 4 bit znamená, že okamžitá výchylka vzorku může nabývat 2⁴ = 16 stavů (vizte obrázek). Při ztrátové kompresi má význam hodnota bitrate (značí přenosovou rychlost). Čím větší je bitrate, tím větším množstvím dat je popsána sekunda zvukového záznamu (např. 320 kb/s je nejvyšší bitrate u souborů mp3). Při nahrávání zvuku do digitálního zařízení je mechanické vlnění vzduchu převedeno mikrofonem na elektrické napětí. A/D převodník tento spojitý signál převede na binární data. Při přehrávání zvuku se data D/A převodníkem přemění na analogový signál. Jeho výkon se zvětší zesilovačem a může dojít k jeho přehrání reproduktorem, který pohybem membrány opět rozechvěje vzduch. | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
Binární čísla: základy | ||||||||||||||||||||||||||||||||||||||||||||
Binární čísla: základyPro základní představu u binárních číslech můžeme použít pomůcku, kterou máme vždy po ruce – totiž ruku samotnou. Představme si, že si na prsty ruky napíšeme mocniny dvojky: ![]() Pak můžeme na prstech jedné ruky počítat nejen do pěti, ale až do třiceti jedné. Každé číslo lze totiž vyjádřit (jednoznačně) jako součet mocnin dvojky. Pokud polohu prstů zaznačíme pomocí nul a jedniček, dostaneme zápis v binární soustavě:
| ||||||||||||||||||||||||||||||||||||||||||||
Binární čísla: záporná a desetinná | ||||||||||||||||||||||||||||||||||||||||||||
Binární čísla: aritmetika | ||||||||||||||||||||||||||||||||||||||||||||
Hexadecimální čísla | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
ŠifryŠifrování hrálo důležitou roli v dějinách (např. německý šifrovací stroj Enigma a jeho prolomení během druhé světové války) a hraje důležitou roli i dnes. Šifrování hraje klíčovou roli ve fungování internetových služeb – bez kvalitních šifer by například nebylo možné elektronické obchodování. | ||||||||||||||||||||||||||||||||||||||||||||
Základní šifry | ||||||||||||||||||||||||||||||||||||||||||||
Základní šifryTranspoziční šifryTranspoziční šifry mění pouze pořadí písmen, nikoliv jejich vzhled. Základní transpoziční šifry jsou založeny na přepsání textu do řádku nebo do mřížky podle jednoduchého principu. Příklady:
Existují i složitější transpoziční šifry, které umožňují šifrovat podle hesla. Substituční šifrySubstituční šifry naopak zachovávají pořadí písmen, ale mění jejich podobu. Základní substituční šifrou je posun v abecedě (nazývaný též Caesarova šifra), kdy písmena nahrazujeme za jiná písmena, např. při posunu o jedna zašifrujeme BRNO → CSOP (B se posune na C, R se posune na S a tak dále). Složitějším příkladem substituční šifry je šifrování podle hesla (Vigenèrova šifra). Podobné substitučním šifrám je kódování, např. Morseova abeceda, Braillovo písmo, či ASCII tabulka. Kódování samo o sobě však není šifrou, protože zprávu neutají. Když zapíšeme zprávu pomocí Morseovy abecedy, tak každý, kdo tuto abecedu zná, si ji snadno může přečíst. | ||||||||||||||||||||||||||||||||||||||||||||
Šifry s nápadem | ||||||||||||||||||||||||||||||||||||||||||||
Šifry s nápademPři praktických aplikacích šifrování je typicky základní šifrovací princip známý a bezpečnost šifry je založena na utajení klíče. V následujících cvičeních si můžete zkusit šifry, k jejichž vyluštění musíte odhalit jejich šifrovací princip. Takové šifry slouží především pro zábavu, využívají se například hojně v šifrovacích hrách, pokladovkách a soutěžích. I přesto, že tyto šifry nemají přímé praktické použití, můžete se na nich dobře procvičit principy základních šifer, ale i logické myšlení, hledání vzorů a trpělivost. | ||||||||||||||||||||||||||||||||||||||||||||
Šifrování: pojmy a principy | ||||||||||||||||||||||||||||||||||||||||||||
Šifrování: pojmy a principyZákladní situace![]() Účelem šifrování je utajit zprávu. Obrázek znázorňuje základní situaci: Alice chce poslat Bobovi zprávu. Text této zprávy nazýváme holý text. Tento holý text Alice zašifruje pomocí předem domluveného šifrovacího postupu a tajného klíče. Tím vznikne zašifrovaný text, který Alice pošle Bobovi. Bob zašifrovaný text pomocí klíče rozšifruje a může si přečíst zprávu. Šifrovaný text může někdo zachytit (na obrázku je to Eva). Eva se může pokusit zprávu odhalit, má to ale těžké, protože nezná tajný klíč (a případně ani použitý šifrovací princip). Provádí tedy luštění, které je o kus náročnější než rozšifrování. Pojmy
Typy šifer
Metody kryptoanalýzy (prolomení šifer)Útok hrubou silou spočívá ve vyzkoušení všech možných klíčů. Frekvenční analýza spočívá v analýze frekvencí (četností) znaků ve zprávě. Tento způsob analýzy šifer je založen na využití toho, že písmena v jazyce jsou zastoupena velmi nerovnoměrně, např. v češtině je písmeno E velmi časté, zatímco F málo časté. Moderní šifryModerní šifry jsou výrazně složitější než zápis pozpátku či posun v abecedě, typicky využívají pokročilou matematiku a složité algoritmy. Příkladem moderní šifry je RSA. Moderní šifry jsou dvou základních typů:
| ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
Grafy sousednosti | ||||||||||||||||||||||||||||||||||||||||||||
Izomorfní grafy | ||||||||||||||||||||||||||||||||||||||||||||
Teorie grafů: základní pojmy | ||||||||||||||||||||||||||||||||||||||||||||
Teorie grafů: základní pojmyGraf je struktura, která nám pomáhá znázorňovat objekty a vztahy mezi nimi. Skládá se z vrcholů a hran. Vrcholy často reprezentují reálné objekty a obvykle je kreslíme jako tečky nebo kolečka. Hrany představují vztahy mezi vrcholy, na obrázku obvykle vypadají jako čáry mezi vrcholy. Každá hrana vede mezi dvěma vrcholy, oba její konce tedy musí být připojeny k některému vrcholu. Mezi základní grafové pojmy patří:
Dále si ukážeme některá rozšíření obyčejných grafů, tedy druhy grafů, jejichž vlastnosti jsou nějakým způsobem upravené. V orientovaném grafu mají hrany přesně určený směr, kterým vedou, a tedy i začáteční a koncový vrchol. To je rozdíl od grafů, o kterých jsme uvažovali doposud – tam hrany vedou „mezi vrcholy“ a nemají dáno, kde začínají a kde končí. Hrany orientovaných grafů se často znázorňují jako šipky. V ohodnoceném grafu má každá hrana přiřazenu určitou hodnotu (nazývanou také váha). V obrázku píšeme váhy jako čísla ke hranám. Pomocí těchto hodnot můžeme snadno znázornit například délky cest mezi městy. | ||||||||||||||||||||||||||||||||||||||||||||
Teorie grafů: vlastnosti a části grafů | ||||||||||||||||||||||||||||||||||||||||||||
Teorie grafů: vlastnosti a části grafůGraf je souvislý, pokud mezi každými dvěma z jeho vrcholů vede cesta. To znamená, že všechny vrcholy jsou spolu nějak propojené – dokážeme v grafu přejít po hranách z každého vrcholu do všech ostatních. Komponenta souvislosti je část grafu, která je souvislá, ale pokud bychom do ní chtěli zahrnout nějaké další hrany nebo vrcholy, souvislá by být přestala. Každý graf je rozdělený na několik komponent souvislosti. Pokud je graf souvislý, tvoří sám o sobě jednu komponentu souvislosti. Podgraf je část (tedy některé vybrané vrcholy a hrany) grafu, která sama o sobě také tvoří graf. Každá hrana v podgrafu tedy musí mít na obou svých koncích vrchol, který také patří do podgrafu. V úplném grafu je každý vrchol je spojený s každým. Tento graf má tedy maximální počet hran, který může mít. Strom je souvislý graf, který neobsahuje žádnou kružnici jako podgraf. Stromy mají mnoho zajímavých vlastností a často se používají v informatice, například pro přehledné a efektivní uložení dat. | ||||||||||||||||||||||||||||||||||||||||||||
Modelování a simulace |
Práce s daty | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sběr a evidence dat | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: základní porozumění | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vztahy grafů a tabulek | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sloupcové grafy | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Koláčové grafy | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Koláčové grafyKoláčový graf je kruhový graf s různě barevnými výsečemi. Velikosti jednotlivých výsečí (přesně řečeno jejich délky oblouků, středové úhly a obsahy) odpovídají tomu jakou část z celku tvoří zobrazovaná hodnota. Někdy jsou výseče popsané počty procent z celku, jindy přímo hodnotami. ![]() Co například vidíme z grafů na obrázku:
Koláčové grafy můžeme použít ke znázornění relativních četností hodnot znaku. Pro čtenáře není úplně jednoduché přesně v koláčovém grafu porovnávat velikosti jednotlivých výsečí, proto bývá doporučováno:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spojnicové grafy | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spojnicové grafySpojnicový graf znázorňuje data pomocí bodů spojených do lomených čar nebo křivek. Dává nejvíce smysl pro data, která jsou přirozeně uspořádána do posloupností, třeba podle času. Ukázka: ![]() Jak je vidět na grafu v ukázce, hodnoty na osách (například délka vlasů v centimetrech) nemusí vůbec začinat nulou. V našem grafu začínají hodnoty na svislé ose číslem 60. V ukázce jsou zobrazované hodnoty délky vlasů dvou princezen v závislosti na čase. Tmavě modrá lomená čára ukazuje délku vlasů princezny Lociky od ledna do prosince. Vidíme, že princezně postupně rostou vlasy. Od ledna do února se délka vlasů Lociky zvětšila z 80 cm na zhruba 81 cm. Oranžová lomená čára znázorňuje délku vlasů princezny Elsy od ledna do prosince. Na spojnicovém grafu můžeme jednoduše porovnat hodnoty na svislé ose (délka vlasů) u bodů se stejnou hodnotou na vodorovné ose (stejný měsíc). Například v dubnu měla Elsa vlasy dlouhé zhruba 72 cm a Locika zhruba 83 cm. Na první pohled si všimneme, že oranžová lomená čára se nachází pod tmavě modrou lomenou čárou a nikde se nekříží. Takže Locika má vžycky delší vlasy než Elsa. Kdyby se v některém časovém bodě lomené čáry překřížily nebo překrývaly, znamenalo by to čas, kdy měly obě princezny stejně dlouhé vlasy. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bodové grafy | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Plošné grafy | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: buňky, řádky, sloupce | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: buňky, řádky, sloupceV listech tabulky v tabulkovém procesoru (editoru) jsou data uspořádaná do řádků a sloupců. Sloupce jsou označené písmeny (
Tabulka 1: pozice buněk.
Záhlaví (to se nachází zpravidla v prvním řádku) či první sloupec tabulky obvykle obsahují informace o tom, jaká data jsou obsažena v dalších řádcích či sloupcích. V tabulce níže je v buňce Tabulka 2: vymyšlení živočichové.
Data v tabulce mohou být seřazena zpravidla v rámci sloupců, a to:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: základní početní operace | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: základní početní operaceTabulkový procesor lze využít k výpočtům. Vzorce vždy začínají znakem rovná se (=), tedy např. po zadání Základní početní operace se provádějí s použitím následujících znamének.
Při počítání je výhodné využívat odkazy na jiné buňky. Pokud se změní hodnota v buňce, z níž se berou data pro výpočet, změní se i výsledek výpočtu. Tabulka 1: vymyšlení živočichové.
Příklady:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: rozsahy | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: rozsahyRozsahy, které obsahují víc než jednu buňku, zapisujeme pomocí dvojtečky. Například:
Rozsahy Funkce mohou brát jako některé ze svých vstupních argumentů rozsah(y).
Například | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: odkazy | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: odkazy
Často chceme vzorec nakopírovat do dalších buněk tabulky přetažením (nebo Ctrl+C, Ctrl+V, atd.), abychom podobný výpočet provedli na dalších datech. Například
Relativní a absolutní odkazyAbsolutní odkaz jako Relativní odkaz jako Spočítat součet hodnot v prvních pěti buňkách na každém řádku můžeme tak, že do prvního řádku napíšeme rovnítko a vzorec Zajímavost: Spočítat součet hodnot v prvních pěti buňkách na každém řádku můžeme i tak, že použijeme vzorec | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: základní vzorce | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: základní vzorceV tabulkovém editoru můžeme zapisovat vzorce, ve kterých se vyskytují hodnoty jako
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulky: jednoduché podmínky | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tabulkový editor: mix | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Regulární výrazyKdykoliv potřebujete v textu něco nahradit, najít nebo poupravit, můžete k tomu využít regulárních výrazů. Především u rozsáhlejších textů je jejich používání velice užitečné. Regulární výrazy široké uplatnění v mnoha programovacích jazycích (především skriptovacích jako Python, PHP, Perl, JavaScript). Můžete je ale použít i unixových příkazech (např. grep) nebo v textových editorech (např. Notepad++, Emacs). Regulární výrazy jsou velice bohaté. V našich příkladech shrneme především základní operátory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Základní vyhledávání | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Základní vyhledáváníZákladními prvky regulárních jazyků jsou obyčejná písmena. Ty při vyhledávání odpovídají sami sobě. Pokud tedy zadáme regulární výraz Tečka odpovídá libovolnému znaku. Metaznaky jsou speciální znaky, které používáme na konstrukci regulárních výrazů (např. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Skupiny znaků | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Skupiny znakůPomocí následujících speciálních znaků můžeme v regulárním výrazu označit skupiny písmen:
Dále můžeme využít následující konstrukce, které vymezují více možností, případně seskupují znaky k sobě:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kvantifikátory | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KvantifikátoryKvantifikátory v regulárních výrazech vyznačují, kolikrát se má předcházející výraz opakovat. Například hvězdička v pe*s značí libovolný počet výskytů písmene e.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hranice | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HranicePomocí následujících speciálních znaků můžeme v regulárním výrazu označit hranice (začátek, konec) slov i celých řetězců:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nahrazování | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Regulární výrazy: mix |
Příprava dokumentů | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typografické pojmy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typografické pojmyTypografie se zabývá písmem a jeho použitím v různých médiích. Typografická pravidla zajišťují přehlednost a srozumitelnost sdělení, v současnosti nacházejí uplatnění hlavně v digitální sazbě a obecně tvorbě digitálních dokumentů. Písmo je souborem znaků (glyfů). Určitá kresebná varianta písma se označuje jako řez (např. tučné písmo, kurziva = italika), skupina řezů tvoří rodinu písma. Sada znaků jednotného stylu, zejména ve spojení s digitální technologií, se nazývá font. Možnost plynulého nastavení kresebných variant (např. tloušťky, šířky znaků aj.) v současnosti nabízejí tzv. variabilní fonty. S písmem jsou spojeny např. tyto pojmy:
Jako diakritické znaménko (akcent) se označuje znaménko v bezprostředním okolí písmene, které pozměňuje jeho význam/výslovnost (např. háček). Interpunkční znaménka se vkládají mezi písmena, upravují členění textu (např. tečka, dvojtečka, vykřičník). Linie tvořící osnovu písma se označují jako dotažnice, základní linie, na níž písmena „sedí“, se nazývá účaří. Obvykle svislou vzdálenost řádků, respektive účaří, určuje proklad. Text je možné zarovnávat zpravidla doleva, na střed, doprava či do bloku (v takovém případě se první slovo nachází na samotném začátku řádku a končí na jeho samém konci). Na začátku nebo konci stránky (či sloupce) by neměly být osamocené řádky (vdovy, sirotci, též souhrnně parchanty). Prostrkání je vzdálenost znaků. Jako kerning se označuje specifické prostrkání mezi určitými znaky (např. ve slově VLTAVA bude horní tah T nad spodním tahem L, aby mezi písmeny nevznikla příliš velká optická mezera). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typy písma | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typy písmaZákladními druhy písem jsou písma:
Sada znaků určitého stylu, zejména v digitální podobě, se označuje jako font. Písmo může mít různé šířky jednotlivých znaků – v takovém případě se jedná o písmo proporcionální. Naopak tzv. neproporcionální písma mají znaky stejně široké, užívají se hlavně při psaní počítačového kódu. Různé řezy písma slouží zejména k vyznačování. Patří mezi ně:
Zvýraznění podtržením se v textech spíše nepoužívá, neboť přeškrtává spodní tahy písmen. Je však zvykem jím vyznačovat internetové odkazy. VELKÁ PÍSMENA (verzálky, majuskule) je vhodně ke zvýrazňování používat jen velmi opatrně a střídmě. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Interpunkce a speciální znaky | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Interpunkce a speciální znakyInterpunkční znaménka se používají k členění textu.
Mezi další často užívané zvláštní znaky patří např. & (ampersand, anglicky and), × či ∙ (znaménko krát, první variantu neplést s x), / (lomítko), ° (znak stupně) či ⟶ (šipka). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typografie: mix | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prezentace | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
PrezentacePočítačové prezentace doprovázejí představování určitého tématu. Sestávají z jednotlivých slidů (snímků), ty obsahují text či obrázky a jsou graficky upravené. Prezentace lze zpracovávat a předvádět pomocí k tomu určených aplikací, mezi které patří např. Google Slides (Prezentace), Microsoft PowerPoint, LibreOffice Impress, Apple Keynote a další. Počítačová prezentace často bývá promítána pomocí dataprojektoru, může ale být zobrazována i na displeji (např. za účelem sdílení v rámci videohovoru). Ke zvýraznění určitých informací lze použít např. laserové ukazovátko či prezentér, který také umožňuje přepínání slidů na dálku. Při zpracování prezentace je vhodné dodržet určité zásady, které zajistí efektivní a přehledné předání informací publiku.
Při samotném předvádění prezentace by prezentující měl:
Časté chyby při prezentování jsou např. tyto:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zdroje, citování | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Textový editor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digitální fotografie | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zvuk | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
ZvukZvuk, který člověk vnímá, je mechanické vlnění prostředí (typicky vzduchu) o frekvenci 20 Hz – 20 000 Hz. Toto vlnění může být zaznamenáváno mikrofonem, signál se poté může uložit do digitálního zařízení v podobě binárních dat. Při přehrávání se data převedou opět na signál. Jeho výkon se zvětší zesilovačem a reproduktor signál převede chvěním membrány na vlnění vzduchu. Zvukový signál může být tvořen i přímo v počítači (např. v editorech zvuku či softwaru pro tvorbu hudby). Zvukový signál mezi zařízeními lze přenášet např. za použití konektorů cinch či jack. Při připojení externího zařízení přes Bluetooth (např. bezdrátový reproduktor, sluchátka) se z digitálního zařízení přenáší digitální signál. Zvuk je možné ukládat bezztrátově (jsou zachována všechna data, např. u formátů WAV, FLAC), nebo s využitím ztrátové komprese. Zvuk komprimovaný ztrátově obecně sestává z menšího množství dat, což je výhodné např. při streamování. Mezi ztrátové zvukové formáty patří např. MP3 či OGG. Data se cíleně odstraňují tak, aby toto odstranění mělo co možná nejmenší vliv na zvuk. Čím je nižší přenosová rychlost (bitrate), tím znatelnější je úbytek kvality. Zvuk může sestávat z jednoho kanálu (mono) či více kanálů (např. ze dvou = stereo). Při stereo přehrávání může např. z každého reproduktoru hrát trochu jiný zvuk, což vyvolává prostorový dojem. Zvukové nahrávky (např. hudba) se v současné době distribuují zejména online. Dříve se využívala audio CD (digitální záznam), audiokazety či gramofonové desky (analogový záznam). Co se týče grafického zobrazení zvukového záznamu, vodorovná osa vyjadřuje čas a svislá osa výchylku signálu („hlasitost“ v určitém okamžiku). Např. na obrázku níže je možné vidět nepravidelná štěknutí psa prostřídaná tichem (resp. šumem). Zvuk lze v počítači softwarově upravovat, je možné provést třeba změnu hlasitosti (normalizace, postupný náběh = fade in, zeslabování do ztracena = fade out), ořez různých částí zvuku, ostranění šumu, aplikaci efektů (např. ozvěny) apod. Mezi známé open source programy pro úpravu zvuku patří např. Audacity. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Webdesign: uživatelské prostředí | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Webdesign: pojmy, technologie | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Základy HTML | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Základy HTMLPomocí HTML můžeme označovat význam a zobrazení textu, například takto: Přehled běžných značek:
Některé značky udávají význam textu, např. Párové značky lze zanořovat, například tučnou kurzívu zapíšeme Mezery a nové řádkyLibovolné množství mezer a nových řádků v HTML kódu se zobrazí jako jedna mezera. Pokud potřebujeme nový řádek, použijeme značku Značky AtributyNěkteré značky mají atributy, které ovlivňují jejich zobrazení či chování. Například u odkazů potřebujeme určit jejich adresu (atribut href z anglického hypertext reference) a volitelně, zda se má odkaz otevřít v novém okně (atribut target). U obrázků určujeme cestu k souboru (src), alternativní text (alt), který se vypíše, pokud obrázek nemůže být zobrazen, a volitelně velikost v pixelech (width, height). Atributy zapisujeme do úvodní značky a hodnoty obalujeme do uvozovek: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTML tabulky a seznamy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTML tabulky a seznamySeznamyNečíslované seznamy vytvoříme pomocí párové značky
Číslované seznamy vytvoříme pomocí párové značky
Typ odrážek a číslování lze změnit pomocí atributu
TabulkyTabulku vytvoříme pomocí značky
Pro zvýraznění textu v hlavičce použijeme
Výchozí zobrazení tabulek je typicky bez čar oddělujících jednotlivé buňky. Vzhled lze změnit pomocí kaskádových stylů (CSS). Spojování buněkBuňky lze spojovat pomocí atributů
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Psaní všemi desetiPod pojmem „psaní všemi deseti“ se běžně označuje dovednost efektivního používání klávesnice. Zahrnuje využívání všech deseti prstů se snahou o rovnoměrné vytížení všech prstů a také psaní naslepo, tj. bez dívání se na klávesnici. Dobře nacvičené psaní všemi deseti výrazně usnadňuje a urychluje práci s počítačem. Při učení se psaní všemi deseti je potřeba trpělivost: nespěchat k psaní kompletních textů, ale postupovat po jednotlivých lekcích a pořádně si vždy procvičit nová písmena. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Prostřední řádek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Druhý řádek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Třetí řádek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Znaky s diakritikou a čísla | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Přepis textu |
Digitální technologie | ||
| ||
Typy počítačů | ||
Historie počítačů | ||
Vstupní a výstupní zařízení | ||
Vstupní a výstupní zařízeníVstupní zařízení je hardware, pomocí kterého počítač přijímá data. Příklady vstupních zařízení jsou: klávesnice, myš, joystick, touchpad, scanner, kamera, mikrofon, dotykový displej, akcelerometr, GPS a další senzory. Výstupní zařízení je hardware, do kterého počítač zapisuje či zobrazuje data. Příklady výstupních zařízení jsou monitor, dataprojektor, reproduktor, sluchátka, tiskárna a plotter. Typy tiskárenJehličková tiskárna k tisku používá tiskovou hlavu s malými jehličkami, které přes barvicí pásku otiskuje na papír. Je levná na pořízení i na provoz, ale tiskne pomalu a nekvalitně. Využívá se například pro označování jízdenek v hromadné dopravě. Inkoustová tiskárna tiskne pomocí vystřelování miniaturních inkoustových kapek na papír. Její pořizovací cena je nízká a tiskne kvalitně, i když ne příliš rychle. Inkoustové náplně, nazývané cartridge, jsou však poměrně drahé, takže provoz tiskárny může být nákladnější. Často se používá v domácnostech nebo v menších kancelářích. Laserová tiskárna kreslí obraz laserem na světlocitlivý válec. Na něj se poté nanese barva, která zůstane pouze na laserem ozářených místech, a válec se následně otiskne na papír. Je drahá na koupi, ale provoz na rozdíl od inkoustové tiskárny nákladný není. Tiskne velmi rychle a kvalitně, proto je dobře využitelná na místech, kde se tisknou velké objemy stránek – například v kancelářích. Barva používaná v laserových tiskárnách se nazývá toner. Komunikační rozhraní (porty)Vstupní a výstupní zařízení lze k počítači připojit přes komunikační rozhraní, kterým se také říká porty. Často se setkáme s následujícími typy:
| ||
Procesor a architektura | ||
Procesor a architekturaDůležité součásti počítačové architektury jsou: CPU (central processing unit) – centrální procesorová jednotka. Nazývá se také procesor. Umí zpracovávat základní strojové instrukce, ze kterých lze složit veškerou funkčnost, kterou potřebují počítačové programy k fungování. V podstatě se tak stará o celkový chod počítače. Součásti procesoru jsou aritmeticko-logická jednotka, řadič a registry. Rychlost procesoru určuje mimo jiné taktovací frekvence, která udává, kolik operací procesor udělá za nějakou časovou jednotku (např. sekundu). Frekvence se udává v jednotkách Ghz (gigahertz). V současnosti je zrychlování CPU složité, takže se většího výkonu dosahuje použitím více procesorových jader v jednom pouzdře. Tyto procesory se nazývají vícejádrové a jsou efektivní, protože dokáží zpracovávat více procesů najednou - paralelně. GPU (graphics processing unit) – grafický procesor. Grafický procesor je součást grafické karty. Ta přijímá data o tom, co je potřeba zobrazit na monitoru, a převádí je na obrazový výstup pro monitor. Grafický procesor provádí rychlé výpočty, které jsou pro převod dat na obraz potřeba. Grafická karta může být integrovaná nebo dedikovaná. Integrovaná karta je typicky vestavěná součást CPU, je to méně výkonná, ale levnější možnost. Dedikovaná karta se často dodává odděleně, je dražší, ale výkonnější - je potřeba například pro moderní počítačové hry se složitou grafikou. ALU (arithmetic logic unit) – aritmeticko-logická jednotka. Je to součást procesoru, která provádí aritmetické a logické operace. Registry jsou velmi malá a velmi rychlá paměťová úložiště v procesoru. Procesor si v nich udržuje data, která právě zpracovává. Sběrnice zajišťuje přenos dat. Sběrnic je mnoho typů. Můžou přenášet data jak uvnitř počítače (např. do grafické karty), tak mezi zařízeními (např. USB je také typ sběrnice). Cache je velmi rychlá, ale poměrně malá paměť, která pomáhá zrychlovat běh počítače. Protože procesor je velmi rychlý v porovnání s pamětí, pokaždé, když si potřebuje načíst nějaká data z paměti, musí dlouho čekat. Aby se chod počítače tolik nezpomaloval, procesor si do cache ukládá často používaná data, která odtud může načíst rychleji. Cache je rychlejší než operační paměť, ale přesto nestačí na procesor a registry, takže k nějakému zpomalení stále dochází. Síťová karta zprostředkovává komunikaci počítače s počítačovou sítí – např. s internetem. Zvuková karta zajišťuje vstup a výstup zvukových dat z a do počítače. Procesor při své práci komunikuje s různými typy paměti. | ||
Paměť | ||
PaměťStejně jako lidská paměť i ta počítačová slouží k uchování informací. Pro různé účely se používají různé typy pamětí, které můžeme označovat podle účelu nebo technologie. Dlouhodobá paměť slouží k dlouhodobému uložení dat – například fotografií, filmů, nebo zdrojových kódů počítačových programů. Je to to úložiště, ke kterému máme přístup v Průzkumníku souborů. Data se v ní udrží nezávisle na tom, jestli je připojená k elektřině. V operační paměti si počítač ukládá data a stavy procesů, se kterými právě pracuje. Je mnohem rychlejší jež dlouhodobá paměť, takže pro urychlení běhu počítače se data z dlouhodobé paměti dočasně nahrávají do operační paměti, když je s nimi potřeba pracovat. Jako uživatelé k ní nemáme přímý přístup, pracuje s ní pouze procesor. Často se realizuje jako paměť typu RAM, takže po odpojení elektrického proudu se z ní všechna data vymažou. Cache paměť je velmi rychlá, ale poměrně malá paměť, která pomáhá zrychlovat běh počítače. Protože procesor je velmi rychlý v porovnání s operační pamětí, pokaždé, když si potřebuje načíst nějaká data z paměti, musí dlouho čekat. Aby se chod počítače tolik nezpomaloval, procesor si do cache ukládá často používaná data, která odtud může načíst rychleji. Cache je rychlejší než operační paměť, ale na procesor a registry nestačí. Říká se jí také vyrovnávací paměť nebo mezipaměť. RAM (random access memory) umožňuje rychlý zápis i čtení, a proto se používá jako krátkodobá (například operační) paměť. Její název znamená, že v ní lze přistoupit okamžitě na libovolnou adresu. Ke svému fungování potřebuje elektrický proud, po jeho odpojení všechna data z paměti zmizí. ROM (read only memory) česky znamená paměť pouze pro čtení, tedy do ní není možné data zapisovat, ale pouze je číst. Používá se jako dlouhodobé úložiště, data v ní zůstanou i po odpojení elektrického proudu. Flash paměť je podtyp ROM, který ale lze přepisovat – jde do ní tedy na rozdíl od klasické ROM ukládat nová data. Zápis i čtení probíhá pomocí elektrického proudu. V současnosti je to velmi rozšířený typ dlouhodobého úložiště, používá se například v SSD, flash discích nebo paměťových kartách. HDD (hard disk drive) slouží jako dlouhodobá paměť v počítači, často se nazývá také pevný disk. Data se ukládají na magnetický otočný disk. Oproti SSD, jeho současné konkurenci mezi dlouhodobými úložišti, je levnější a mívá větší kapacitu. SSD (solid state drive) je další typ dlouhodobého úložiště. Na rozdíl od HDD je tvořený flash pamětí. Díky tomu je odolnější, protože nemá žádné pohyblivé části, a také rychlejší. Přestože jeho poměr ceny a kapacity je horší než u HDD, v současnosti pevný disk díky výše zmíněným výhodám pomalu nahrazuje. CD a DVD* jsou přenosná dlouhodobá úložiště ve tvaru disku. Data se u nich zaznamenávají a čtou opticky, pomocí laseru. Paměťová karta je malé přenosné dlouhodobé úložiště tvořené flash pamětí. Má několik různých typů, používá se například ve fotoaparátech nebo mobilních telefonech. Velikost paměti se udává v bajtech (B). Paměť může být volatilní nebo nevolatilní. Z volatilní paměti všechna data zmizí, když se odpojí od elektrického proudu. Její příklady jsou RAM, operační paměť a cache. V nevolatilní paměti všechna data zůstávají nezávisle na připojení k elektrickému zdroji, ale většinou bývá pomalejší než volatilní. Používá se většinou jako dlouhodobé úložiště, její zástupci jsou tedy ROM, flash paměť, HDD a SSD. | ||
Hardware: mix | ||
| ||
Operační systémy | ||
Software: typy aplikací, příklady | ||
Vlastnosti softwaru | ||
Typy souborů | ||
Software: mix | ||
| ||
Počítačové sítě: obecné principy | ||
Počítačové sítě: obecné principyPočítačové sítě propojují dohromady počítače a umožňují jim vyměňovat si mezi sebou informace. Síťové architekturySíťová architektura je návrh sítě, který určuje, jak probíhá komunikace mezi prvky sítě. Nejčastější jsou dvě architektury: V klient-server síti mohou zařízení mít dvě různé úlohy. Server poskytuje služby, veškerá komunikace v síti jde přes něj. Typicky jde o velký počítač, který například patří nějaké firmě. Klienti jsou běžné uživatelské počítače, které si žádají služby od serveru. Když si například chceme zobrazit webovou stránku, náš počítač (klient) pošle serveru, který danou stránku provozuje, žádost o zaslání obsahu stránky. V peer-to-peer síti jsou si všechny prvky rovny. Všichni peerové si mohou vyžádat služby od ostatních a na oplátku některé služby poskytují. TopologieSkutečná fyzická podoba zapojení prvků do sítě se nazývá topologie. Obvyklé typy topologií jsou:
Ve skutečných sítích se tyto topologie často kombinují. Rozdělení sítí podle velikostiSítě lze také rozlišovat podle velikosti a rozsahu. Zde jsou některé vybrané typy:
Další pojmyData se po síti nejčastěji posílají v oddělených balíčcích, nazývaných pakety. Pakety se skládají z hlavičky, která obsahuje řídící informace, a z vlastních dat. Největší světovou sítí je internet. Je tvořený propojením mnoha menších sítí, které patří soukromým provozovatelům. Nemá tak žádnou centrální organizaci ani pevně danou strukturu. Většina komunikace po internetu probíhá pomocí protokolů TCP a IP. VPN (virtual private network) je virtuální soukromá síť. VPN zajišťuje soukromou a zabezpečenou komunikaci mezi několika počítači v rámci internetu, který obecně zabezpečený není. Firewall zajišťuje bezpečnější komunikaci mezi sítěmi. Kontroluje data procházející skrz a pokud mají podezřelý obsah, nepustí je dál. | ||
Počítačové sítě: protokoly | ||
Počítačové sítě: protokolyProvoz v počítačových sítích probíhá podle pravidel protokolů. Protokolů existuje mnoho, každý má určitou vlastní funkci. TCP a UDP řídí přenos dat od uživatele k příjemci. UDP posílá data bez zajištění spolehlivosti, ale zato velmi rychle. Hodí se například pro přenos videohovorů, kde potřebujeme okamžitě reagovat. Kvůli nespolehlivosti UDP se však musíme smířit s občasnou horší kvalitou dat. TCP umí zajistit, že data dorazí všechna a bez chyb, avšak za cenu menší rychlosti. V současnosti přenáší většinu dat na internetu - například se využívá pro načítání webových stránek, posílání e-mailů nebo stahování souborů. IP zajišťuje směrování, tedy hledá cestu, kudy data skrz síť půjdou. Kam doručit data zjišťuje podle IP adresy, která jednoznačně určuje každý počítač v síti. V současnosti existují dvě funkční verze protokolu: IPv4 a IPv6. Protože IP adresy se lidem těžko pamatují, nahrazují se doménovými jmény, která bývají například součástí URL. Doménová jména jsou organizována do hierarchicky rozloženého systému, ve kterém je lze snadněji najít. Protokol DNS dokáže na dotaz z doménového jména zjistit IP adresu. WiFi a Bluetooth jsou síťové protokoly, které přenáší data vzduchem. WiFi často slouží k vybudování malých sítí a připojování přenosných zařizení k internetu. Bluetooth se obvykle používá k propojení zařízení a přenosu dat mezi nimi na krátkou vzdálenost. Některé další protokoly, se kterými se můžeme setkat:
| ||
Počítačové sítě: hardware | ||
Počítačové sítě: hardwareHardwarová část počítačových sítí je tvořena síťovými zařízeními, která jsou propojena přenosovými médii. Síťová karta je součást hardwaru počítače a zajišťuje komunikaci s počítačovou sítí. Od počítače si bere data pro poslání do sítě, balí je do paketů a odesílá. Také přijímá ze sítě pakety a rozbalená data předává počítači. Síťová karta je v síti jednoznačně identifikovaná MAC adresou. Síťová zařízeníProtože signál se může při cestě přenosovým médiem zeslabit nebo poškodit, používá se opakovač. Ten opraví a zesílí přijímaný signál a následně ho pošle dál. Hub umožňuje spojení více kabelů a dokáže tak rozvětvovat síť do více směrů. Data, která přes něj procházejí, nijak nefiltruje, pouze je rozesílá dál. Switch a bridge spojují menší segmenty sítě. Udržují si tabulku MAC adres zařízení ve svém okolí a posílají přicházející data jen do směrů, kde se nachází jejich příjemci. Zatímco bridge propojuje pouze 2 části sítě, switch jich umí spojit více najednou. Router propojuje větší části sítí (nebo celé sítě) dohromady. Může například připojovat lokální síť k internetu. Zajišťuje směrování dat - pro příchozí pakety se snaží najít co nejkratší cestu k cílové IP adrese. Přenosová médiaPřenosové médium může být například vzduch nebo kabel. V počítačových sítích se používají například tyto druhy kabelů: Optický kabel se skládá z mnoha optických vláken. Signál se jím posílá v podobě světla. Přenos skrz optické kabely je velmi rychlý a málo ztrátový, jsou vhodné pro přenosy na velké vzdálenosti. Kroucená dvojlinka a koaxiální kabel jsou tvořené kovovým vodičem. Často se používají k budování lokálních sítí. Zapojení síťového kabelu umožňuje konektor RJ-45. | ||
Počítačové sítě: mix |
Použití technologií | |||||||||||||||||||||||
| |||||||||||||||||||||||
Autorství a licence | |||||||||||||||||||||||
Vyhledávání na internetu | |||||||||||||||||||||||
Dezinformace, hoaxy, manipulace | |||||||||||||||||||||||
Techniky manipulace a argumentační fauly | |||||||||||||||||||||||
| |||||||||||||||||||||||
E-mailová komunikace | |||||||||||||||||||||||
E-mailová komunikaceE-mail je způsob elektronické komunikace, obvykle prostřednictvím internetu. Přijímat a odesílat e-maily je možné např. přes webové rozhraní, desktopové či mobilní aplikace. Konkrétní zpráva (e-mail) se posílá na e-mailovou adresu příjemce (či příjemců). E-mailová adresa se skládá z místní části, zavináče (@, anglicky „at“) a domény, respektive doménového jména (např. jananovotna@mesto-kocourkov.cz). Při psaní e-mailu je důležité správně napsat předmět: ten byl měl být stručný, jasný a výstižný.
E-mail (podobně jako dopis) začíná oslovením. Zvláště v oficiálních mailech je vhodné používat oslovení „Vážený pane (…)“ či „Vážená paní (…)“. Oslovujeme v 5. pádě, přidáváme příjmení, nebo funkci. Za oslovení náleží prázdný řádek.
Po oslovení následuje vlastní text zprávy. Ten by měl být spisovný, vhodné je dodržet pravopis a gramatiku. V češtině není namístě vynechávat diakritiku, protože chybějící diakritika snižuje čitelnost textu. Na konec e-mailu náleží závěrečný pozdrav, ten obvykle zahrnuje formuli „S pozdravem“ a jméno odesílatele na novém řádku. Není vhodné psát např. „Na shledanou“, neboť se s příjemcem e-mailu osobně nevidíme. Běžné e-mailové klienty umožňují závěr zprávy (podpis) přidávat automaticky. K e-mailu je možné připojit soubory v příloze. Přílohy se hodí pro soubory velké nanejvýš v řádu MB (např. dokumenty, jednotlivé fotografie…). Při posílání e-mailu je možné umístit příjemce do kopie (Cc) – kontakt v kopii není hlavním příjemcem informací, ale dáváme mu o nich vědět. V rámci e-mailové komunikace lze narazit např. na spam (nevyžádanou poštu) či phishing (podvodné e-maily, které se z uživatelů snaží vylákat osobní údaje). | |||||||||||||||||||||||
Chování na internetu | |||||||||||||||||||||||
Chování na internetuPři používání internetu je namístě myslet na svoji bezpečnost. Lze se zde totiž potkat s nejrůznějšími negativními jevy. Těm je dobré předcházet, vyhýbat se jim, v případě nastání je umět řešit a nebát se o nich komunikovat (zvláště mezi dětmi a rodiči). Kyberšikana je dlouhodobé ubližování jiným lidem prostřednictvím internetu. Jedná se o agresi, která zahrnuje zejména psychický útlak. Agresor (útočník) má převahu nad obětí, kterou obvykle vydírá, zesměšňuje či jí vyhrožuje. Situaci může pomoci např. zablokování agresora a nepokračování v komunikaci. Mnohdy je namístě, aby kyberšikanu řešila policie. Obecně je vhodné mít kontrolu nad tím, jaké osobní údaje sdílíme online (např. nastavit určitou dostupnost informací na sociálních sítích). Nepříjemným jevem je kyberstalking, kdy dochází k pronásledování uživatele a k opakovaným pokusům o kontakt, o který nemáme zájem. Pojmem sexting se rozumí komunikace o intimních záležitostech, která zahrnuje např. posílání fotografií nahého těla (tzv. nudes) či videí. Pořizování takových materiálů u osob mladších 18 let je jednak za hranou zákona, jednak může být velmi snadno zneužito (např. útočník vyhrožuje, že pokud oběť nesplní jeho požadavky, rozešle její snímky). Jako kybergrooming se označuje snaha o navázání důvěrného vztahu s obětí (zejména dítětem). Útočník se snaží oběť přimět k osobnímu setkání, které může vyústit až ve zneužití. Na internetu (respektive obsahu, který nabízí) se člověk může snadno stát závislým – dá se hovořit o tzv. „virtuálních drogách“. Taková závislost se označuje jako netolizmus. Bezpečnosti na internetu se věnuje např. projekt E-bezpečí. | |||||||||||||||||||||||
Informační systémy | |||||||||||||||||||||||
Digitální identita | |||||||||||||||||||||||
| |||||||||||||||||||||||
Hesla a autentizace | |||||||||||||||||||||||
Hesla a autentizaceAutentizace je ověření identity uživatele. Zajišťuje např. přístup do zařízení, do určitého systému (programu) či k datům. Častým způsobem autentizace je zadávání hesla. Biometrická autentizace je založena na rozpoznávání částí těla uživatele (např. otisk prstu, obličej). Při vícefázové (např. dvoufázové) autentizaci je potřeba identitu ověřit více způsoby, např. zadáním hesla a potvrzením na mobilním zařízení. Vícefázová autentizace je ve srovnání s jednofázovou o něco náročnější pro uživatele, ale bezpečnější. Co se týče hesel, měla by mj. mít dostatečnou délku (minimálně 8–10 znaků), skládat se z různých znaků (např. malá a velká písmena, číslice, další symboly), neměla by obsahovat osobní údaje uživatele (např. jméno, příjmení) a nejlépe ani známá slova. Uživatel by si měl hesla zvládnout zapamatovat např. pomocí mnemotechnických pomůcek. Hesla lze též ukládat do manažerů k tomu určených, ovšem zde hrozí, že se útočník dostane najednou ke všem heslům uživatele. Obvykle není namístě si hesla zapisovat tak, aby šla bez překážek přečíst. Pro různé účty je vhodné volit různá hesla, toto je zásadní hlavně u e-mailového účtu, který obvykle slouží k případnému obnovení hesel do dalších služeb. Při práci na sdílených počítačích (např. v počítačové učebně ve škole) je nanejvýš vhodné se důsledně odhlašovat ze všech účtů (včetně např. profilu prohlížeče), aby se hesla nestala přístupnými. Pokusit se prolomit hesla je možné:
K získávání zadávaných hesel slouží např. keylogger, což je forma spywaru. | |||||||||||||||||||||||
Viry, spam a sociální inženýrství | |||||||||||||||||||||||
Viry, spam a sociální inženýrstvíJako malware se označuje škodlivý software, který záměrně narušuje činnost zařízení, zajišťuje úniky dat či provádí činnosti bez vědomí uživatele. Mezi malware patří například:
Obranou proti malwaru jsou antivirové programy. Aby se malware nedostal do zařízení, je nanejvýše vhodné nespouštět nedůvěryhodné aplikace, neklikat na podezřelé odkazy aj. Spam je označení pro nevyžádané zprávy (např. e-maily), které jsou zpravidla hromadně rozesílané. Cílem spamu je většinou získání peněz či důvěrných informací. Spam bývá rozesílán automaticky tzv. spamboty. Některé weby se proti spamu brání např. použitím testu CAPTCHA (např. vybírání obrázků, vyřešení příkladu), jehož cílem je rozpoznat reálného uživatele od bota. O podvedení uživatele se snaží scam (ten může být součástí spamu) – např. zprávy o získání domnělého bohatství, falešné upomínky k uhrazení faktur, snaha o navázání vztahu aj. Pokud se např. web či e-mail tváří oficiálně (napodobuje např. komunikaci banky) a má za cíl vylákat z uživatele osobní údaje, jedná se o phishing. V takovýchto typech zpráv je obecně namístě neklikat na odkazy, ty totiž obvykle přiblíží uživatele podvedení. Jako sociální inženýrství se označují podvodné manipulativní techniky (např. výše zmíněné), které mají za cíl uživatele donutit k určité činnosti či ke sdílení citlivých informací (za účelem jejich zneužití). | |||||||||||||||||||||||
Zabezpečení zařízení | |||||||||||||||||||||||
Zabezpečení zařízeníPoužívaná zařízení je namístě zabezpečit tak, aby nedošlo k odcizení či ztrátě dat, ale i zařízení samotných. Co k tomu může pomoci?
| |||||||||||||||||||||||
Bezpečnost: mix | |||||||||||||||||||||||
| |||||||||||||||||||||||
Ergonomie | |||||||||||||||||||||||
ErgonomieErgonomie se zabývá vzájemným působením člověka a jeho pracovního prostředí. Kvalita (pracovního) prostředí přímo ovlivňuje zdraví. Při práci s počítačem je vhodné dodržet mj. následující (vizte též obrázek níže):
Z hlediska ergonomie je obecně vhodnější stolní počítač než notebook. Práci s notebookem je možné zkvalitnit např. stojanem a externí klávesnicí a myší. Nevhodné uspořádání pracovního místa může vést např. k bolestem, ochabování svalů, obecně poškození těla. Při práci s počítačem je namístě se čas od času protáhnout, udělat si přestávku. Sedavý způsob života je namístě vhodné kompenzovat sportem či zkrátka pravidelným pohybem. Používání počítače by také nemělo narušovat spánkový režim, který je pro zachování zdraví zásadní. |
Programování v Pythonu | |||||||||||||||||||||||
| |||||||||||||||||||||||
Proměnné a číselné výrazy v Pythonu | |||||||||||||||||||||||
Proměnné a číselné výrazy v PythonuProměnná je jméno, které odkazuje na nějakou hodnotu. Hodnota proměnné se může měnit – ostatně se taky jmenuje „proměnná“. Názvy proměnnýchNázvy proměnných mohou obsahovat písmena, čísla a znak podtržítko. Nesmí obsahovat mezeru a nesmí začínat na číslo. V názvech proměnných se rozlišují velká a malá písmena, tj. Příklady:
Vytvoření a aktualizace proměnnéProměnnou vytvoříme prostě tak, že do ní přiřadíme hodnotu. Hodnotu můžeme následně aktualizovat. Proměnná drží poslední hodnotu, která do ní byla přiřazena. Pro přiřazení používáme rovnítko:
Proměnné mohou být různého typu. Python je dynamicky typovaný programovací jazyk. To znamená, že v programu nemusíme uvádět typ proměnné, interpret jazyka jej určí automaticky. Pokud provedeme přiřazení Výpis proměnných a výrazůVýpis provádíme pomocí funkce
Aritmetické operaceS čísly můžeme provádět základní aritmetické operace, zápis je stejný jako na běžných kalkulačkách (
V programování nemůžeme vynechávat zápis násobení tak jako v matematice, tj. nemůžeme psát Priorita operací je stejná jako v matematice a stejně jako v matematice můžeme používat závorky: Matematické funkcePython nabízí vestavěné funkce pro základní matematické funkce, například:
Další užitečné matematické funkce (např. Zkrácený zápisPři programování často aktualizujeme hodnotu proměnné tak, že k ní přičítáme určitou hodnotu, např. | |||||||||||||||||||||||
Logické výrazy v Pythonu | |||||||||||||||||||||||
Logické výrazy v PythonuLogické výrazy Python vyhodnocuje na hodnoty
Operátory porovnáníZákladním logickým výrazem je porovnání mezi dvěma výrazy (např. porovnání hodnoty proměnné a konstanty). Operátory větší/menší zapisujeme podobně jako v matematice ( Příklady:
Pozor na rozdíl mezi přiřazením do proměnné (jedno rovnítko) a testem na rovnost (dvě rovnítka). Python obsahuje i další pokročilejší operátory. Mezi záludné patří Logické spojkyZákladní logické výrazy můžeme kombinovat pomocí klasických logických spojek:
Pro procvičení významu spojek využijte cvičení Binární křížovka. V některých programovacích jazycích se logické spojky zapisují pomocí symbolů
Priority logický spojekPriority operátorů jsou sestupně: | |||||||||||||||||||||||
Proměnné a výrazy: mix | |||||||||||||||||||||||
| |||||||||||||||||||||||
Sekvence příkazů | |||||||||||||||||||||||
Podmíněný příkaz (if) v Pythonu | |||||||||||||||||||||||
Podmíněný příkaz (if) v PythonuPodmíněné vykonání příkazu zapisujeme pomocí
Else větevMůžeme také říct, co se má stát, když podmínka splněna není. K tomu slouží příkaz
Jednotlivým variantám výpočtu říkáme větve a podmíněný příkaz můžeme také označovat jako větvení. Vícenásobné větveníPokud chceme testovat více možností, můžeme použít konstrukci
Z Vnořené větveníPodmíněné příkazy můžeme i zanořovat, tj. některá z větví můžem mít další větvení. U následných větví pak musíme zvýšit odsazení. Můžeme tedy psát například:
V některých případech je však jednodušší a přehlednější místo vnořeného kódu použít jednoduchý podmíněný příkaz s podmínkou využívající logické operace. Například druhý uvedený příklad můžeme zjednodušit takto: | |||||||||||||||||||||||
Cyklus for v Pythonu | |||||||||||||||||||||||
Cyklus for v PythonuCykly při programování využíváme pro opakování skupiny příkazů. Opakování označujeme často pojmem iterace. Cyklus Jednoduchý for cyklusZákladní využití cyklu Řídící proměnnáV průběhu cyklu se mění hodnota řídící proměnné (ve výše uvedeném příkladu je to V rámci cyklu můžeme využívat více proměnných, pouze u řídící proměnné se však hodnota mění automaticky. Uvažme tento příklad: Řídící proměnnou cyklu je Využití rangePři základním použití kombinujeme for cyklus s funkcí Pozor: V informatice často počítáme od nuly (nikoliv od jedničky jako normální lidi). Na to narážíme i zde: Pokud funkci
For cyklus se dá využít nejen ve spojení s Ukázky použití for cykluVýpis informace o sudosti a lichosti prvních Výpočítet součtu čísel od Výpis informaci o prvních | |||||||||||||||||||||||
Cyklus while v Pythonu | |||||||||||||||||||||||
Cyklus while v PythonuCykly při programování využíváme pro opakování skupiny příkazů. Opakování označujeme často pojmem iterace. Cyklus Základní použitíWhile cyklus se opakuje tak dlouho, dokud je splněna řídící podmínka cyklu (v následující ukázce jde o Tímto cyklem vypisujeme mocniny dvou, dokud nepřekročí stovku: Nula i nekonečno opakováníPodmínka se vyhodnocuje ještě před prvním vykonáním těla cyklu. Pokud není splněna, tak se tělo while cyklu neprovede ani jednou: Může se stát, že while cyklus neskončí nikdy. Tento program vypisuje donekonečna jedničky: Takový nekonečný cyklus většinou znamená chybu v programu. Typickou chybou je, že zapomeneme v těle cyklu měnit hodnotu proměnné, které vystupuje v podmínce cyklu. | |||||||||||||||||||||||
Vnořené cykly v Pythonu | |||||||||||||||||||||||
Vnořené cykly v PythonuK opakování příkazů slouží základní cyklus for a cyklus while. V těle cyklu mohou být nejen základní příkazy, ale třeba i další cyklus – ten nazýváme vnořený cyklus. Pro jeho použití nepotřebujeme žádný nový příkaz. Prostě jen cyklus zapíšeme (a odsadíme) uvnitř jiného cyklu. Vnořené cykly se ovšem vyplatí trénovat, jsou častým zdrojem problémů. Příklad: Tento program vypisuje tuto tabulku: Vnitřní cyklus (s řídící proměnnou
| |||||||||||||||||||||||
Funkce v Pythonu | |||||||||||||||||||||||
Funkce v PythonuFunkce je pojmenovaný blok příkazů. Funkcím můžeme předávat argumenty. Funkce vrací návratovou hodnotu. Definice funkcePython nabízí celou řadu vestavěných funkcí, tedy takových, které jsou již připravené tvůrci jazyka. Příkladem je třeba funkce Vlastní funkci definujeme pomocí klíčového slova Tímto jsme definovali funkci Volání funkceTím, že definujeme funkci, se ještě nevykoná. Aby se funkce vykonala, musíme ji zavolat. To uděláme tak, že napíšeme jméno funkce a do závorek předáme konkrétní argument: Některé funkce jsou bez parametrů. U jejich volání musíme závorky stále uvést, např. Návratová hodnotaFunkce může vracet návratovou hodnotu pomocí klíčového slova Takováto funkce sama o sobě nic neprovede, pouze vrátí hodnotu, se kterou můžeme dále pracovat.
Příkaz Rozdíl return a printČastý zdroj problémů u začátečníků je správné rozlišování mezi použitím Použití Použití | |||||||||||||||||||||||
Řízení výpočtu: mix | |||||||||||||||||||||||
| |||||||||||||||||||||||
Přehled datových typů | |||||||||||||||||||||||
Přehled datových typůPřehled typůZákladní datové typy v Pythonu jsou:
Python nabízí i další typy, např. Měnitelnost a neměnitelnostTypy rozlišujeme podle toho, zda jejich hodnoty můžeme měnit:
Toto rozlišení je důležité například při využití slovníků – slovníky můžeme indexovat pouze neměnitelnými typy. PřetypováníNázvy typů jsou současně názvy vestavěných funkcí, které provedou přetypování. Typy proměnných jsou velice důležité. Ovlivňují například význam operátorů. Typický příklad je přetypování čísla na řetězec: | |||||||||||||||||||||||
Řetězce v Pythonu | |||||||||||||||||||||||
Řetězce v PythonuZápis řetězcůŘetězce zapisujeme do uvozovek nebo apostrofů. V Pythonu 3 mohou řetězce obsahovat i znaky z diakritikou. IndexováníK jednotlivým znakům řetězce přistupujeme pomocí indexování hranatými závorkami. Pozor, indexujeme od nuly. Python (na rozdíl od většiny jiných programovacích jazyků) umožňuje indexovat i od konce pomocí záporných čísel.
Pomocí dvojtečky můžeme indexovat podřetězec.
Pokročilejším prvkem pak je využití dvou dvojteček, kde třetí hodnota udává délku skoku:
Iterování přes řetězecJednotlivé znaky řetězce můžeme snadno procházet pomocí for cyklu. Neměnitelnost řetězcůŘetězce jsou v Python neměnitelný datový typ. To je jeden z výrazných rysů, ve kterých se liší od seznamů. Neměnitelnost znamená, že nemůžeme změnit dílčí písmeno v znaku. Musíme vytvořit nový řetězec, ve kterém bude příslušné písmeno změněno.
Operace s řetězciŘetězce můžeme sčítat (= zřetězit). Řetězce můžeme také násobit celým číslem (= opakovaně zřetězit). Mezi další užitečné operace patří zjištění délky (
Řetězce jsou objekty, které mají k dispozici řadu užitečných metod, které voláme pomocí tečkové notace. Příklady jsou převod na velká/malá písmena (
Všimněte si, že zde využíváme takzvanou tečkovou notaci: píšeme Operace se znakyPři práci s řetězci se občas hodí i operace pro manipulaci s jednotlivými znaky, především funkce
Pod „pořadové číslo“ se rozumí číslo v kódování Unicode. Pro základní programátorské úlohy stačí vědět, že písmena jsou v tomto kódování abecedně za sebou (bohužel to však platí jen pro písmena anglické abecedy). Takto tedy můžeme vypsat písmena anglické abecedy: | |||||||||||||||||||||||
Seznamy v Pythonu | |||||||||||||||||||||||
Seznamy v PythonuSeznam ( Vytvoření seznamuSeznamy zapisujeme pomocí hranatých závorek: Seznam můžeme také vytvořit pomocí klíčového slova IndexováníK jednotlivým prvkům seznamu přistupujeme pomocí indexování hranatými závorkami. Pozor, indexujeme od nuly. Zápornými čísly můžeme indexovat odzadu:
Pomocí dvojtečky můžeme indexovat část seznamu:
Operace se seznamyUžitečné funkce se seznamy:
Všimněte si, že zde využíváme takzvanou tečkovou notaci: píšeme Seznamy a for cyklusPomocí Alternativně můžeme procházet prvky seznamu takto (tento zápis je bližší tomu, jak procházíme seznamy v jiných programovacích jazycích): | |||||||||||||||||||||||
Slovníky v Pythonu | |||||||||||||||||||||||
Slovníky v PythonuSlovník (dictionary, dict) udává mapování klíčů na hodnoty. Můžeme si třeba pamatovat počty kusů ovoce na skladě. Vytvoření slovníkuSlovník vytváříme v Pythonu pomocí složených závorek. Přístup k položkámK položkám slovníku přistupujeme pomocí indexování hranatými závorkami. Podobně můžeme do slovníku položku přidat. Pokud se pokusíme přistoupit k položce, která ve slovníku není, dostaneme chybu. Bezpečný přístup provedeme pomocí
Práce se slovníkyDalší užitečné funkce pro práci se slovníky: | |||||||||||||||||||||||
Objekty v Pythonu | |||||||||||||||||||||||
Objekty v PythonuPython, stejně jako většina dalších moderních programovacích jazyků, podporuje objektově orientované programování. To už je poměrně pokročilé programátorské téma. Zde si shrneme jen některé základní pojmy. Objekt (object) je kolekce dat (proměnných) a metod (funkcí), které s těmito daty pracují. V Pythonu jsou téměř všechna data, se kterými se setkáme, objekty (čísla, řetězce, seznamy, …). Objekty jsou speciální instance tříd (class). Třídu můžeme chápat jako obecný vzor, podle kterého se tvoří objekty. Příklad definice třídy:
A takto vytvoříme objekty (instance třídy) a použijeme je:
V tomto příkladě:
| |||||||||||||||||||||||
Práce se soubory | |||||||||||||||||||||||
Datové typy: mix | |||||||||||||||||||||||
| |||||||||||||||||||||||
Počítání s čísly | |||||||||||||||||||||||
Zpracování textu | |||||||||||||||||||||||
Textové obrázky | |||||||||||||||||||||||
Obrázky |