1. Architektura počítače

  • CPU
    • 32bit,64bit
    • Intel, AMD
    • socket 775,1366,1156,1155,2011, 939,AM2,AM2+,AM3
    • 1.5GHz-3.6GHz
  • RAM
    • DDR2,3
    • 800MHz-2000MHz
  • GK
    • Nvidia, AMD(ATI)
    • GTX 580,570,560
    • Radeon HD 6970,6950,6870,6850
    • 600MHz-1000MHz
  • Von Neumannova koncepce univerzálního počítače.
    • binární soustava
    • vstupní/výstupní periferie
    • operační pamět
    • aritmeticko-logická jednotka
    • univerzálnost
  • IDE
    • paraller ATA(Advanced technology attachement)
    • 133MB/s
    • 40pin
  • SATA
    • Serial ATA
    • 7pin
  • SCSI
    • servery
  • vstupní periferní zařízení
    • myš
    • klávesnice
    • scanner
    • joystick
    • mikrofon
  • výstupní periferní zařízení
    • monitor
    • tiskárna
    • reproduktory

2. Zobrazení informace v počítači

  • informace = data co davají prijemci smysl
  • data - posloupnost znaků
  • jednotky informace
    • bit - 1 nebo 0, základní jednotka v počítačích
    • byte - 8 bitů, např. jedno písmeno v rozšířené ASCII tabulce (ale ne třeba písmena s háčky)
  • číselné soustavy
    • poziční - desítková, dvojková, hexadecimální - na nté pozici je základní číslo na ntou krát hodnota na té pozici
    • nepoziční - římská čísla (nezáleží na pozici čísel)
  • převod mezi soustavami - dvojková → desítková 1110 = 1*2^3 + 1*2^2 + 1*2^1 + 0*2^0 = 14
  • zobrazení desetinných čísel - desetinná část čísla se zobrazuje po zlomcích - v desítkové soustavě je 0.45 jako 4*10^-1 + 5*10^-2, u jiných soustav se pouze mění základ
  • sčítání/násobení/mocnění v jiných soustavách - nejjednodušeji písemně pod sebou jako na základce
  • ASCII tabulka - 7 bitů, tedy celkem 128 různých znaků, 95 grafických a 33 pro práci s textem (základní/rozšířená)
  • plovoucí desetinná čárka - není pevně daný počet desetinných míst, jsou vyhrazeny určité bity pro umístění čárky

3. Záznam dat

  • Základní jednotkou ukládané informace je jeden bit (binary digit), jedna dvojková číslice. Tato číslice může nabývat dvou hodnot, které nazýváme „logická nula“ a „logická jednička“. Logická hodnota bitu může být reprezentována různými fyzikálními veličinami:
  • Podle materiálu a fyzikálních principů:
  • magnetické – založené na magnetických vlastnostech materiálu, informaci uchovává směr magnetizace.
  • optické – využívá optických vlastností materiálu, např. odraz světla.
  • polovodičové – využívá vlastností polovodičových tranzistorů, buď se realizují klopnými obvody (technologie TTL), nebo obnovováním elektrického náboje (CMOS)
  • magnetooptické – pomocí světla (laser) se mění magnetické vlastnosti materiálu
  • feritové – jako nosič jednoho bitu je používáno feritové jádro o rozměru cca 0,8 mm, magnetická orientace se překlápí proudovým impulsem (zastaralé)
  • CD
    • „Kompaktní disk“
    • Každá stopa může obsahovat digitální zvukovou nahrávku (tzv. audio CD) nebo (počítačem čitelná) data (CD-ROM). Příčný odstup stop je 1,6 μm. Pro čtení kompaktních disků se používá laserové světlo s vlnovou délkou *785 nm.
    • Kapacita 650-750 MB
  • DVD
    • Digital Versatile Disc nebo Digital Video Disc
    • Při vývoji DVD byl kladen důraz na zpětnou kompatibilitu s CD, takže se mu DVD disk velmi podobá.
    • Pro čtení dat se používá laserové světlo s vlnovou délkou 660 nm, tedy kratší než v případě CD; to je jeden z důvodů jejich vyšší kapacity. Stejně tak příčný odstup stop je menší - 0,74 μm oproti 1,6 μm u CD.
    • Kapacita 4,7 GB / vrstva
  • Blu-ray
    • Název disku pochází z anglického Blue ray, tj. modrý paprsek, označení související s barvou světla používaného ke čtení
    • Pro čtení disků Blu-ray se používá laserové světlo s vlnovou délkou 405 nm
    • BD-R / BD-RE
  • ROM - read only memory
  • R - recordable
  • RW/RE - rewriteable
  • DL - double layer
  • Network-attached storage
    • NAS neboli „datové úložiště na síti“ je datové úložiště připojené k místní síti. NAS úložištěm může být server nebo dedikované zařízení, které obsahuje jeden nebo více disků. Výhodou NAS úložiště je jednoduchost *konfigurace a šíření dat v síti, kdy není potřeba nastavovat sdílení disků a přístupová práva, jako je tomu při použití běžného PC, jakožto prostředku pro síťovou práci s daty.

4. Vývoj výpočetní techniky

  • Mechanických kalkulátor
    • Abakus
    • Wilhelm Schickard - 1623
      • ozubená kolečka
      • umí +-
    • Pascal
      • Pascaline, umí +-
    • Gottfried Wilhelm Leibniz
      • 1671
    • Charles Xavier Thomas
      • první sériově vyráběný
  • relé, elektronky, tranzistory
  • MARK I
    • 1939 - 1944
    • IBM
  • SAPO
    • 1. ČR
    • 1957
  • ENIAC
    • elektornkový
    • 1944-6
    • smyčky i podmíněné skoky
    • 5000 součtů za sekundu, energeticky velmi náročný, poruchový, provoz - drahý
  • Von Neumannova koncepce univerzálního počítače.
    • binární soustava
    • vstupní/výstupní periferie
    • operační pamět
    • aritmeticko-logická jednotka
    • univerzálnost
  • Intel, AMD, Nvidia, Kingston, A-Data, Samsung, corsair
  • směr vývoje - ++výkon, –velikost
  • Mooreův zákon
    • 2* složitější součástky každý rok

5. Počítačová grafika

  • Počítačová grafika je z technického hlediska obor informatiky, který používá počítače k tvorbě umělých grafických objektů a dále také na úpravu zobrazitelných a prostorových informací, nasnímaných z reálného světa (například digitální fotografie a jejich úprava, filmové triky). Z hlediska umění jde o samostatnou kategorii grafiky.
  • V bitmapové grafice je celý obrázek popsán pomocí jednotlivých barevných bodů (pixelů). Body jsou uspořádány do mřížky. Každý bod má určen svou přesnou polohu a barvu (např. RGB). Tento způsob popisu obrázků používá např. televize nebo digitální fotoaparát. Kvalitu záznamu obrázku ovlivňuje především rozlišení a barevná hloubka. ( .PNG .JPEG .BMP ….)
  • Vektorová grafika je jeden ze dvou základních způsobů reprezentace obrazových informací v počítačové grafice. Zatímco v rastrové grafice je celý obrázek popsán pomocí hodnot jednotlivých barevných bodů (pixelů) uspořádaných do pravoúhlé mřížky, vektorový obrázek je složen ze základních geometrických útvarů jako jsou body, přímky, křivky, mnohoúhelníky a text. ( .PDF .SVG )
  • Scanner
    • Předloha se pokládá na sklo, pod nímž projíždí strojově ovládané snímací rameno, to osvěcuje předlohu a odražené světlo je snímané CCD čipem. Průhledné předlohy se nasvěcují shora.
  • Důležité parametry digitálních fotoaparátů: rozlišenní, velikost CCD čipu, ohisková vzdálenost, světelnost objektivu
  • JPEG - ztrátová komprese
  • BMP - primitivní
  • GIF - bezztrátová komprese, pouze 256 barev, vhodný pro jednoduché animace
  • PNG - bezztrátová komprese, nástupce GIFu, použivaný na webu, alfa kanál

6. Tiskárny

  • grafické výstupní zařízení
  • Jehličkové
    • propisují jehličkou malé body na papír přes pásku
    • nekonečný papír, výplatní pásky, pokladny
  • tepelné
    • nepotřebuje inkoust, tichá
    • pokladny
  • inkoustové
    • termické - zahřátí inkoustu → vzduchová bublina →vymrští inkoust na papír
    • piezoelektrické - el. proud → krystal změní tvar → vymrštění inkoustu
    • voskové - podobné jako termické, nejdříve roztavení vosku, lepší barvy
  • laserové
    • nabitý selenový válec - osvícení laserem na místech kde se má tisknout→vybití válce, toner se uchytí pouze na vybitých místech→nanesení na papír →zatavení teplotou
    • poruchovost válce
  • dpi
  • ppm
  • cost per page
  • CMYK - zastinování světla
  • RGB - míchání světla

7. Disk, soubor, složka

  • Souborový systém je v informatice označení pro způsob organizace dat ve formě souborů a adresářů tak, aby k nim bylo možné snadno přistupovat. Souborové systémy jsou uloženy na vhodném typu elektronické paměti, která je umístěna přímo v počítači.
  • V dobách DOSu byly bežná jména o 8.3 znacích, dnes bez omezení, většina přípon se drží 3 znaků
  • logický vs fyzický disk
  • RAID
  • Atributy:
    • h - hidden = skrytý
    • s - systemový
    • r - read-only = pouze pro čtení
    • a - archivable = určený pro archivaci
  • Zakázané znaky ve jménech ? : * < > / \ | % “ poslední tečka odděluje příponu

8. Základní kategorie software

  • adware - program obsahující reklamy
  • freeware - volně šířený program
  • shareware - zkušební verze placeného programu(trial, cripleware, adware)
  • open source - freeware s možností editace zdrojáku
  • malware - jakýkoliv škodlivý program, často mění homepage
  • spyware - odesílá informace o počítači/uživateli
  • Trojský kůň - virus, jenom nástroj pro např vzdálený přístup
  • firmware - ovládací systém k danému HW produktu, OS pro dané zařízení
  • freeware(ICQ, winamp, free commander…), open source(Linux, Firefox), komerční software(Windows)
  • TYPY:
    • OS
    • graficke nastroje,hry,prehravace,kancelarske baliky,IM klineti, prohlizence…

9. Operační systém windows

  • OS - zakladní programové vybavcení PC
    • jádro + systémové nástroje
  • jednotlivé verze
    • 1.0…3.11, 95,98,ME - stále pouze nástavby dosu
    • 3.11 - podpora sítě
    • 2000,XP,Vista,7 - NewTechnology
  • zástupce - pouze odkaz na program, „adresa programu“, *.lnk
  • schránka - ctrl-c,v,x
  • jednotlivé verze
    • starter - OEM, netbooky, rozvojové země, nemá aero?
    • home basic - rozvojové země
    • home premium - …
    • professional, enterprise - firemní, multilicence, správa sítí…
    • ultimate - vše co mají předchozí

10. Počítačová síť

  • spojení počítačů
  • topologie
    • kruhová
    • hvězdicová
    • stromová
    • sběrnicová
  • TCP/IP
    • sada protokolů pro komunikaci v síti(internetu)
    • protokol - množina pravidel - syntaxe zpráv
    • IP - v4,v6
    • DNS - překladač url na IP
    • DHCP - v lokální síti přiděluje adresy jednotlivým klientům
    • HTTTP, FTP - protokoly
  • server
    • obsluhuje požadavky od připojených PC
    • přihlášení, data, programy, licence
  • printserver
    • připojení běžné nesíťové tiskárny přímo do sítě
  • mailserver
    • přijímá odesílá emaily
  • sdílení
    • HW - tiskárny
    • soubory - oprávnění…
  • typy sítí
    • PAN - BT,IrDA,virtuální
    • LAN - Ethernet, Wi-Fi
    • MAN - spojení více LAN
    • WAN - internet, (jiné velmi rozlehlé sítě)
  • práva na síti
    • čtení/zápis
  • vztahy na síti
    • klient-server
    • peer to peer

11. Manažer – diskový a souborový organizátor

  • Správce souborů je program pro manipulaci se soubory a adresáři (složkami). Někdy se používají termíny souborový manažer nebo file manager.
  • Správce souborů původně nahrazoval práci s příkazovou řádkou a příkazy operačního systému pro kopírování, přesun, mazání, spouštění souborů a pro správu disků, později se stal součástí GUI nebo i operačního systému samotného. Uživatel správce souborů používá intuitivního prostředí programu (systém nabídek, klávesové zkratky ad.), které práci výrazně zjednodušuje a urychluje.
  • Aktivní panel = zdrojový, druhý panel = cílový
  • Sloupce - jmeno,pripona,datum zmeny,atributy,velikost….

12. Textový editor

  • Textový procesor je (aplikace), který slouží k vytváření formátovaného textu. Na rozdíl od textových editorů, se kterými se často pletou, umožňují textové procesory měnit vzhled obsahu dokumentu (fonty, velikost písma, nadpisy…). Současné běžné textové procesory používají metodu WYSIWYG (what you see is what you get), takže uživatel na obrazovce vidí (téměř) přesně to, co se později bude tisknout na tiskárně.
  • záhlaví a zápatí se objeví na každé stránce dokumentu, vetšinou obsahuje informace o dokumentu nebo číslování stran
  • stavební prvky dokumentu: znak→slovo→věta→odstavec→oddíl→dokument
  • oddíly - soustava odstavců,samostatná část dokumentu, může mít vlastní styl, záhlaví&zápati, formatování
  • Do dokumentů lze vložit téměř cokoli (obrázky,tabulky,hyperlinky…)
  • MS Word, OOo Writer, KWord, Wordpad

13. Tabulkový procesor

  • program zpracovávající tabulku informací (je to vlastně matice). V jednotlivých buňkách mohou být uložena data či vzorce počítající s těmi daty. V tom případě se v tabulce zobrazují data vypočtená ze vzorců.
  • nejprve využíván zejména ve finančnictví, dnes - široké množství účelů (výpočty a zpracování dat)
  • typy grafů - koláčový, spojnicový, histogram
  • kontingenční tabulka
    • vzájemný vztah 2 statistických znaků(viz tabulka), 3. kritérium tvoří stránky
praváci leváci celkem
muži 43 9 52
ženy 44 4 48
celkem 87 13 100
  • filtr - viz praktická ukázka
  • souhrny - viz praktická ukázka

14. Databázový systém

  • prostředí umožňuje práci s databázemi
  • SQL je standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. SQL je zkratka anglických slov Structured Query Language (strukturovaný dotazovací jazyk).
  • tabulka – šablona pro každou databázi (např. jméno, příjmení, telefonní číslo)
    • sloupce - pole (definovane typek)
    • radky - zaznamy
  • dotaz- souhrn určitých dat, která dohromady vytvářejí určité kritérium
  • sestava - slouží k prezentaci dat, příprava k tisku, rozděleno na záhlaví, zápatí, tělo
  • typy polí - text, číslo, datum, měna, boolean, OLE objekt(dokumenty MS Office, obrázky, zvukové soubory…)
  • Výběrový dotaz je dotaz, který načítá data určená k zobrazení pomocí příkazu SELECT jazyka SQL.
  • Akční (aktualizační) dotaz je uložená procedura, která vkládá, upravuje nebo odstraňuje data pomocí příkazů INSERT, UPDATE nebo DELETE jazyka SQL.
  • Mazecí dotaz, který maže

15. Internet, e-mail, www stránky

  • internet - síť typu WAN, síť podsíťí
  • www - world wide web
  • email - elektronický dopis
  • diskuzní skupiny - fora, chaty
  • browser - prohlížeč (IE,FF,Chrome, Opera, Safari)
  • technické prostředky připojení - síťové kabely, routery switche
  • softwarove prostředky pro tvoření www - html,css
  • internetová adresa - jméno protokolu:/ /doména 2. řádu.doména 1. řádu/konkretní adresa.html
  • http: kalsické www stránky
  • https - šifrované (banky, login, email…)
  • ftp - protokol pro přenos souborů
  • druhy připojení
    • drát - optický kabel, adsl, vdsl, kabelové připojení(UPC), dial-up
    • bezdrát - wifi, 3G, GPRS…

16.HTML,CSS

  • HTML
    • HyperText Markup Language (značkovací jazyk pro hypertext)
    • Značkovací jazyk = jazyk, jehož zdrojový text obsahuje jak text tak pokyny pro zpracování (ve formě tagů)
    • Hypertext - nelineární struktura textu - obsahuje hypertextové odkazy, nejznáměji WWW
    • W3C World Wide Web Consortium - společnost zabývající se správou a udržováním standartu jednotlivých prvků pro WWW
    • základní struktura textu:
    • Základní tagy:
      • Párové:
        • <html> - tag html označuje text, který má být formátován podle tagů, vše ostatní bude absolutně bez formátu při prohlížení v prohlížeči
        • <head> - head tag obsahuje všechno co přímo neutváří text, obsahuje hlavičku, informace o stránce a případně Javascript skripty či CSS styly
        • <title> - Záhlaví stránky (jméno okna)
        • <body> - samotný obsah stránky
        • <b> - tučný text
        • <i> - kurzíva
        • <u> - podtržení (zastaralé)
        • <font size=5 color=black> velikost a barva textu (zastaralé)
        • <p> - odstavce
        • <a href=adresa> - odkaz
        • <table> - ohraničuje tabulku
        • ##tagy se ukončují bez parametrů (napr </a>)
      • Nepárové:
        • <img src=adresa> - vloží obrázek
        • <br> nová řádka
        • &nbsp; nón-breaking spáče = mezera (normálně html maže všechny mezery mimo první
  • XHTML
    • jazyk podobný HTML vytvořen W3C pro XML standart
    • prisnesji pravidla pro pokynovou stránku HTML (napr. nepárové tagy musí „být uzavřeny“, takže <br> je nahrazen </ br> (stále nepárový, ale již uzavřeny tag))
  • CSS
    • Cascading Style Sheets
    • nahrazuje nutnost opakování jednotlivých tagu pro formátování textu v různých částech stránky (styl v <head> tagu) nebo dokonce v jednotlivých stránkách (styl v samostatném souboru)
    • přiřazuje se k jednotlivým tagům (zapisuje se přímo do tagu) nebo k celé skupině tágu (pomoci class) nebo ke všem prvkům od jednoho tagu (napr pro vše v tagách <a>)
    • příklad:
      • <style type=„text/css“>
      • body { color: white; background: #403030; }
      • h1 { font-size: 150%; }
      • p { font-size: 100%; }
      • a { font-size:100%; }
      • :link { color: rgb(215, 203, 0); }
      • :visited { color: rgb(215, 203, 153); }
      • a:active { color: rgb(0, 200, 20); }
      • a:hover { color: rgb(250, 20, 20); }
      • .abc { color:rgb(0,0,255); }
      • </style>

17. Struktura programu

  • program - soubor instrukcí pro počítač
  • deklarace - určuje hlavně identifikátor (jméno), typ elementu v programování (např proměnná, funkce, objekt), případně u proměnných počáteční hodnotu
  • editor - prostředí, ve kterém můžeme editovat zdrojový kód
  • kompilátor - překládá zdrojový kód do jiného prograovacího jazyka (nižší úrovně) z důvodu spustitelnosti
  • interpreter - spouští kód přímo nebo ho převede na spustitelnou formu a spustí ho
  • zdrojový kód
  • přenositelnost programu - funguje i na jiných platformách, než na kterých byl napsán, např. Python, Java
  • chyby při programování
    • syntaktické (př. zapomenutý středník, odhalí ho kompilátor/interpretr)
    • sémantické (logické/matematické, neodhalí je kompilátor)

18. Přiřazovací příkaz, podmíněný příkaz, přepínač

  • přiřazovací příkaz
    • př. promenna=5
    • k proměnné s identifikátorem na levé straně přiřadí hodnotu pravé strany
  • podmíněný příkaz
    • if
    • vyhodnotí pravdivost a podle ní vykoná příkaz, v případě nepravdivosti může vykonat příkaz za elsem
  • přepínač
    • v Pythonu buď série if/elif nebo pomocí slovníků (přiřazení příkazu k určité hodnotě)
  • aritmetické operátory
    • plus,minus, krát, děleno, celočíselné děleni, modulo, mocnění
  • relační operátory
    • ==, !=, , <, >, ⇐, >=
  • logické operátory
    • not, and, or
    • xor existuje v Pythonu pouze na bitové úrovni ( 1435^4634==6017 )

19. Příkaz cyklu

  • cyklus - část zdrojového kódu která se opakuje, dokud neni splněná nějaký podmínka
  • for (předem zadaný rozsah není možné zadaný rozsah měnit při průběhu)
  • while (probíhá dokud platí nějaká podmínka, jsou možné nekonečné cykly)
  • repeat (v některých programovacích jazycích, podobný jako while, podmínka se vyhodnocuje až na konci cyklu)
  • chyby - špatně zadaný rozsah(v pythonu - cyklus se stanoveným rangem do n běží pouze do n-1)
  • for i in range(int(input(„Zadejte počátek “)),0,-1):
    • if i%3==0: print(i)
  • print([i for i in range(int(input(„Zadejte horni hranici: “)),0,-1) if i%3==0])
  • continue - přeskočí vše za tímto příkazem a pokračuje znovu, break - konec cyklu, splnění podmínek(počtu průchodů)

20. Rozdělení programu do metod (procedura, funkce)

  • funkce
    • vrací nějakou hodnotu, ukončena return-em
  • procedura
    • nevrací hodnotu, mohou upravit nějakou globální proměnnou nebo provést nějaký výstup
  • metoda
    • funkce/procedura patřící pod určitý objekt, v Pythonu musí mít jako první argument svůj objekt jako self
  • deklarace def funkce(argumenty):
  • vyvolání funkce(argumenty
  • argumenty
    • formální - povinné, u jiných jazyků například druh vrácené proměnné (void, int), u Pythonu například výše zmíněný self, potřebné pro správnou funkci programu
    • skutečné - argumenty, které opravdu potřebujeme znát pro samotnou funkci funkce
  • argument
    • volaný hodnotou - buď se mu zadá přímo hodnota nebo proměnná, ze které si vezmeme hodnotu, s proměnnou už dále nepracujeme
    • volaný odkazem na proměnnou, pokud se s tímto argumentem dál pracuje, tak se mění hodnota globálně
  • lokální proměnná
    • existuje pouze v rámci určité funkce
  • f = lambda x: x and x * f(x - 1) or 1
    • maximálne do f(993) pak Python utne rekurzi :'(

21. Datové typy – číselné, znak, logický

  • Jednoduché datové typy
    • Nemají vnitřní strukturu. Složitější typy jsou ve skutečnosti složeny z těchto základních.
    • logická hodnota (boolean) – true nebo false (také 1 nebo 0)
    • celé číslo (integer) – např. 256, 1, 0, -65535, 0xA9 (tzv. hexadecimální zápis), …
    • znak (char) – např. 'a', 'A', 'g', ' ', '5', '%', …
    • reálné číslo, číslo s plovoucí řádovou čárkou (float, real) – 3.14, 0.5 (podle anglosaské konvence zapsané s desetinnou tečkou)
  • Strukturovaný datový typ
    • Datový typ obsahuje jeden nebo více prvků. Říkáme, že je homogenní, jsou-li prvky stejného typu.
    • pole (array) – [21, -5, 11], množina, může být vícerozměrné (např. dvourozměrné označujeme jako matici),
    • textový řetězec (string) – „Ahoj“, “ “, „loopback 127.0.0.1“,
    • výčtový typ (enum) – programátorem definovaný typ, např. pro barvu karet:
    • datum
  • ordinální typy - lze určit předchůdce a následnující prvek
    • celá čísla, znaky, boolean
  • jakékoliv změny proměnných, provedené uvnitř funkce jsou platné pouze uvnitř toho cyklu, pokud není tato proměná definovaná jako globální
  • zkoušet převod na chtěný typ pomocí try:except:, možná to jde i jinak

22. Pole

  • datová struktura obsahující několik prvků, ve většině jazycích musí být prvky stejného druhu (v Pythonu ne)
  • deklarace jmeno_pole=[prvek1,prvek2,prvek3]
  • prvky v poli jsou indexovány od nuly !!!
  • string - pole znaků
  • vícerozměrné pole - pole polí - definuje se jmeno_pole=[ [1,2,3],[3,5,8],[4,3,1] ]
    • 2-rozměrné pole - matice
  • matice
    • 1 x n - řádková
    • n x 1 - sloupcová
    • n x n - čtvercová
    • pod hlavní diagonálou má nuly - trojúhelníková
    • na hlavní diagonále 1, jinak nuly - jednotková
    • operace s maticemi
      • sčítání, násobení, inverze, …
  • práce s prvky pole
    • přidání prvku do pole - jmeno_pole.append(prvek)
    • vybrání n-tého prvku pole - jmeno_pole[n]
    • vybírání n-tého prvku pole od konce - jmeno_pole[-1]
    • vybrání n-tého až m-tého prvku - jmeno_pole[n:m+1]
    • vložení prvku na n-té místo - jmeno_pole.insert[n,prvek]
    • mazání n-tého prvku - del jmeno_pole[n
 x=int(input("Velikost matice= "))
 a=[[int(input("Cislo na pozici"+str(i)+";"+str(j)+": ")) for j in range(1,x+1)]for i in range(1,x+1)]

23. Datový typ - řetězec

  • s=„řetězec“
  • v pythonu se jedná o strukturovaný datový typ, chová se podobně jako pole
  • stringy můžeme sčítat,násobit integerem,
  • lze přistupovat k jednotlivým znakům pomocí indexu s[2]=„t“ ,s[:2]=„ře“, s[::-1]=„cezěteř“
    • nelze je ale přepisovat jako jsme zvyklí z pole
  • s.capitalize()-převede první písmeno na uppercase
  • s.lower()/upper()-změní všechny písmena na lowercase/uppercase
  • s.split()-vrati pole stringu, rozdelene podle parametru, defaultne podle mezery
  • len(s)-délka řetezce
  • pro více metod stringu klikni zde
  • veta=input(„Veta: “);print(len(veta.split()))

24.Soubory - načítání a zápis dat během programu

  • binární soubor
    • data v bitech, složených v bajtech, nejsou ke čtení jako textový soubor
    • čtení a editace v hexeditoru
  • otevření souboru - open(cesta,mod)
    • po otevření se vytvoří objekt souboru, který se dá číst metodami read(), readline()
    • ukládáme metodou soubor.write(text), podle modu otevreni prepiseme stavajici nebo pridame na konec souboru
    • cesta muze byt jak absolutni tak relativni
    • \ v cestě nahrazujeme buď znakem pro backslash („\\“) nebo normálním lomítkem (“/“)
    • mody otevreni
      • 'r' - cteni
      • 'w' - zapis
      • 'a' - pridavani na konec souboru
      • cokoliv + 'b' - bitový soubor
 def prace_se_souborem(cesta):
   a=open(cesta,'r')
   print(a.read())
   a.close()
   a=open(cesta,'a')
   a.write('\n'+input("Text ke pridani na konec souboru: "))
   a.close()

25. Grafika v Pythonu

  • pixely se zanáší do soustavy souřadné, většinou má počátek v levém horním/dolním rohu
  • v pythonu používáme tk.canvas, popřípadě kreslící knihovny PIL nebo LiveWires
    • většina výše zmíněných umí kreslit body,čáry,elipsy,rovnoběžníky,oblouky a polygony
  • pero má na rozdíl od štětce ostrý okraj viz MS paint
  • font je definován jako kompletní sada znaků abecedy jednotného stylu
  • úsečka se definuje pomocí souřadnic krajních bodů,… ostatní křivky se mohou lišit podle knihovny
  • u některých knihoven, např. livewires, se používá metoda aktivního bodu. Začíná se v 0,0 a pomocí příkazů se pohybuje po soustavě a zanechvává/nezanechává stopu.
  • Bézierova křivka - parametrická křivka, použivá se často u .SVG nebo definic fontů, umožňuje interaktivní vytváření a modifikaci jejího tvaru
    • Kubická Bézierova křivka - Kubická Bézierova křivka

26. Algoritmus a programovací jazyk

  • Algoritmus
    • série instrukcí plnících nějakou funkci (výpočty, zpracování dat, …)
    • algoritmus by měl být
      • Konečnost
        • skončí v konečném počtu kroků - není nekonečný
      • Obecnost
        • neřeší jeden konkrétní problém, ale má obencý vstup
      • Determinovanost
        • každý krok musí být jednoznačný, pro stejné vstupy dostaneme vždy stejné výstupy
      • Resultativnost
        • alespoň jeden výstup v požadovaném vztahu ke vstupu
      • Elementárnost
        • algoritmus se skládá z konečného počtu jednoduchých (elementárních) kroků.
    • Časová složitost
      • složitost algoritmu roste s velikostí vstupu
      • čím pomaleji složitost roste, tím efektivnější je algoritmus
  • Programovací jazyky
    • Rozdělení programovacích jazyků
      • Vyšší programovací jazyky
        • procedurální (C)
          • strukturované (Pascal)
          • objektově orientované (Python,C++)
        • neprocedurální/deklarativní (SQL)
          • funkcionální
          • logické
      • Nižší programovací jazyky
        • Jazyk symbolických adres (assembly language)
    • Vyšší programovací jazyk
      • blíží se svojí strukturou více k logickému myšlení člověka než k práci počítače
      • jednodušší psaní programů
      • nižší pravděpodobnost syntaktické chyby
      • nutnost kompilace ⇒ pomalejší
    • Kompilované jazyky
      • překládají se nejdříve kompilátorem do strojového kódu
      • rychlejší, ale také náročnější na správné zadání kódu
      • Pascal, C
    • Interpretované
      • buď se přímo interpretují (příkazová řádka, unix shell, BASIC)
      • nebo překládají do mezikód (Python)
      • vytvoří předkompilovaný mezikód, který je následně interpretován (JAVA (s použítím JIT je mezikód dále zkompilován do strojového kódu → rychlejší funkce, ale pomalejší spuštění))

27. Algoritmy vyhledávání a třídění

  • zadání problému - máme množinu objektů [S1,S2,S3…Sn], chceme ji seřadit na [S1',S2',S3'…Sn-1',Sn'] podle určitého kritéria, například S1'>=S2'>=S3'…Sn-1'>=Sn'
  • základní algoritmy
    • bubble sort
      • nejjednodušší, ale asi nejméně efektivní
      • procházíme pole a kontrolujeme dvojice jestli jsou řazeny správně, pokud ne, tak je prohodíme
      • maximální počet průchodů je velikost pole
    • quick sort
      • jeden z nejefektivnějších
      • vyberu prvek (pivot), který rozdělí pole na dvě části a seřadím pole tak, že všechny prvky menší jsou na jedné straně a větší na druhé straně, rekurzí pak řadím jednotlivé části
      • nevýhoda - vyšší nárok na paměť
 def bsort(pole):
   for i in range(len(pole)):
	   zmena=0
	   for j in range(len(pole)-1):
		   if pole[j]>pole[j+1]:
			   pole.insert(j+2,pole[j])
			   del pole[j]
			   zmena=1
	   if zmena==0:
		   break

28. Numerické metody řešení rovnic f(x) = 0

  • u rovnic kde je algebraické řešení obtížné nebo nemožné
  • iterace = opakovaní, u rovnic typu x=f(x), zvolíme hodnotu x vypočteme y=f(x) a pokračujeme z=f(y), dokud se hodnota proměné mění na určené přesnosti
  • Metoda půlení intervalu:
    • pomalá, jisté nalezení kořene
  • Metoda tětiv aka Regula falsi
    • může rychleji konvergovat než metoda půlení
  • Metoda tečen
    • začíná na zvolené hodnotě → nemusí konvergovat vůbec
    • závislá na derivaci, numerická derivace se určuje z definice pomocí limity pro Δx blízké nule
  • Metoda puleni intervalu (kód) - přesnost na cca p desetinných míst
  f=lambda x: math.sin(x)
  
  def puleni(f,a,b,p):
while abs(a-b)>(0.1**p):
	c=(a+b)/2
	if f(a)*f(c)<0:b=c
	else:a=c
return c

29. Numerické metody řešení soustavy lineárních algebraických rovnic

  • eliminiční metody
    • na bázi Gaussovy eliminace - na požádání vysvětlím Gaussovu eliminaci, sem línej to sem psát
  • iterační metody
    • pouze přibližné řešení, u matic s velkým počtem nulových koeficientů rychlejší
    • vyjádření x,y,z, součet absolutních hodnot koeficientů proměných na pravé straně musí být menší než 1, dosazení x,y,z→další x,y,z které opět dosazujeme
  • další metody řešení
    • determinanty(vyšší řády - subdeterminanty)
    • inverzní matice (rozšířenou matici soustavy upravujeme tak, aby vznikla jednotková matice, stejné úpravy děláme na jednotkové matici→vznikne inverzní matice, po vynásobení inverzní matice maticí pravých stran vznikne matice výsledků)
  • podmínky pro řešení - hodnost matice = počet řádků matice
  • neobsahuje závislé ani nulové řádky
  • pokud obsahuje závislé řádky a stejným způsobem jsou závislé i pravé strany→nekonečně mnoho řešení
  • závislé řádky a pravé strany nejsou závislé→žádné řešení
 
inf/maturita/otazky.txt · Poslední úprava: 2011-05-09 15:54:31 autor: goro
 
Kromě míst, kde je explicitně uvedeno jinak, je obsah této wiki licencován pod následující licencí:GNU Free Documentation License 1.3
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki